[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [qemu-upstream-unstable bisection] complete test-amd64-i386-qemuu-rhel6hvm-intel
branch xen-unstable xen branch xen-unstable job test-amd64-i386-qemuu-rhel6hvm-intel test redhat-install Tree: linux git://xenbits.xen.org/linux-pvops.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Bug introduced: b97307ecaad98360f41ea36cd9674ef810c4f8cf Bug not present: 4597594c61add43725bd207bb498268a058f9cfb commit b97307ecaad98360f41ea36cd9674ef810c4f8cf Author: Matthew Daley <mattjd@xxxxxxxxx> Date: Thu Oct 10 14:10:48 2013 +0000 xen_disk: mark ioreq as mapped before unmapping in error case Commit 4472beae modified the semantics of ioreq_{un,}map so that they are idempotent if called when they're not needed (ie., twice in a row). However, it neglected to handle the case where batch mapping is not being used (the default), and one of the grants fails to map. In this case, ioreq_unmap will be called to unwind and unmap any mappings already performed, but ioreq_unmap simply returns due to the aforementioned change (the ioreq has not already been marked as mapped). The frontend user can therefore force xen_disk to leak grant mappings, a per-domain limited resource. Fix by marking the ioreq as mapped before calling ioreq_unmap in this situation. Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit d84e4524e30413b2a1d724754e76a7d2480466f3 Merge: e381cca... 62ecc3a... Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 10 11:02:48 2013 +0000 Merge remote branch 'origin/stable-1.6' into xen-staging-master-9 Conflicts: xen-all.c commit 62ecc3a0e3c77a4944c92a02dd7fae2ab1f2290d Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 4 10:21:43 2013 -0500 Update VERSION for 1.6.1 release Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit fdcbe7d587a64dec0db0d3c9a3b230c39efbfeef Author: Asias He <asias@xxxxxxxxxx> Date: Fri Sep 13 14:56:55 2013 +0800 scsi: Allocate SCSITargetReq r->buf dynamically BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1007330 Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=6282465 This is the backport of the following commit. The patch is not sent public since it is a embargoed bug. r->buf is hardcoded to 2056 which is (256 + 1) * 8, allowing 256 luns at most. If more than 256 luns are specified by user, we have buffer overflow in scsi_target_emulate_report_luns. To fix, we allocate the buffer dynamically. Signed-off-by: Asias He <asias@xxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> *s/&r->buf/r->buf/ due to type change Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit e381ccab5afe6b5e808aa550d8bd22b1d0757fde Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Sep 25 16:43:12 2013 +0000 xen: Enable cpu-hotplug on xenfv machine. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> (cherry picked from commit 594278d9f251222675f1c24f5fbb1b05560b8711) commit c1f3f10d8d3e6498b8c55b1e0908e4a1b7adae12 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Sep 25 16:41:48 2013 +0000 xen: Fix vcpu initialization. Each vcpu need a evtchn binded in qemu, even those that are offline at QEMU initialisation. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> (cherry picked from commit 1cd25a889687ab199944b98c1bdc59216ea81487) commit b40187fc0ce1c0ffad51cd0f149a4e5bed332653 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:53 2013 +0000 pc_q35: Initialize Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511) commit 7c2ab9e2ef5a00395fa770ed61084f47001bb35f Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:52 2013 +0000 pc: Initializing ram_memory under Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx (cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d) commit 2c7d76d1a7e15b4c0de1a5c2852d6615aa336c52 Merge: dfe0055... 1ee2dae... Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:17:01 2013 +0100 Merge tag 'v1.6.0' into merging-1.6 commit dfe0055e38e3e328f19d4d67f0f4ae049436d3c8 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:31 2013 +0100 Revert "Fix semaphores fallback code" This reverts commit 0a7ad69a0f012d5d70142f775f99405500d4d38e. commit aad0677c3aae5ab84852210ff48361924bd7aa2d Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:30 2013 +0100 Revert "cpu: Introduce get_arch_id() method and override it for X86CPU" This reverts commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820. commit 88f78193a97df8512c6392777cfcd979f095d483 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:29 2013 +0100 Revert "cpu: Add qemu_for_each_cpu()" This reverts commit 0170b3ce88cb87346afa369a89ce9b197389058b. commit 4e310e13c93c48a0f5fc8558d56830d58713202a Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:29 2013 +0100 Revert "xen: Fix vcpus initialisation." This reverts commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b. commit dc8500fb733093a46bbec0ac33ddea63d509c7a9 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:27 2013 +0100 Revert "qga: set umask 0077 when daemonizing (CVE-2013-2007)" This reverts commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3. commit 1b5f7709411a412ec8ce21004a47f51ab6c3f3ad Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx> Date: Wed Sep 25 16:40:23 2013 +0000 qemu: Add qemu xen logic for Xen HVM S3 resume This patch is qemu patch 2 to fix Xen HVM S3 bug, adding qemu xen logic. When qemu wakeup, qemu xen logic is notified and hypercall to xen hypervisor to unpause domain. Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> (cherry picked from commit 11addd0ab9371af2b6ec028c7fe4e4c4992252fc) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit bc05a488b49f903e404323b76ca9b675318393fc Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx> Date: Wed Sep 25 16:38:29 2013 +0000 qemu: Adjust qemu wakeup Currently Xen hvm s3 has a bug coming from the difference between qemu-traditioanl and qemu-xen. For qemu-traditional, the way to resume from hvm s3 is via 'xl trigger' command. However, for qemu-xen, the way to resume from hvm s3 inherited from standard qemu, i.e. via QMP, and it doesn't work under Xen. The root cause is, for qemu-xen, 'xl trigger' command didn't reset devices, while QMP didn't unpause hvm domain though they did qemu system reset. We have two qemu patches and one xl patch to fix Xen hvm s3 bug. This patch is the qemu patch 1. It adjusts qemu wakeup so that Xen s3 resume logic (which will be implemented at qemu patch 2) will be notified after qemu system reset. Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> (cherry picked from commit 4bc78a877252d772b983810a7d2c0be00e9be70e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Oct 1 15:13:33 2013 +0000 qga: set umask 0077 when daemonizing (CVE-2013-2007) The qemu guest agent creates a bunch of files with insecure permissions when started in daemon mode. For example: -rw-rw-rw- 1 root root /var/log/qemu-ga.log -rw-rw-rw- 1 root root /var/run/qga.state -rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log In addition, at least all files created with the "guest-file-open" QMP command, and all files created with shell output redirection (or otherwise) by utilities invoked by the fsfreeze hook script are affected. For now mask all file mode bits for "group" and "others" in become_daemon(). Temporarily, for compatibility reasons, stick with the 0666 file-mode in case of files newly created by the "guest-file-open" QMP call. Do so without changing the umask temporarily. upstream-commit-id: c689b4f1bac352dcfd6ecb9a1d45337de0f1de67 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 6dc71da698bfdc5297f8719e78eba26b1f15ff2c Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Tue Oct 1 14:50:32 2013 +0000 Add -f FMT / --format FMT arg to qemu-nbd Currently the qemu-nbd program will auto-detect the format of any disk it is given. This behaviour is known to be insecure. For example, if qemu-nbd initially exposes a 'raw' file to an unprivileged app, and that app runs 'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0' then the next time the app is started, the qemu-nbd will now detect it as a 'qcow2' file and expose /etc/shadow to the unprivileged app. The only way to avoid this is to explicitly tell qemu-nbd what disk format to use on the command line, completely disabling auto-detection. This patch adds a '-f' / '--format' arg for this purpose, mirroring what is already available via qemu-img and qemu commands. qemu-nbd --format raw -p 9000 evil.img will now always use raw, regardless of what format 'evil.img' looks like it contains upstream-commit-id: e6b636779b51c97e67694be740ee972c52460c59 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> [Use errx, not err. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit ba20326a937421c50a775907dc9ac726bb9a9b50 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Sep 11 16:42:35 2013 +0200 coroutine: add ./configure --disable-coroutine-pool The 'gthread' coroutine backend was written before the freelist (aka pool) existed in qemu-coroutine.c. This means that every thread is expected to exit when its coroutine terminates. It is not possible to reuse threads from a pool. This patch automatically disables the pool when 'gthread' is used. This allows the 'gthread' backend to work again (for example, tests/test-coroutine completes successfully instead of hanging). I considered implementing thread reuse but I don't want quirks like CPU affinity differences due to coroutine threads being recycled. The 'gthread' backend is a reference backend and it's therefore okay to skip the pool optimization. Note this patch also makes it easy to toggle the pool for benchmarking purposes: ./configure --with-coroutine-backend=ucontext \ --disable-coroutine-pool Reported-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> (cherry picked from commit 70c60c089fdc6bf8a79324e492c13e8c08d55942) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit ae00a27feab0ca12d2a802cfae9ee65ba3d43602 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Sep 11 13:33:31 2013 +0300 piix4: disable io on reset io base register at 0x40 is cleared on reset, but io is not disabled until some other event happens to call pm_io_space_update. Invoke pm_io_space_update directly to make this consistent. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit c046e8c4a26c902ca1b4f5bdf668a2da6bc75f54) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 61fbeb6e81f648d25c2d3ba5f0d663d54abed1c1 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Mon Sep 23 17:18:29 2013 +0800 vmdk: fix cluster size check for flat extents We use the extent size as cluster size for flat extents (where no L1/L2 table is allocated so it's safe) reuse sector calculating code with sparse extents. Don't pass in the cluster size for adding flat extent, just set it to sectors later, then the cluster size checking will not fail. The cluster_sectors is changed to int64_t to allow big flat extent. Without this, flat extent opening is broken: # qemu-img create -f vmdk -o subformat=monolithicFlat /tmp/a.vmdk 100G Formatting '/tmp/a.vmdk', fmt=vmdk size=107374182400 compat6=off subformat='monolithicFlat' zeroed_grain=off # qemu-img info /tmp/a.vmdk image: /tmp/a.vmdk file format: raw virtual size: 0 (0 bytes) disk size: 4.0K Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> (cherry picked from commit 301c7d38a0c359b91526391d13617386f3d9bb29) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit fc06b430942e84a2a69e2a80a6d5b376a8064020 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Sep 25 16:00:48 2013 +0200 rbd: avoid qemu_rbd_snap_list() memory leaks When there are no snapshots qemu_rbd_snap_list() returns 0 and the snapshot table pointer is NULL. Don't forget to free the snaps buffer we allocated for librbd rbd_snap_list(). When the function succeeds don't forget to free the snaps buffer after calling rbd_snap_list_end(). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> (cherry picked from commit 9e6337d0818650362149b734d53edf9489f3acaa) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6bbb9d8100c90deb4843bfa3cf36e75b843c495b Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Sat Aug 3 22:20:41 2013 -0400 tap: Use numbered tap/tun devices on all *BSD OS's The following patch simplifies the *BSD tap/tun code and makes use of numbered tap/tun interfaces on all *BSD OS's. NetBSD has a patch in their pkgsrc tree to make use of this feature and DragonFly also supports this as well. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit aa4f082f7526d39dac8e2ca64d192d858014ee10) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b314120afdbab3d29885f47fc83bc55f43765968 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Sep 14 13:11:36 2013 +0400 iov: avoid "orig_len may be used unitialized" warning Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit 2be178a475289286db80de5ddd7830e67e112bdd) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit dc6fbaa8322ca53f46d9a6cc7e2f82de5362ea83 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 28 11:38:44 2013 +0200 xhci: emulate intr endpoint intervals correctly Respect the interval for interrupt endpoints, so we don't finish transfers as fast as possible but at the rate configured by the guest. Fixes guest deadlocks triggered by interrupt storms. Cc: Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit 4d7a81c06f5f17e019a2d3a18300500bd64f6f40) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c8adc0db7e76e804692372a06ca02cc5a80b67d5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 20 17:31:55 2013 +0200 virtio-blk: do not relay a previous driver's WCE configuration to the current The following sequence happens: - the SeaBIOS virtio-blk driver does not support the WCE feature, which causes QEMU to disable writeback caching - the Linux virtio-blk driver resets the device, finds WCE is available but writeback caching is disabled; tells block layer to not send cache flush commands - the Linux virtio-blk driver sets the DRIVER_OK bit, which causes writeback caching to be re-enabled, but the Linux virtio-blk driver does not know of this side effect and cache flushes remain disabled The bug is at the third step. If the guest does know about CONFIG_WCE, QEMU should ignore the WCE feature's state. The guest will control the cache mode solely using configuration space. This change makes Linux do flushes correctly, but Linux will keep SeaBIOS's writethrough mode. Hence, whenever the guest is reset, the cache mode of the disk should be reset to whatever was specified in the "-drive" option. With this change, the Linux virtio-blk driver finds that writeback caching is enabled, and tells the block layer to send cache flush commands appropriately. Reported-by: Rusty Russell <rusty@xxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit ef5bc96268ceec64769617dc53b0ac3a20ff351c) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit aeab582580fa057dbe646fc3277570af6a8d5ce8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 19 18:48:53 2013 +0200 blockdev: do not default cache.no-flush to true That's why all my VMs were so fast lately. :) This changed in 1.6.0 by mistake in patch 29c4e2b (blockdev: Split up 'cache' option, 2013-07-18). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit 1df6fa4bc6754a170cf511a78e2e6fef84eb5228) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5c20c1ffe791ca29840fd9607ea034ea24ad7bdd Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Sep 12 20:17:50 2013 +0200 tci: Fix qemu-alpha on 32 bit hosts (wrong assertions) Debian busybox-static for alpha has a load address of 0x0000000120000000 which is mapped to 0x0000000020000000 for 32 bit hosts. qemu-alpha uses the TCG opcodes qemu_ld32, qemu_ld64, qemu_st32 and qemu_st64 which all raise the assertion (taddr == host_addr). Remove all assertions of this type because they are either wrong or unnecessary (when sizeof(tcg_target_ulong) >= sizeof(target_ulong)). Cc: qemu-stable <qemu-stable@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit 07ac4dc5db22a31e47b149abdbc5ea99013cf4de) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5d2de77798cacf1dadf6a4211972473e057cc6e5 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Sep 3 18:08:52 2013 +0200 kvmvapic: Clear also physical ROM address when entering INACTIVE state To avoid misinterpreting INACTIVE after migration as old qemu-kvm's STANDBY, also clear rom_state_paddr when going back to this state. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 4357930b8a7d2fcff2d8121ec518117428a781e7) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7ea8a3c12aa49efc8f503a019dd764f8a0add2cb Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Sep 3 18:08:51 2013 +0200 kvmvapic: Enter inactive state on hardware reset ROM layout may change after reset of devices are hotplugged, so we have to pick up the physical address again when the ROM is initialized. This is best achieved by resetting the state to INACTIVE. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit c056bc3f3464cfae1c94b7dd633d3ec13b13b655) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 50b31e80525d03ef406a8c9f55ff2ae1655a3b66 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Sep 3 18:08:50 2013 +0200 kvmvapic: Catch invalid ROM size If not caught early, a zero-length ROM will cause a NULL-pointer access later on in patch_hypercalls when allocating a zero-length ROM copy and trying to read from it. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 18e5eec4db96a00907eb588a2b803401637c7f67) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 4b5b4721464495fe76fe6e2e033cbb61dce78eef Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Aug 22 11:43:58 2013 +0200 chardev: fix pty_chr_timer pty_chr_timer first calls pty_chr_update_read_handler(), then clears timer_tag (because it is a one-shot timer). This is the wrong order though. pty_chr_update_read_handler might re-arm time timer, and the new timer_tag gets overwitten in that case. This leads to crashes when unplugging a pty chardev: pty_chr_close thinks no timer is running -> timer isn't canceled -> pty_chr_timer gets called with stale CharDevState -> BOOM. This patch fixes the ordering. Kill the pointless goto while being at it. https://bugzilla.redhat.com/show_bug.cgi?id=994414 Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit b0d768c35e08d2057b63e8e77e7a513c447199fa) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 76f698948781a148d336ff9032159f6c7c9eccd2 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Wed Aug 28 14:17:39 2013 +0200 pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN Now that the memory subsystem is propagating the endianness correctly, the pcnet-pci device should have its I/O ports and MMIO memory marked as LITTLE_ENDIAN, as PCI devices are little endian. This makes the pcnet-pci NIC to work again on big endian MIPS Malta (default NIC). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit a26405b350c0d31d5ef53f3b459aeb6eaaf50db0) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 8b4b3a71fd35d67c5c30652a120c0a59dfab7182 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Sat Aug 31 18:36:17 2013 -0400 qapi-types.py: Fix enum struct sizes on i686 Unlike other list types, enum wasn't adding any padding, which caused a mismatch between the generated struct size and GenericList struct size. More details in a678e26cbe89f7a27cbce794c2c2784571ee9d21 This crashed qemu if calling qmp query-tpm-types for example, which upsets libvirt capabilities probing. Reproducer on i686: (sleep 5; printf '{"execute":"qmp_capabilities"}\n{"execute":"query-tpm-types"}\n') | ./i386-softmmu/qemu-system-i386 -S -nodefaults -nographic -M none -qmp stdio https://bugs.launchpad.net/qemu/+bug/1219207 Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> (cherry picked from commit 02dc4bf5684d3fb46786fab2ecff98214b1df9fe) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 41900b0857df9bd33e465a6c72d7a3072dc448f4 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:53 2013 +0000 pc_q35: Initialize Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 755ec4ca0f92188458ad7ca549a75161cbdcf6ff Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:52 2013 +0000 pc: Initializing ram_memory under Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx (cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit dc0973b5883df7d822b285119691ade8c84dda9c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Sep 5 21:57:19 2013 +0200 qxl: fix local renderer The local spice renderer assumes the primary surface is located at the start of the "ram" bar. This used to be a requirement in qxl hardware revision 1. In revision 2+ this is relaxed. Nevertheless guest drivers continued to use the traditional location, for historical and backward compatibility reasons. The qxl kms driver doesn't though as it depends on qxl revision 4+ anyway. Result is that local rendering is hosed for recent linux guests, you'll get pixel garbage with non-spice ui (gtk, sdl, vnc) and when doing screendumps. Fix that by doing a proper mapping of the guest-specified memory location. https://bugzilla.redhat.com/show_bug.cgi?id=948717 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit c58c7b959b93b864a27fd6b3646ee1465ab8832b) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b6d163fdd8131285a01fe46e6afdba727e4df9ca Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Sep 9 10:18:17 2013 +0200 ehci: save device pointer in EHCIState We'll need a pointer to the actual pci/sysbus device, stick a pointer to it into the EHCIState struct. https://bugzilla.redhat.com/show_bug.cgi?id=1005495 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit adbecc89731cf3e0ae656d50ea9fa58c589c4bdc) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a1991d05d37ac9054d772b32d8fac70bc31be81a Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Sep 2 13:10:34 2013 +0200 ne2000: mark I/O as LITTLE_ENDIAN Now that the memory subsystem is propagating the endianness correctly, the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as PCI devices are little endian. This makes the ne2000 NIC to work again on PowerPC. Cc: qemu-stable@xxxxxxxxxx Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit 45d883dcf208160e2db308d1b368beb74f37dc7e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 1110014801d368388bca2ed7c28aa695560c4991 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Thu Aug 29 18:21:16 2013 +0800 exec: check offset_within_address_space for register subpage If offset_within_address_space falls in a page, then we register a subpage. So check offset_within_address_space rather than offset_within_region. Cc: qemu-stable@xxxxxxxxxx Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: "Andreas Färber" <afaerber@xxxxxxx> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 88266249701032211c1d7449460d063fbc01bf12) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 2a93d3dd32386c3522cfa2ee60c9e06a298d1f52 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Sep 2 18:43:31 2013 +0200 Revert "memory: Return -1 again on reads from unsigned regions" This reverts commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71. The commit was wrong: We only return -1 on invalid accesses, not on valid but unbacked ones. This broke various corner cases. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 68a7439a150d6b4da99082ab454b9328b151bc25) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7ab1044eb1ac2cbc7e65769edf44ced92b85b038 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Sep 2 18:43:30 2013 +0200 memory: Provide separate handling of unassigned io ports accesses Accesses to unassigned io ports shall return -1 on read and be ignored on write. Ensure these properties via dedicated ops, decoupling us from the memory core's handling of unassigned accesses. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit e8601a4e3102321d054ce3d641c03ebcd0519357 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Sep 1 22:59:25 2013 +0200 w32: Fix access to host devices (regression) QEMU failed to open host devices like \\.\PhysicalDrive0 (first hard disk) since some time (commit 8a79380b8ef1b02d2abd705dd026a18863b09020?). Those devices use hdev_open which did not use the latest API for options. This resulted in a fatal runtime error: Block protocol 'host_device' doesn't support the option 'filename' Duplicate code from raw_open to fix this. Cc: qemu-stable@xxxxxxxxxx Reported-by: David Brenner <david.brenner3@xxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit 68dc036488dfea170627a55e6ee3dfd7f2c2063e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 96b14d0db19b2b80ab3dc35d522671da82101e72 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Aug 27 15:25:24 2013 +0200 usb: parallelize usb3 streams usb3 bulk endpoints with streams are implicitly pipelined now, so the requests will actually be processed in parallel. Also allow them to complete out-of-order. Fixes stalls in the uas driver. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit c96c41ed0d38d68a6c8b6f84751afebafeae31be) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9dbfbb89b204e098f283aca310e4d6f6651d88f4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 28 11:47:09 2013 +0200 xhci: reset port when disabling slot Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit 5c67dd7b4884979a2613a4702ac1ab68b0e6a16e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 57ea2d21ae1863fd4002b2aea8ea8db8e206d464 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Jul 25 12:11:15 2013 +0200 exec: always use MADV_DONTFORK MADV_DONTFORK prevents fork to fail with -ENOMEM if the default overcommit heuristics decides there's too much anonymous virtual memory allocated. If the KVM secondary MMU is synchronized with MMU notifiers or not, doesn't make a difference in that regard. Secondly it's always more efficient to avoid copying the guest physical address space in the fork child (so we avoid to mark all the guest memory readonly in the parent and so we skip the establishment and teardown of lots of pagetables in the child). In the common case we can ignore the error if MADV_DONTFORK is not available. Leave a second invocation that errors out in the KVM path if MMU notifiers are missing and KVM is enabled, to abort in such case. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> (cherry picked from commit 3e469dbfe413c25d48321c3a19ddfae0727dc6e5) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 1cd7138d492304a76f3b8ae89fc61e05b18205a7 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Sep 1 11:03:45 2013 +0300 virtio_pci: fix level interrupts with irqfd commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd virtio-pci: fix level interrupts only helps systems without irqfd: on systems with irqfd support we passed in flag requesting irqfd even when msix is disabled. As a result, for level interrupts we didn't install an fd handler so unmasking an fd had no effect. Fix this up. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9fab8e1fe15014a4bd147eeedd2491bcfbba4e59 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 29 14:27:39 2013 +0200 exec: fix writing to MMIO area with non-power-of-two length The problem is introduced by commit 2332616 (exec: Support 64-bit operations in address_space_rw, 2013-07-08). Before that commit, memory_access_size would only return 1/2/4. Since alignment is already handled above, reduce l to the largest power of two that is smaller than l. Cc: qemu-stable@xxxxxxxxxx Reported-by: Oleksii Shevchuk <alxchk@xxxxxxxxx> Tested-by: Oleksii Shevchuk <alxchk@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 098178f2749a63fbbb1a626dcc7d939d5cb2bde7) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 2ffbe03e8bc8f330581e31537190949a9aba80c3 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Wed Aug 14 11:49:04 2013 +0200 adlib: sort offsets in portio registration This fixes the following assert when -device adlib is used: ioport.c:240: portio_list_add: Assertion `pio->offset >= off_last' failed. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit 2b21fb57af305f17841d79e7e2e02ad1aec3f5ca) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit f9fd82ee939d6ee5bff126b125020021e18ce330 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 30 11:58:45 2013 +0200 target-i386: fix disassembly with PAE=1, PG=0 CR4.PAE=1 will not enable paging if CR0.PG=0, but the "if" chain in x86_cpu_get_phys_page_debug says otherwise. Check CR0.PG before everything else. Fixes "-d in_asm" for a code section at the beginning of OVMF. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (cherry picked from commit f2f8560c7a5303065a2a3207ec475dfb3a622a0e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit da4e203efa76f2d2ee0a17670c241881963d033d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 4 19:00:25 2013 +0200 block: expect errors from bdrv_co_is_allocated Some bdrv_is_allocated callers do not expect errors, but the fallback in qcow2.c might make other callers trip on assertion failures or infinite loops. Fix the callers to always look for errors. Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit d663640c04f2aab810915c556390211d75457704) Conflicts: block/cow.c *modified to avoid dependency on upstream's e641c1e8 Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c09a4634d945df5d7e1fbc394646e78d7d713c67 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Aug 27 17:00:04 2013 +0200 Revert "usb-hub: report status changes only once" This reverts commit a309ee6e0a256f690760abfba44fceaa52a7c2f3. This isn't in line with the usb specification and adds regressions, win7 fails to drive the usb hub for example. Was added because it "solved" the issue of hubs interacting badly with the xhci host controller. Now with the root cause being fixed in xhci (commit <FIXME>) we can revert this one. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit bdebd6ee81f4d849aa8541c289203e3992450db0) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c0a5eb81b43e56569cfdb9c86fd78930b2765b96 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 28 11:39:02 2013 +0200 xhci: fix endpoint interval calculation Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit ca7162782a293f525633e5816470498dd86a51cf) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 358bb0daa1ce332a18cc996fcd078a3989f77d36 Author: yinyin <yin.yin@xxxxxxxxxxx> Date: Thu Aug 22 14:47:16 2013 +0800 virtio: virtqueue_get_avail_bytes: fix desc_pa when loop over the indirect descriptor table virtqueue_get_avail_bytes: when found a indirect desc, we need loop over it. /* loop over the indirect descriptor table */ indirect = 1; max = vring_desc_len(desc_pa, i) / sizeof(VRingDesc); num_bufs = i = 0; desc_pa = vring_desc_addr(desc_pa, i); But, It init i to 0, then use i to update desc_pa. so we will always get: desc_pa = vring_desc_addr(desc_pa, 0); the last two line should swap. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Yin Yin <yin.yin@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 1ae2757c6c4525c9b42f408c86818f843bad7418) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 3fe494efc5eb107c4c90e96df3e6131f9960f4b9 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Aug 13 14:10:04 2013 +1000 pseries: Fix stalls on hypervisor virtual console A number of users are reporting stalls when using the pseries hypervisor virtual console. A simple test case is to paste 15 or 17 characters at a time into the console. Pasting 15 characters at a time works fine but pasting 17 characters hangs for a random amount of time. Other activity (network, qemu monitor etc) unblocks it. If qemu-char tries to send more than 16 characters at once, vty_can_receive returns false. At this point we have to wait for the guest to consume that output. Everything is good so far. The problem occurs when the the guest does consume the output. We need to signal back to the qemu-char layer that we are ready for more input. Without this we block until something else kicks us (eg network activity). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> (cherry picked from commit 7770b6f78a2d655e03852a5de238f5926c92be6a) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a73c74f63aa8f977ece88c97280a03ea9b1ca395 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Aug 27 08:37:26 2013 +0300 pc: fix regression for 64 bit PCI memory commit 398489018183d613306ab022653552247d93919f pc: limit 64 bit hole to 2G by default introduced a way for management to control the window allocated to the 64 bit PCI hole. This is useful, but existing management tools do not know how to set this property. As a result, e.g. specifying a large ivshmem device with size > 4G is broken by default. For example this configuration no longer works: -device ivshmem,size=4294967296,chardev=cfoo -chardev socket,path=/tmp/sock,id=cfoo,server,nowait Fix this by detecting that hole size was not specified and defaulting to the backwards-compatible value of 1 << 62. Cc: qemu-stable@xxxxxxxxxx Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 1466cef32dd5e7ef3c6477e96d85d92302ad02e3) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 964e0d4ec52ea7400ccc69de69b05ac913bbfff8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Aug 23 18:01:58 2013 +0200 scsi: Fix scsi_bus_legacy_add_drive() scsi-generic with serial scsi_bus_legacy_add_drive() creates either a scsi-disk or a scsi-generic device. It sets property "serial" to argument serial unless null. Crashes with scsi-generic, because it doesn't have such the property. Only usb_msd_initfn_storage() passes non-null serial. Reproducer: $ qemu-system-x86_64 -nodefaults -display none -S -usb \ -drive if=none,file=/dev/sg1,id=usb-drv0 \ -device usb-storage,id=usb-msd0,drive=usb-drv0,serial=123 qemu-system-x86_64: -device usb-storage,id=usb-msd0,drive=usb-drv0,serial=123: Property '.serial' not found Aborted (core dumped) Fix by handling exactly like "removable": set the property only when it exists. Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit c24e7517ee4a98e90eee5f0f07708a1fa12326b3) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 11b0ab70a58e3e6c06dc1fd1ea318b1c5806d955 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Thu Aug 22 20:11:36 2013 +0300 usb/dev-hid: Modified usb-tablet category from Misc to Input usb-tablet device was wrongly assigned to Misc category Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit 31efd2e883018b4c079ad082105bc161fbb3fef8) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d6dcfd69f8b2aa2cad79486bbadef7d51f7f4e7d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Aug 20 15:50:15 2013 +0100 scripts/qapi.py: Avoid syntax not supported by Python 2.4 The Python "except Foo as x" syntax was only introduced in Python 2.6, but we aim to support Python 2.4 and later. Use the old-style "except Foo, x" syntax instead, thus fixing configure/compile on systems with older Python. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> (cherry picked from commit 21e0043bada1a24ae2ba6cd0051e104c0cbf9634) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 260790645e95891cb264c2d657648f43401ac915 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sun Aug 18 22:27:08 2013 -0400 rdma: silly ipv6 bugfix My bad - but it's very important for us to warn the user that IPv6 is broken on RoCE in linux right now, until linux releases a fixed version. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit c89aa2f1851b08c3efa8a1070c0a6b9a36e1227f) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 52f99b02e5ff1004fb3b41846d2c34f190127456 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Thu Aug 15 13:32:38 2013 +0200 target-ppc: fix bit extraction for FPBF and FPL Bit extraction for the FP BF and L field of the MTFSFI and MTFSF instructions is wrong and doesn't match the reference manual (which explain the bit number in big endian format). It has been broken in commit 7d08d85645def18eac2a9d672c1868a35e0bcf79. This patch fixes this, which in turn fixes the problem reported by Khem Raj about the floor() function of libm. Reported-by: Khem Raj <raj.khem@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx (1.6) Signed-off-by: Alexander Graf <agraf@xxxxxxx> (cherry picked from commit 779f659021d1754117bce1aab9370dc22f37ae07) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c0c080c5d1ce6c236ba8ab5db3a17043c665d0f6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Aug 12 18:09:47 2013 +0200 gdbstub: Fix gdb_register_coprocessor() register counting Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register counting for GDB. While it seems correct not to let the total number of registers skyrocket in an SMP scenario through a static variable, the distinction between total register count and 'g' packet register count (last_reg vs. num_g_regs) got lost among the way. Fix this by introducing CPUState::gdb_num_g_regs and using that in gdb_handle_packet(). Reported-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx (stable-1.6) Tested-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Tested-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from commit 35143f0164e6933a85c7c2b8a89a040d881a9151) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 670599a08c052f6ef841743731a8f06d4b50ec99 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Jun 27 15:32:26 2013 +0200 block: ensure bdrv_drain_all() works during bdrv_delete() In bdrv_delete() make sure to call bdrv_make_anon() *after* bdrv_close() so that the device is still seen by bdrv_drain_all() when iterating bdrv_states. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit e1b5c52e04d04bb93546c6e37e8884889d047cb1) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 1ee2daeb6448312d6d0e22175f5c1b9b01f8974c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 15 10:40:51 2013 -0500 Update version for 1.6.0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc413a39355ed910f22f8f0be5e233c08a0773a0 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Aug 12 21:34:53 2013 +0200 mips_malta: do not raise exceptions when accessing invalid memory Since commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c, MIPS raises exceptions when accessing invalid memory. This is not the correct behaviour for MIPS Malta Core LV, as the GT-64120A system controller just ignore undecoded access. This feature is used by the Linux kernel to probe for some devices. Emulate the correct behaviour in QEMU by adding an empty slot covering the entire memory space decoded by the GT-64120A. Tested-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8b7a5415f9297c1fbae5bff28dcb059d50c1b045 Author: M. Mohan Kumar <mohan@xxxxxxxxxx> Date: Wed Aug 14 17:56:41 2013 +0530 block: Dont ignore previously set bdrv_flags bdrv_flags is set by bdrv_parse_discard_flags(), but later it is reset to zero. Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Message-id: 1376483201-13466-1-git-send-email-mohan@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3a3567d337d3ee6fb2e2fcc1d27cd045ed97ae9b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Aug 8 12:09:38 2013 +0100 qemu-char: fix infinite recursion connecting to monitor pty Since commit bd5c51e (qemu-char: don't issue CHR_EVENT_OPEN in a BH), an infinite recursion occurs when putting the monitor on a pty (-monitor pty) and connecting a terminal to the slave port. This is because of the qemu_chr_be_event(s, CHR_EVENT_OPENED) added to qemu_chr_be_generic_open(). This event is captured by monitor_event() which prints a welcome message to the character device. The flush of that welcome message retriggers another open event in pty_chr_state() because it checks s->connected, but only sets it to 1 after calling qemu_chr_be_generic_open(). I've fixed this by setting s->connected = 1 before the call to qemu_chr_be_generic_open() instead of after, so that the recursive pty_chr_state() doesn't call it again. An example snippet of repeating backtrace: ... #107486 0x007aec58 in monitor_flush (mon=0xf418b0) at qemu/monitor.c:288 #107487 0x007aee7c in monitor_puts (mon=0xf418b0, str=0x1176d07 "") at qemu/monitor.c:322 #107488 0x007aef20 in monitor_vprintf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s monitor - type 'help' for more information\n", ap=0x7f432be0) at qemu/monitor.c:339 #107489 0x007aefac in monitor_printf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s monitor - type 'help' for more information\n") at qemu/monitor.c:347 #107490 0x007ba4bc in monitor_event (opaque=0xf418b0, event=2) at qemu/monitor.c:4699 #107491 0x00684c28 in qemu_chr_be_event (s=0xf37788, event=2) at qemu/qemu-char.c:108 #107492 0x00684c70 in qemu_chr_be_generic_open (s=0xf37788) at qemu/qemu-char.c:113 #107493 0x006880a4 in pty_chr_state (chr=0xf37788, connected=1) at qemu/qemu-char.c:1145 #107494 0x00687fa4 in pty_chr_update_read_handler (chr=0xf37788) at qemu/qemu-char.c:1121 #107495 0x00687c9c in pty_chr_write (chr=0xf37788, buf=0x70b3c008 <Address 0x70b3c008 out of bounds>, len=538720) at qemu/qemu-char.c:1063 #107496 0x00684cc4 in qemu_chr_fe_write (s=0xf37788, buf=0x70b3c008 <Address 0x70b3c008 out of bounds>, len=538720) at qemu/qemu-char.c:118 ... Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1375960178-10882-1-git-send-email-james.hogan@xxxxxxxxxx Cc: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 02653c5ea77bc3837376232ce508b7dd3e358ca1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Aug 13 09:02:52 2013 -0500 pvpanic: fix bad merge Context matching caused the 'has_pvpanic = true' to be applied to the 1.6 machine type instead of the 1.5 machine type. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 328465fd9f3a628ab320b5959d68d3d49df58fa6 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 15:03:36 2013 -0500 Update version for 1.6.0-rc3 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9d054ea543c2f94ddea5db29cc908899a188c07d Merge: 9fb7aaa... 5638370... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 15:03:20 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix X86CPU Westmere CPUID for pc-*-1.4 and older * afaerber/tags/qom-cpu-for-anthony: pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older Conflicts: hw/i386/pc_piix.c hw/i386/pc_q35.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9fb7aaaf4c58c9108327f0ae4766087e3e496b47 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 09:01:44 2013 -0500 pc: drop external DSDT loading This breaks migration and is unneeded with modern SeaBIOS. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1376316104-11269-1-git-send-email-aliguori@xxxxxxxxxx commit a5d3f640a0fa56eaed712c9361150568e32e1d08 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Sun Aug 11 18:10:43 2013 +0300 hw/misc: make pvpanic known to user This patch is based on Hu Tao's: http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00125.html The pvpanic device may be enabled now with "-device pvpanic" from command line. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Message-id: 1376233843-19410-3-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7f3e341a008c585deed174eaf1f826c88c67948a Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Sun Aug 11 18:10:42 2013 +0300 hw/misc: don't create pvpanic device by default This patch is based on Hu Tao's: http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00124.html No need to hard-code pvpanic as part of the machine. It can be added with "-device pvpanic" from command line (The next patch). Anyway, for backport compatibility it is still part of 1.5 machine. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Message-id: 1376233843-19410-2-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 56383703c060777fd01aaf8d63d5f46d660e9fb9 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Aug 9 11:11:36 2013 -0300 pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older Commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible change by adding the PCLMULQDQ bit to Westmere without adding compatibility code to keep the ABI for older machine-types. Fix it by adding the missing compat code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8f3067bd86485f8cd03abc940ddb2b8467ef3627 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Fri Aug 9 16:05:45 2013 -0400 rdma: remaining documentation fixes Was missing 'setup-time' in some of the QMP documentation... Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1376078746-24948-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7fc5b13fd7b05babc7bcad9dcb8281ae202a9494 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Fri Aug 9 16:05:44 2013 -0400 rdma: IPv6 over Ethernet (RoCE) is broken in linux - workaround We've gotten reports from multiple testers (including Frank Yangjie and myself) that RDMA IPv6 support over RocE (Ethernet) is broken in linux. A patch to Linux is still in review: http://comments.gmane.org/gmane.linux.drivers.rdma/16448 If the user is listening on '[::]', then we will not have a opened a device yet and have no way of verifying if the device is RoCE or not. In this case, the source VM will throw an error for ALL types of connections (both IPv4 and IPv6) if the destination machine does not have a regular infiniband network available for use. The only way to gaurantee that an error is thrown for broken kernels is for the management software to choose a *specific* interface at bind time and validate what time of hardware it is. Unfortunately, this puts the user in a fix: If the source VM connects with an IPv4 address without knowing that the destination has bound to '[::]' the migration will unconditionally fail unless the management software is not explicitly listening on the the IPv4 address while using a RoCE-based device. If the source VM connects with an IPv6 address, then we're OK because we can throw an error on the source (and similarly on the destination). But in mixed environments, this will be broken for a while until it is fixed inside linux. We do provide a *tiny* bit of help in mixed environments, though in this patch: We can list all of the devices in the system and check to see if all the devices are RoCE or Infiniband. If we detect that we have a *pure* RoCE environment, then we can safely thrown an error even if the management sofware has specified '[::]' as the bind address. However, if there is are multiple hetergeneous devices, then we cannot make this assumption and the user just has to be sure they know what they are doing. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6470215b794d6d9f9ffbd82f669645715eb014f8 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Fri Aug 9 16:05:43 2013 -0400 rdma: proper getaddrinfo() handling getaddrinfo() already knows what it's doing, but it can potentially return multiple addresses. We need to handle that... Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 88571882516a7cb4291a329c537eb79fd126e1f2 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 9 16:05:42 2013 -0400 rdma: check if RDMAControlHeader::len match transferred byte RDMAControlHeader::len is provided from remote, so check if the value match the actual transferred byte_len. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6f1484edadba57f2800dc04ae3527ee4b6dac7ef Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 9 16:05:41 2013 -0400 rdma: validate RDMAControlHeader::len RMDAControlHeader::len is provided from remote, so validate it. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 885e8f984ea846e79a39ddc4f066f4dd3d04b264 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 9 16:05:40 2013 -0400 rdma: use resp.len after validation in qemu_rdma_registration_stop resp.len is given from remote host. So should be validated before use. Otherwise memcpy can access beyond the buffer. Cc: Michael R. Hines <mrhines@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6dd2a5c98a6b1c9189d342bcc3493c9b5dd1217e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 9 12:35:02 2013 -0500 pc_sysfw: do not make it a device anymore Move the code to hw/i386, the sole remaining property is available as !pci_enabled. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1376069702-22330-4-git-send-email-aliguori@xxxxxxxxxx Rebased. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a904410af5f1ed6ff031e9e4119ca2f5d99647ce Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 9 12:35:01 2013 -0500 pc_sysfw: remove the rom_only property With the new semantics of pc_sysfw (no -pflash implies "old-style" ROM setup, -pflash implies "new-style" ROM setup), there is no need anymore for a compat property. Old machines simply will never use -pflash, and thus will always use old-style setup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1376069702-22330-3-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 133bb095acf536f85e7e57821596c8c844aaa583 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 9 12:35:00 2013 -0500 sysfw: remove read-only pc_sysfw_flash_vs_rom_bug_compatible The variable is not written anymore. This cleans up after 9e1c2ec (which accidentally left variable pc_sysfw_flash_vs_rom_bug_compatible behind, value always zero), and buries dead code from commit dafb82e (which resurrected the pc_sysfw code for pc_sysfw_flash_vs_rom_bug_compatible by mistake). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1376069702-22330-2-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Aug 8 20:18:07 2013 +0200 w32: Add missing version.o to all executables (fix regression) QEMU executables for w32, w64 had included meta information built from version.rc. These rules were changed several times some months ago. The latest version added version.o to the tools, but not to the system emulations. This patch adds the meta information to all system emulations again. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1375985887-3984-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cb77d1925ac4d673e19be58aa39fc53c5d2fed10 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Aug 2 09:34:00 2013 +0200 qemu-option: Guard against qemu_opts_set_defaults() misuse Commit 6d4cd40 fixed qemu_opts_set_defaults() for an existing corner case, but broke it for another one that can't be reached in current code. Quote from its commit message: I believe [opts_parse()] attempts to do the following: If options don't yet exist, create new options Else, if defaults, modify the existing options Else, if list->merge_lists, modify the existing options Else, fail The only caller that passes true for defaults is qemu_opts_set_defaults(). The commit message then claims: A straightforward call of qemu_opts_create() does exactly that. Wrong. When !list->merge_lists, and the option string doesn't contain id=, and options without ID exist, then we don't actually modify the existing options, we create new ones. Not reachable, because we never pass lists with !list->merge_lists to qemu_opts_set_defaults(). Guard against possible (if unlikely) future misuse with assert(). Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1375428840-5275-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8571fa57cd0426f40629ab77444704745631f168 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 31 08:19:52 2013 +0200 LICENSE: clarify 1) The GPL says that "if the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation". This is not true, QEMU includes parts that are v2-only. 2) Provide a default for files with no licensing information. 3) It is not just hardware emulation that is under BSD license. 4) Restrict GPLv2-only contributions to user mode emulation (due to code from Linux) and PCI passthrough (due to code from Neocleus). 5) The rules were initially set by Fabrice but are being amended by other people (already in commit ee12e1f, LICENSE: There is no libqemu.a anymore, 2011-11-15). Do not put words in his mouth. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375251592-2537-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7748c1bd50bd1b7f2b414acc2cf2e975be92deff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 31 08:19:51 2013 +0200 raw: add license header Most of the block layer is under the BSD license, thus it is reasonable to license block/raw.c the same way. CCed people should ACK by replying with a Signed-off-by line. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Jeff Cody <jcody@xxxxxxxxxx> Cc: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1375251592-2537-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ee1ee80d22b3153dd6cbd3bec6d48a026eac31c Merge: 6624fec... 3561ba1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:32:55 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,virtio fixes for 1.6 This includes some last-minute bugfixes for 1.6. All very small patches that also look very safe to me. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Mon 12 Aug 2013 04:28:57 AM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: vhost: clear signalled_used_valid on vhost stop virtio: clear signalled_used_valid when switching from dataplane i82801b11: Fix i82801b11 PCI host bridge config space pc: disable pci-info for 1.6 Message-id: 1376308831-19978-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6624fecd8e4df6be13f86846abce979702917931 Merge: 3bba9c1... f7b803b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:32:43 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130812' into staging arm-devs queue # gpg: Signature made Mon 12 Aug 2013 05:58:14 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Peter Maydell # Via Peter Maydell * pmaydell/tags/pull-arm-devs-20130812: hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues hw/virtio/virtio: Don't allow guests to add/remove queues Message-id: 1376305261-29561-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3bba9c115ba31f53fb9fc0a2711bf36c0ed6f031 Merge: 4a9a887... 6db5f5d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:32:36 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Mike Qiu # Via Kevin Wolf * kwolf/for-anthony: block: Bugfix 'format' and 'snapshot' used in drive option Message-id: 1376071141-3214-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a9a8876a14653fd03918945dbb96de3e84b3e3f Merge: 283c873... 56c4bfb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:30:49 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Laszlo Ersek # Via Luiz Capitulino * luiz/queue/qmp: dump: rebase from host-private RAMBlock offsets to guest-physical addresses dump: populate guest_phys_blocks dump: introduce GuestPhysBlockList dump: clamp guest-provided mapping lengths to ramblock sizes Message-id: 1375974809-1757-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 283c8733b5a2e7ecd9a681656690ffef8dd675ae Merge: 2aa09da... dad5b9e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:30:39 2013 -0500 Merge remote-tracking branch 'kraxel/usb.87' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.87: xhci: implement warm port reset Message-id: 1375961495-20970-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2aa09da823c258b3636d0e73527510cd196c68e4 Merge: 9b9734e... 2e985fe... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:28:56 2013 -0500 Merge remote-tracking branch 'origin/master' into staging * origin/master: mips: revert commit b332d24a8e1290954029814d09156b06ede358e2 tcg/mips: fix invalid op definition errors Necessary because patches got pushed by Aurelien before I pushed the -rc2 tag. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7b803b377f74f7e109559e8e64f04c4c1fcd86b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jul 26 16:41:28 2013 +0100 hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues The virtio-mmio spec says that QueueNumMax must read zero for queues which are unavailable; implement this, rather than always returning VIRTQUEUE_MAX_SIZE. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1374853288-9912-3-git-send-email-peter.maydell@xxxxxxxxxx Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 3561ba14188b3c1e54246ed6db97896bbc082d2f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Aug 12 12:21:36 2013 +0300 vhost: clear signalled_used_valid on vhost stop When vhost device stops, its implementation synchronizes kernel state back to virtio.c so we can continue emulating the device in userspace. This patch ensures that virtio.c's signalled_used_valid flag is reset so that userspace does not suppress guest notifications due to stale signalled_used values. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6793dfd1b6a99a79b9f2e3c4d6625ccd6513f240 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Aug 12 11:08:09 2013 +0200 virtio: clear signalled_used_valid when switching from dataplane When the dataplane thread stops, its vring.c implementation synchronizes vring state back to virtio.c so we can continue emulating the virtio device. This patch ensures that virtio.c's signalled_used_valid flag is reset so that we do not suppress guest notifications due to stale signalled_used values. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4965b7f056177ddfb816319e9ff5e766898d0bc5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Aug 5 16:36:40 2013 +0200 i82801b11: Fix i82801b11 PCI host bridge config space pci_bridge_write_config() was not being used. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 9604f70fdf8e21ec0dbf6eac5e59a0eb8beadd64 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Aug 1 15:39:11 2013 +0300 pc: disable pci-info for 1.6 The BIOS that we ship in 1.6 does not use pci info from host (yet). Several issues turned up (e.g. around winXP boot crashes). So it's safest to disable that interface for 1.6 machine types for now, leave it on for 1.7 as we have enough time to fix issues if any. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6db5f5d68e2ffc430ba0511e23fc36c7363510f1 Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 8 10:45:16 2013 -0400 block: Bugfix 'format' and 'snapshot' used in drive option When use -drive file='xxx',format=qcow2,snapshot=on the error message "Can't use snapshot=on with driver-specific options" can be show, and fail to start the qemu. This should not be happened, and there is no file.driver option in qemu command line. It is because the commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4, it puts 'driver' option if the command line use 'format' option. This patch is to solve this bug. Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f6049f4483d61fa911a0693c2c48ce8308451d33 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jul 26 16:41:27 2013 +0100 hw/virtio/virtio: Don't allow guests to add/remove queues A queue size of 0 is used to indicate a nonexistent queue, so don't allow the guest to flip a queue between zero-size and non-zero-size. Don't permit setting of negative queue sizes either. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1374853288-9912-2-git-send-email-peter.maydell@xxxxxxxxxx Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2e985fe000e73097e325e18b943e8babfa96c35c Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Aug 3 16:03:18 2013 +0200 mips: revert commit b332d24a8e1290954029814d09156b06ede358e2 Now that this code path is not triggered anymore during the tests, revert commit b332d24a8e1290954029814d09156b06ede358e2. Booting a MIPS target without kernel nor bios doesn't really make sense. At the same time replace fprintf(stderr, ...) by error_report(). Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 85711e6bafb1910b50ff181e8507cb904ef7e84d Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Aug 8 15:40:23 2013 +0100 tcg/mips: fix invalid op definition errors tcg/mips/tcg-target.h defines various operations conditionally depending upon the isa revision, however these operations are included in mips_op_defs[] unconditionally resulting in the following runtime errors if CONFIG_DEBUG_TCG is defined: Invalid op definition for movcond_i32 Invalid op definition for rotl_i32 Invalid op definition for rotr_i32 Invalid op definition for deposit_i32 Invalid op definition for bswap16_i32 Invalid op definition for bswap32_i32 tcg/tcg.c:1196: tcg fatal error Fix with ifdefs like the i386 backend does for movcond_i32. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 56c4bfb3f07f3107894c00281276aea4f5e8834d Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:11 2013 +0200 dump: rebase from host-private RAMBlock offsets to guest-physical addresses RAMBlock.offset --> GuestPhysBlock.target_start RAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_end RAMBlock.length --> GuestPhysBlock.target_end - GuestPhysBlock.target_start "GuestPhysBlock.host_addr" is only used when writing the dump contents. This patch enables "crash" to work with the vmcore by rebasing the vmcore from the left side of the following diagram to the right side: host-private offset relative to ram_addr RAMBlock guest-visible paddrs 0 +-------------------+.....+-------------------+ 0 | ^ | | ^ | | 640 KB | | 640 KB | | v | | v | 0x0000a0000 +-------------------+.....+-------------------+ 0x0000a0000 | ^ | |XXXXXXXXXXXXXXXXXXX| | 384 KB | |XXXXXXXXXXXXXXXXXXX| | v | |XXXXXXXXXXXXXXXXXXX| 0x000100000 +-------------------+.....+-------------------+ 0x000100000 | ^ | | ^ | | 3583 MB | | 3583 MB | | v | | v | 0x0e0000000 +-------------------+.....+-------------------+ 0x0e0000000 | ^ |. |XXXXXXXXXXXXXXXXXXX| | above_4g_mem_size | . |XXXX PCI hole XXXXX| | v | . |XXXX XXXXX| ram_size +-------------------+ . |XXXX 512 MB XXXXX| . .|XXXXXXXXXXXXXXXXXXX| . +-------------------+ 0x100000000 . | ^ | . | above_4g_mem_size | .| v | +-------------------+ ram_size + 512 MB Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c5d7f60f0614250bd925071e25220ce5958f75d0 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:10 2013 +0200 dump: populate guest_phys_blocks While the machine is paused, in guest_phys_blocks_append() we register a one-shot MemoryListener, solely for the initial collection of the valid guest-physical memory ranges that happens at listener registration time. For each range that is reported to guest_phys_blocks_region_add(), we attempt to merge the range with the preceding one. Ranges can only be joined if they are contiguous in both guest-physical address space, and contiguous in host virtual address space. The "maximal" ranges that remain in the end constitute the guest-physical memory map that the dump will be based on. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5ee163e8ea2fb6610339f494e039159e08a69066 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:09 2013 +0200 dump: introduce GuestPhysBlockList The vmcore must use physical addresses that are visible to the guest, not addresses that point into linear RAMBlocks. As first step, introduce the list type into which we'll collect the physical mappings in effect at the time of the dump. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 2cac260768b9d4253737417ea7501cf2950e257f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:08 2013 +0200 dump: clamp guest-provided mapping lengths to ramblock sizes Even a trusted & clean-state guest can map more memory than what it was given. Since the vmcore contains RAMBlocks, mapping sizes should be clamped to RAMBlock sizes. Otherwise such oversized mappings can exceed the entire file size, and ELF parsers might refuse even the valid portion of the PT_LOAD entry. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit dad5b9ea0895c227bc9d48b7f0a6fa51eaaa8661 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Aug 1 15:51:08 2013 +0200 xhci: implement warm port reset Without this patch windows can't do port resets for usb3 devices. https://bugzilla.redhat.com/show_bug.cgi?id=949514 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9b9734ef820d9035ac5d254e2b5962cd0b89f4e1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Aug 7 15:38:31 2013 -0500 Update version for 1.6.0-rc2 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jul 28 14:35:54 2013 +0200 fw_cfg: the I/O port variant expects little-endian The I/O port variant of fw_cfg is used by sparc64, which is a big-endian machine. Firmware swaps bytes before sending them to fw_cfg, so we need to unswap them in the device. This is only used on sparc64 and on (little-endian) x86, so it does not affect any other target. 32-bit Sparc and PPC all use memory-mapped fw_cfg. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Message-id: 1375014954-31916-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9a72359a54978f7364f6486973cea50ceb52173 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Aug 5 21:45:22 2013 +0200 po: Update all *.po files Running "make install" modified the *.po files because they were no longer up to date. Synchronize them with latest ui/gtk.c and modified build rules which use paths relative to the project root. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1375731922-24259-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f71d4c4673d0b2b92bccd46eb06f6c1723d6bb0f Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:03 2013 +0200 target-ppc: Add POWER5+ v2.1 CPU model Let's avoid -cpu host barfing at this PVR. Linux recognizes it as "POWER5+ (gs) v2.1". Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-5-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 35ebcb2b7a469739e6452d27379181bfbfc0388d Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:02 2013 +0200 target-ppc: Prepare POWER5P CPU family It is ISA 2.03. Modelled as 970FX minus AltiVec flag. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-4-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 469296f1578e1e7b69c267de39d17134b950b93a Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:01 2013 +0200 target-ppc: Turn POWER5gr CPU into alias for POWER5 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 171777a4b38a0f6331ae60c2546a5baf84c4b359 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:00 2013 +0200 target-ppc: Turn POWER5gs CPU into alias for POWER5+ Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a7d6b9f084765a834110bb9a2a0329b1a96de792 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Aug 5 22:59:46 2013 +0200 target-ppc: Fix POWER7+ model Commit 03a15a5436ed7723f406f15cc3798aa9991e75b5 claimed to add a POWER7+ model but instead added a "POWER7P" model, with an unhelpful "POWER7P" description on top. Fix this to "POWER7+" as we already have "POWER3+", "POWER4+" and "POWER5+" and there being no reason to deviate with the user-visible command line -cpu POWER7P from the marketing name POWER7+. Further, don't needlessly deviate from the scheme of naming PVR constant, QOM type and device description after the exact revision that is in fact encoded in the PVR used. That way, we can change the user-friendly alias -cpu POWER7+ to point to a different revision if we so desire, while not polluting the type namespace. This naming scheme is sensible and completely orthogonal to how PVRs may or may not get matched to CPU types. Cc: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375736387-8429-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0dd5ce38fbeb2fb97b01cc8c1c97292211e48ee6 Author: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx> Date: Tue Aug 6 20:45:39 2013 +0200 Bugfix for loading multiboot kernels This patch fixes a bug in rom_copy introduced by commit d60fa42e8bae39440f997ebfe8fe328269a57d16. rom_copy failed to load roms with a "datasize" of 0. As a result, multiboot kernels were not loaded correctly when they contain a segment with a "file size" of 0. https://bugs.launchpad.net/qemu/+bug/1208944 Signed-off-by: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: CAG1x_oET1u3TMPu3r_zzd3ZXsTWQLiaM0zAc+RkHFCwvJjGOvg@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c0f48f5b6c4cf3e1ec8ec6fa7bfe1b97dc92a9c Merge: cafffa5... cd7b87f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Aug 7 12:43:34 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Clean up X86CPU error handling # gpg: Signature made Tue 06 Aug 2013 01:57:34 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: target-i386: Fix X86CPU error handling commit cafffa545420a2c6dc33f9cb58401c606af59572 Merge: a1fc624... ca8804c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Aug 7 12:43:27 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Fam Zheng (8) and others # Via Kevin Wolf * kwolf/for-anthony: vmdk: rename num_gtes_per_gte to num_gtes_per_gt vmdk: use heap allocation for whole_grain vmdk: check l1 size before opening image vmdk: check l2 table size when opening vmdk: check granularity field in opening qemu-iotests: add empty test case for vmdk qemu-iotests: add poke_file utility function vmdk: use unsigned values for on disk header fields vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED sheepdog: add missing .bdrv_has_zero_init qemu-iotests: filter QEMU version in monitor banner iov: handle EOF in iov_send_recv ignore SIGPIPE in qemu-img and qemu-io qemu-img: Error out for excess arguments Message-id: 1375799990-995-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cd7b87ffe9b6b7b0089ec8c71555f3b942bc6daf Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Aug 2 18:56:05 2013 +0200 target-i386: Fix X86CPU error handling Error **errp argument is not for emitting warnings, it means an error has occurred and the caller should not make any assumptions about the state of other return values (unless otherwise documented). Therefore cpu_x86_create() must unref the new X86CPU itself, and pc_new_cpu() must check for an Error rather than NULL return value. While at it, clean up a superfluous NULL check. Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca8804ced9fdba7a1925ed81084dfb7a5b6ffa9f Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:55 2013 +0800 vmdk: rename num_gtes_per_gte to num_gtes_per_gt num_gtes_per_gte is a historical typo, rename it to a more sensible name. It means "number of GrainTableEntries per GrainTable". Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bf81507de38fdfa4cb6e9b46fb38691a25cb1499 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:54 2013 +0800 vmdk: use heap allocation for whole_grain We should never grow the stack beyond 1 MB, otherwise we'll fall off the end. Thread stacks and coroutine stacks (1 MB) do not grow. get_cluster_offset() allocates a big stack offset, it will fail for big cluster images, change to heap allocated buffer. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2c43e43c8cec130fff95ef720a860e91efb36685 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:53 2013 +0800 vmdk: check l1 size before opening image L1 table size is calculated from capacity, granularity and l2 table size. If capacity is too big or later two are too small, the L1 table will be too big to allocate in memory. Limit it to a reasonable range. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f8ce04036e333aae480b1d06d969f6436652633d Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:52 2013 +0800 vmdk: check l2 table size when opening header.num_gtes_per_gte determines size for L2 table. Check for too big value before using it. Limit to 512M entries (2GB per one L2 table). Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8aa1331c09a9b899f48d97f097bb49b7d458be1c Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:51 2013 +0800 vmdk: check granularity field in opening Granularity is used to calculate the cluster size and allocate r/w buffer. Check the value from image before using it, so we don't abort() for unbounded memory allocation. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ca6cbb657d66a7beb70f9d91848c80d1a72b1674 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:50 2013 +0800 qemu-iotests: add empty test case for vmdk Will add vmdk specific tests later here. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 23ea2ecc2a43d850bc9482068201ece5da36a448 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Aug 6 15:44:49 2013 +0800 qemu-iotests: add poke_file utility function The new poke_file function sets bytes at an offset in a file given a printf-style format string. It can be used to corrupt an image file for test coverage of error paths. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e98768d43799cd3f00b358bfbe455fdae793d3e8 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:48 2013 +0800 vmdk: use unsigned values for on disk header fields The size and offset fields are all non-negative values, use uint64_t for them to avoid getting negative in memory value by int overflow. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5d8caa543c9714bee36b04899797a3721dff4090 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:47 2013 +0800 vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED It's best to make it consistent that all on disk structures are QEMU_PACKED. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a1fc6246b3964e74ddb3a7e0b8bba03af1c6ac38 Author: Leon Alrae <leon.alrae@xxxxxxxxxx> Date: Tue Aug 6 11:59:25 2013 +0100 target-mips: fix decoding of microMIPS POOL32Axf instructions Fix incorrect assumption that DSP and non-DSP versions of the following instructions have the same encoding: MULT, MULTU, MADD, MADDU, MSUB, MSUBU, MFHI, MFLO, MTHI, MTLO. Correct the existing (non-DSP) instructions and add DSP equivalents. Reference: MIPS Architecture for Programmers Volume II-B: The microMIPS32 Instruction Set MIPS Architecture for Programmers Volume IV-e: The MIPS DSP Module for the microMIPS32 Architecture Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e4f5c1bf8f6f6fe0bb4c743452bf8288033e80ba Author: Liu Yuan <namei.unix@xxxxxxxxx> Date: Tue Aug 6 14:44:37 2013 +0800 sheepdog: add missing .bdrv_has_zero_init Commit 3ac21627 changed the behaviour of bdrv_has_zero_init() to default to 0. In the review for Sheepdog it turned out that enabling it is safe, so that commit updated one BlockDriver definition of sheepdog to use bdrv_has_zero_init_1, missed however that there are more BlockDrivers in the driver. Fix these now. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9580498b9a599b38c3a28599dcd40bd59f12af2c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Aug 5 14:40:34 2013 +0200 qemu-iotests: filter QEMU version in monitor banner Filter out the QEMU monitor version banner so that tests do not break when the QEMU version number is changed. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 840042901710c2dc1a3ac3e5af9bed449c339701 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Jul 23 17:30:12 2013 +0900 iov: handle EOF in iov_send_recv Without this patch, iov_send_recv() never returns when do_send_recv() returns zero. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 526eda14a68d5b3596be715505289b541288ef2a Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Jul 23 17:30:11 2013 +0900 ignore SIGPIPE in qemu-img and qemu-io This prevents the tools from being stopped when they write data to a closed connection in the other side. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit fc11eb26cee7e3621645dd40cd9de944201f590b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Aug 5 10:53:04 2013 +0200 qemu-img: Error out for excess arguments Don't silently ignore excess arguments at the end of the command line, but error out instead. This can catch typos like 'resize test.img + 1G', which doesn't increase the image size by 1G as intended, but truncates the image to 1G. Even for less dangerous commands, the old behaviour is confusing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 79761c6681f0d1cc1c027116fcb4382d41ed3ece Author: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx> Date: Wed Jul 3 17:58:14 2013 +0900 semaphore: fix a hangup problem under load on NetBSD hosts. Fix following bugs in "fallback implementation of counting semaphores with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976: - waiting threads are not restarted properly if more than one threads are waiting unblock signals in qemu_sem_timedwait() - possible missing pthread_cond_signal(3) calls when waiting threads are returned by ETIMEDOUT - fix an uninitialized variable The problem is analyzed by and fix is provided by Noriyuki Soda. Also put additional cleanup suggested by Laszlo Ersek: - make QemuSemaphore.count unsigned (it won't be negative) - check a return value of in pthread_cond_wait() in qemu_sem_wait() Signed-off-by: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1372841894-10634-1-git-send-email-tsutsui@xxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e1d0fb378ae3bb4272124a12e3fe1a02c4745eb1 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:54 2013 -0400 rdma: memory leak RDMAContext::host It is allocated by g_strdup(), so needs to be freed. Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-8-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 877726397f7e24d0c8a2b303a852769b5edd155c Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:53 2013 -0400 rdma: use RDMA_WRID_READY Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1f22364bb5a756dfcbd15c2ae2bac18bbcef6190 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:52 2013 -0400 rdma: qemu_rdma_post_send_control uses wrongly RDMA_WRID_MAX RDMA_WRID_CONTROL should be used. And remove related work around. Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44b5949491a47043c4f7c4ff09f0191f82919a82 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:51 2013 -0400 rdma: don't use negative index to array Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 66988941251ef64044aa3b951ebd84162e5a4e3a Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sat Aug 3 22:54:50 2013 -0400 rdma: correct newlines in error statements Don't print newlines on the error_setg() function, but still allow newlines on fprintf(). Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8cd31adc7cc0602ba0a66b7d9b50fd016ab5530a Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sat Aug 3 22:54:49 2013 -0400 rdma: forgot to turn off the debugging flag Ooops. We forgot to turn off the flag. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b58c8552bd466aaab67c59dedeb846838082cad6 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sat Aug 3 22:54:48 2013 -0400 rdma: bugfix: make IPv6 support work RDMA does not use sockets, so we cannot use many of the socket helper functions, but we *do* use inet_parse() which gives RDMA all the necessary details of the connection parameters. However, when testing with libvirt, a simple IPv6 migration test failed because we were not using getaddrinfo() properly. This makes IPv6 migration over RDMA work. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be2f78b6b062eec5170e2612299fb8953046993f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Aug 4 15:05:01 2013 +0200 pxa2xx: Avoid object_get_link_property() assertion for "parent_bus" pxa2xx_i2c_init() creates a pxa2xx-i2c-slave device on a second i2c-bus, which has a NULL parent device. This causes an assertion in object_get_canonical_path() when accessing pxa2xx-i2c-slave's "parent_bus" link<bus> property in tosa and likely other PXA2xx machines. Fix this by using the pxa2xx_i2c device, created just before, as parent. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375621501-5564-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 03a15a5436ed7723f406f15cc3798aa9991e75b5 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Fri Aug 2 12:59:34 2013 +1000 target-ppc: Add POWER7+ CPU model This patch adds CPU PVR definition for POWER7+. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1375412374-24701-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 64160cd2a3e9a8491ce44aaa9df25cfad48b8666 Merge: 144f28f... 908c67f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:06:25 2013 -0500 Merge remote-tracking branch 'filippov/tags/20130729-xtensa' into staging xtensa queue 2013-07-29 * filippov/tags/20130729-xtensa: target-xtensa: check register window inline target-xtensa: don't generate dead code to access invalid SRs tests/tcg/xtensa: Fix out-of-tree build target-xtensa: avoid double-stopping at breakpoints target-xtensa: add fallthrough markers target-xtensa: add extui unit test Conflicts: configure Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 144f28fa58abc56d2244a2e6b97ca78e1540dd05 Merge: 59a8877... 9a949b9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:03:01 2013 -0500 Merge remote-tracking branch 'mcayland/qemu-openbios' into staging * mcayland/qemu-openbios: Update OpenBIOS images Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 59a88774d912bb53795daa2d3620707401aea077 Merge: 56105bd... ee76c1f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:48 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Jan Kiszka # Via Stefan Hajnoczi * stefanha/net: pcnet: Flush queued packets on end of STOP state Message-id: 1375704975-19128-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 56105bd5c0b6d7ac62b34c8b8f496df8f7bd9d92 Merge: f5e7dad... 8afaefb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:39 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf # Via Stefan Hajnoczi * stefanha/block: block: Disable driver-specific options for 1.6 Message-id: 1375461379-20277-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f5e7dad8ee5673b4de1eaa9a2fa610f0940f26b0 Merge: d94c426... 8e50724... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:32 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Fam Zheng (1) and others # Via Michael Tokarev * mjt/trivial-patches: vmdk: fix comment for vmdk_co_write_zeroes memory.c: drop kvm.h dependency block/iscsi.c: Fix printf format error. qemu-ga: build it even if !system Message-id: 1375453248-7178-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d94c426d46e01ad45fc5e3b8e5b485ca1b0158fe Merge: b9ac5d9... a14ff8a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:25 2013 -0500 Merge remote-tracking branch 'kraxel/usb.86' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.86: usb-redir: fix use-after-free xhci: fix segfault Message-id: 1375362669-14815-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ee76c1f821e75550644e084dea85743bbc934f91 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Aug 2 21:48:18 2013 +0200 pcnet: Flush queued packets on end of STOP state Analogously to other NICs, we have to inform the network layer when the can_receive handler will no longer report 0. Without this, we may get stuck waiting on queued incoming packets. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b9ac5d923b820a0f0152a2df56067e55ce34f487 Author: Yongbok Kim <yongbok.kim@xxxxxxxxxx> Date: Fri Aug 2 10:33:43 2013 +0100 target-mips: fix 34Kf configuration for DSP ASE 34Kf core does support DSP ASE. CP0_Config3 configuration for 34Kf and description are wrong. Please refer to MIPS32(R) 34Kf(TM) Processor Core Datasheet Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8afaefb8919dc8746a57c450a758717c516c7b0a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 30 14:58:27 2013 +0200 block: Disable driver-specific options for 1.6 We don't want to commit to the API yet before everything is worked out. Like already for 1.5, disable it again for the 1.6 release. This commit is meant to be reverted after the 1.6 release. The disabling of the driver-specific options is achieved by applying the old checks while parsing the command line. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8e50724313895a87057cc243ad805f2eb21feb9f Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu Aug 1 18:12:17 2013 +0800 vmdk: fix comment for vmdk_co_write_zeroes The comment was truncated. Add the missing parts, especially explain why we need zero_dry_run. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 437de2adc633ed28cdd84bcdffc3430b5ce96be6 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Aug 1 10:55:30 2013 +0300 memory.c: drop kvm.h dependency memory.c does not use any kvm specific interfaces, don't include kvm.h Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f5075224d6e7fe8cae7e3c1b52a6d0f7bd3533d0 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Wed Jul 31 22:20:26 2013 +0100 block/iscsi.c: Fix printf format error. The error on armv7hl was: block/iscsi.c: In function â??is_request_lun_alignedâ??: block/iscsi.c:251:26: error: format â??%ldâ?? expects argument of type â??long intâ??, but argument 3 has type â??int64_tâ?? [-Werror=format=] iscsilun->block_size, sector_num, nb_sectors); ^ This also splits the long line to comply with qemu coding guidelines. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e8ef31a3518c7b1e63a804fe8cecd3e94418db84 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jul 31 14:22:07 2013 +0400 qemu-ga: build it even if !system Move qemu-ga build check out of if softmmu.. into its own section. We want to build qemu-ga for _guest_ even if system build isn't done. It is controlled separately using --enable-guest-agent. Additionally, give error message if guest agent is requested but not supported. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 2ddc463725d0fa24e0910fba77fef2777fa94a74 Merge: 00f90df... e0d4794... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 17:09:35 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Clean up AlphaCPU and OpenRISCCPU migration # gpg: Signature made Wed 31 Jul 2013 04:57:59 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: cpu: Fix VMSTATE_CPU() semantics commit 00f90df09368035fcfe6a06cd87a6c88f82f2afe Merge: e501425... 5c97367... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 17:09:28 2013 -0500 Merge remote-tracking branch 'afaerber/tags/prep-for-upstream' into staging PReP machine and devices * Fixes for i82378 PCI-ISA bridge endianness handling # gpg: Signature made Wed 31 Jul 2013 04:25:51 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Hervé Poussineau # Via Andreas Färber * afaerber/tags/prep-for-upstream: i82378: Cleanup implementation pci-host/prep: Set isa_mem_base in the PCI host bridge commit e501425bbe8d692f022d3db64abf800eaf4f0854 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 16:59:32 2013 -0500 Update version for 1.6.0-rc1 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 203439ce0a832e36b276f10892846bd91ee836eb Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 01:28:46 2013 +0200 virtio-console: Use exitfn for virtserialport, too virtconsole and virtserialport are identical in every other aspect except for the distinguishing VirtIOSerialPortClass::is_console field. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375313326-14966-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 27915efb974999dd256a6c432a17432d9d84e606 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 01:59:47 2013 +0200 virtio-9p-device: Avoid freeing uninitialized memory In virtio_9p_device_init() there are 6x goto out that will lead to v9fs_path_free() attempting to free unitialized path.data field. Easiest way to trigger is: qemu-system-x86_64 -device virtio-9p-pci Fix this by moving v9fs_path_init() before any goto out. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375315187-16534-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5a2bcf70e81b67cbc4947f5065db8fc9bfc1465 Merge: f44c5c6... 8c0426a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 11:18:04 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Pawit Pornkitprasan # Via Luiz Capitulino * luiz/queue/qmp: migration: don't use uninitialized variables migration: send total time in QMP at "completed" stage Message-id: 1375367564-4797-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c0426aed1d2279845e6a2c3355da8b5d9926cb6 Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Date: Tue Jul 30 08:39:52 2013 +0900 migration: don't use uninitialized variables The qmp_migrate method uses the 'blk' and 'inc' parameter without checking if they're valid or not (they may be uninitialized if command is received via QMP) Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 00c14997cb95bf3e6c18c2264ef5e10642d89b3a Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Date: Fri Jul 19 11:23:45 2013 +0900 migration: send total time in QMP at "completed" stage The "completed" stage sets total_time but not has_total_time and thus it is not sent via QMP reply (but sent via HMP nevertheless) Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit a14ff8a650b5943ee6221b952494661f7cb3b5e2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jul 31 11:17:58 2013 +0200 usb-redir: fix use-after-free Reinitialize dev->cs to NULL after deleting it, to make sure it isn't used afterwards. Reported-by: Martin Cerveny <M.Cerveny@xxxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 75cc1c1fcba1987bdf3979c4289ab756c2b15742 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jul 31 10:54:11 2013 +0200 xhci: fix segfault Guest trying to reset a endpoint of a disconnected device resulted in xhci trying to dereference uport while being NULL, thereby crashing qemu. Fix that by adding a check. Drop unused dev variable while touching that code bit. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5c9736789b79ea49cd236ac326f0a414f63b1015 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Tue Jul 23 23:16:46 2013 +0200 i82378: Cleanup implementation - i82378 only exists on PCI bus; do not split implementation in 2 structs - remove BARs, which are not specified in datasheet - replace custom isa_mmio implementation by PCI bus IO region usage - use QOM casts when required Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: Style- and QOM-related changes, dropped no_user, reverted VMSD name] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 768d7e2c7f5d20f412506f3a31626185ac54c559 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Tue Jul 23 23:16:45 2013 +0200 pci-host/prep: Set isa_mem_base in the PCI host bridge Currently, it is done by i82378 PCI-ISA bridge, which shouldn't care about it. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit e0d479445876676f3f92e1bc6d5f92d4bb2500f8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 04:07:50 2013 +0200 cpu: Fix VMSTATE_CPU() semantics Commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 prepared a VMSTATE_CPU() macro for device-style VMStateDescription registration, but missed to adapt cpu_exec_init(), so that the "cpu_common" VMStateDescription was still registered for AlphaCPU (fe31e7374299c0c6172ce618b29bf2fecbd881c7) and OpenRISCCPU (da69721460e652072b6a3dd52b7693da21ffe237). Fix this. Cc: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f44c5c6794026fc2852c1c0f026b15733560ce7c Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Wed Jul 31 10:27:35 2013 +0400 MAINTAINERS: change Igor Mitsyanko's email address My email address in samsung.com domain is no longer accessible, change it to my personal gmail address. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1197cbb9eda1dc82e2fa1815ca62bc3de158353e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 30 08:20:43 2013 -1000 qdev: Use clz in print_size We can compute a floor log2 value with clz rather than a division loop. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1375208443-17288-3-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e76c756fd3d3b652c6a65ebe16f2bfb25b8d025e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 30 08:20:42 2013 -1000 qdev: Fix 32-bit compilation in print_size Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1375208443-17288-2-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 75e2a4baf1536682d111d9bee0261806737a32dc Merge: c095e10... 58ae52a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 30 18:48:58 2013 -0500 Merge remote-tracking branch 'spice/spice.v72' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * spice/spice.v72: spice: fix display initialization Message-id: 1375173625-3784-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c095e108473f57516e7ad958d905a7017b225f82 Merge: dbef7b1... cf66ee8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 30 18:48:54 2013 -0500 Merge remote-tracking branch 'kraxel/usb.85' into staging # By Gerd Hoffmann (2) and Alexey Kardashevskiy (1) # Via Gerd Hoffmann * kraxel/usb.85: hcd-ohci: add dma error handling uhci: egsm fix xhci: handle USB_RET_IOERROR Message-id: 1375173371-3378-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dbef7b17ad1d0be90696dc45b5b8162d8208643f Merge: c9dd6a9... 9b4f38e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 30 18:48:36 2013 -0500 Merge remote-tracking branch 'borntraeger/s390-for-1.6' into staging * borntraeger/s390-for-1.6: s390: Implement dump-guest-memory support for target s390x s390x/kvm: Remove redundant return code s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst() s390x/ioinst: Fixed priority of operand exceptions s390x/ioinst: Fixed alignment check in SCHM instruction s390x/ioinst: Throw addressing exception when memory_map failed s390x/ioinst: Add missing alignment checks for IO instructions s390/sclpconsole: handle char layer busy conditions Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c9dd6a9fa092827c38d21749a453bc56413411d7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:33 2013 +0200 mips_r4k: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-6-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 38c8894fe77c14c6af415c75f043370264f89382 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:32 2013 +0200 mips_jazz: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-5-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2c57bd9b06e5771c11a1850e709b595a7c283e83 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:31 2013 +0200 mips_malta: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-4-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a7ed999a7a5057d860b38c6680a1437945b5139 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:30 2013 +0200 mips_fulong2e: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96b3bfa083987518e8a10364bf994c024c455fff Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:29 2013 +0200 target-ppc: Suppress TCG instruction emulation warnings for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7b7ab18d0b9769b5f39e663fa55caed461b1202e Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 30 13:04:22 2013 -0500 chardev: fix CHR_EVENT_OPENED events for mux chardevs As of bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec, chardevs no longer use bottom-halves to issue CHR_EVENT_OPENED events. To maintain past semantics, we instead defer the CHR_EVENT_OPENED events toward the end of chardev initialization. For muxes, this isn't good enough, since a range of FEs must be able to attach to the mux prior to any CHR_EVENT_OPENED being issued, else each FE will immediately print it's initial output (prompts, banners, etc.) just prior to us switching to the next FE as part of initialization. The is new and confusing behavior for users, as they'll see output for things like the HMP monitor, even though their the current mux focus may be a guest serial port with potentially no output. We fix this by further deferring CHR_EVENT_OPENED events for FEs associated with muxes until after machine init by flagging mux chardevs with 'explicit_be_open', which suppresses emission of CHR_EVENT_OPENED events until we explicitly set the mux as opened later. Currently, we must defer till after machine init since we potentially associate FEs with muxes as part of realize (for instance, serial_isa_realizefn). Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1375207462-8141-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5fe0d351b3a7caf77f899db804d09e4553329c84 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jul 30 22:41:23 2013 +0200 tci: Fix broken build (compiler warning caused by redefined macro BIT) The definition of macro BIT in tci/tcg-target.c now conflicts with the definition of the same macro in includes qemu/bitops.h. This conflict was triggered by a recent change in the include chain of tcg.c (probably commit 949fc82314cc84162e64a5323764527a542421ce). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1375216883-23969-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9a949b94f60ee48ca0fbb5dc263c7ee77b75149f Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Tue Jul 30 23:11:07 2013 +0100 Update OpenBIOS images Update OpenBIOS images to SVN r1198 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> commit beb3faaa0027c114e37317fdba38a8a7facf3f9b Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 29 12:49:05 2013 +0200 target-mips: correct the values in the DSP tests Five tests files for DSP instructions had wrong expected values in the tests. This change fixes this, and this has been cross-checked by running the same test binaries on Malta 74K board. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9b4f38e182d18cac217f04b8b7fddf760a5b9d44 Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 10 15:26:46 2013 +0200 s390: Implement dump-guest-memory support for target s390x With this patch dump-guest-memory on s390 produces an ELF formatted, crash-readable dump. In order to implement this, the arch-specific part of dump-guest-memory was added: target-s390x/arch_dump.c contains the whole set of function for writing Elf note sections of all types for s390x. Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [fixed indentation, use CamelCase, rename note_t to Note, use S390CPU] Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit d2ee774616280db778f0b4b97a8ac514602ad52c Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 2 14:45:16 2013 +0200 s390x/kvm: Remove redundant return code Removed the redundant return code statement from handle_instruction() - it always returned 0 and never reports any errors to its caller, since errors from the sub-functions are already reported via program exceptions instead. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit c1e8dfb5e860c48adf5026a5a7cf8f35be66c22c Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 24 15:17:34 2013 +0200 s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst() Consolidated the setting of the condition code in kvm_handle_css_inst(). For the (unhandled) instructions EQBS and SQBS, we have to return an operation exception instead of cc3. Also removed the is_ioinst() function to avoid decoding the opcode twice. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 71ed827abd57dc7947ce3316118d0e601e70fac9 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 25 14:59:12 2013 +0200 s390x/ioinst: Fixed priority of operand exceptions Operand exceptions have a lower priority than specification and address exceptions. Thus the checks for operand exceptions must be done later. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 7ae5a7c0f63cc625cf31a9c9f18cc07f4049e48f Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 21 15:57:31 2013 +0200 s390x/ioinst: Fixed alignment check in SCHM instruction Register 2 only has to be aligned to a 32-byte boundary, not a full page boundary. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 0056fc9e44d5b424a0f2293edacb0381234fc9c5 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 21 13:12:45 2013 +0200 s390x/ioinst: Throw addressing exception when memory_map failed So far, the IO instructions were throwing specification exceptions when there was a problem with accessing the memory. However, the better way is to throw an addressing exception instead. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 61bf0dcb2efeffa62157de44606f9874a47ed7fe Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 21 10:13:42 2013 +0200 s390x/ioinst: Add missing alignment checks for IO instructions The IO instructions MSCH, SSCH, STSCH, TSCH, STCRW and TPI require that the second operand address must be aligned on a word boundary. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 2e14211476d70e3877180c19d72c0d96e23bdac5 Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> Date: Tue May 28 15:03:55 2013 +0200 s390/sclpconsole: handle char layer busy conditions Handle busy conditions (errno=EAGAIN) in char layer by using the new char layer in the sclp console. Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit cf66ee8e207d5c1831c7d4d8c7f2544314fc676c Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Fri Jul 26 20:52:05 2013 +1000 hcd-ohci: add dma error handling Current hcd-ohci does not handle DMA errors. However they may happen so here we introduce simple error handling. On such errors, a typical OHCI will stop operating, signal the guest about the error by sending "UnrecoverableError Event", set itself into error state and set "Detected Parity Error" in its PCI config space to signal that it got an error and so does the patch. This also adds ohci_die() call to ohci_bus_start() to handle possible failure of qemu_new_timer_ns(). Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9f0f1a0c096f29a856f2e6903beda45b44ce9cdd Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 26 17:05:06 2013 +0200 uhci: egsm fix When the guest goes suspend the uhci controller while there are pending resume requests on the ports go signal global resume instantly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ed60ff024fdb0e7ca9c002af166e10683cf49805 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jul 25 13:12:35 2013 +0200 xhci: handle USB_RET_IOERROR https://bugzilla.redhat.com/show_bug.cgi?id=980377 Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 58ae52a8dc7752e3da9a905678580b4cb8181cdc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jul 22 15:34:12 2013 +0200 spice: fix display initialization Spice has two display interface implementations: One integrated into the qxl graphics card, and one generic which can operate with every qemu-emulated graphics card. The generic one is activated in case spice is used without qxl. The logic for that only caught the "-vga qxl" case, "-device qxl-vga" goes unnoticed. Fix that by adding a check in the spice interface registration so we'll notice the qxl card no matter how it is created. https://bugzilla.redhat.com/show_bug.cgi?id=981094 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit dbe49aea76a7805f05b33d548b2e543b51fa8bb1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 20:30:29 2013 -0500 Update version for 1.6.0-rc0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d2509b667caf482b6f827ff2645cbeb9b39ce29e Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Thu Jul 18 09:57:03 2013 -0400 seccomp: add arch_prctl() to the syscall whitelist It appears that even a very simple /etc/qemu-ifup configuration can require the arch_prctl() syscall, see the example below: #!/bin/sh /sbin/ifconfig $1 0.0.0.0 up /usr/sbin/brctl addif <switch> $1 Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Message-id: 20130718135703.8247.19213.stgit@localhost Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 94113bd8a1d9acd05a879bc309cc659ace09e287 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Mon Jul 15 15:32:01 2013 -0400 seccomp: add additional asynchronous I/O syscalls A previous commit, "seccomp: add the asynchronous I/O syscalls to the whitelist", added several asynchronous I/O syscalls but left out the io_submit() and io_cancel() syscalls. This patch corrects this by adding the two missing asynchronous I/O syscalls. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Message-id: 20130715193201.943.4913.stgit@localhost Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95c1eb19eab9d57035e05a02f7184b63c1da9775 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 11:31:49 2013 +0100 linux-user: Return success from m68k set_thread_area syscall The m68k set_thread_area syscall implementation failed to set the return value. Correctly set it zero, since this syscall will always succeed. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375093909-13653-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 978fae9f1ac47e22890a1bd9ebf5fa46fe8b6ef7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 12:00:32 2013 +0100 linux-user/signal.c: Avoid using uninitialized data in ARM sigreturn Rephrase code used in ARM sigreturn functions to avoid using uninitialized variables. This fixes one genuine problem ('frame' would not be initialized if we took the error-exit path because our stackpointer was misaligned) and one which is clang being alarmist (frame_addr wouldn't be initialized, though this is harmless since unlock_user_struct ignores its second argument in these cases; however since we don't generally make use of this not-really-documented effect it's better avoided). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375095632-13735-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b04636f8665a9492143529340eab4450d492d2ee Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 12:00:31 2013 +0100 linux-user/signal.c: PPC: Silence clang uninitialized-use warning Silence a clang warning in a PPC signal return function: /home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4611:9: error: variable 'sr_addr' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized] if (!lock_user_struct(VERIFY_READ, sc, sc_addr, 1)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4636:28: note: uninitialized use occurs here unlock_user_struct(sr, sr_addr, 1); ^~~~~~~ /home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/qemu.h:442:27: note: expanded from macro 'unlock_user_struct' unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0) ^ This happens when we unlock a user struct which we never attempted to lock. Strictly, clang is actually wrong here -- it hasn't been able to spot that unlock_user_struct() doesn't use its second argument if the first is NULL. However it doesn't seem too unreasonable to demand that we pass in initialized values to it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375095632-13735-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f6bda9cb99345158722f2e70634dda6b4d53ea67 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:39 2013 +0100 spapr: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-5-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da56ff91982f25c03c997309f3d5ed6aab1e0100 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:38 2013 +0100 target-ppc/kvm.c: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-4-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e67137c6c5823ad9488b766c79f0963f6ba70f12 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:37 2013 +0100 s390x: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2440a2c3dfcb9bc463be8ff5a97382e4d2aad750 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:36 2013 +0100 block/sheepdog: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 398489018183d613306ab022653552247d93919f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:57 2013 +0200 pc: limit 64 bit hole to 2G by default It turns out that some 32 bit windows guests crash if 64 bit PCI hole size is >2G. Limit it to 2G for piix and q35 by default. User may override default 64-bit PCI hole size by using "pci-hole64-size" property. Examples: -global i440FX-pcihost.pci-hole64-size=4G -global q35-pcihost.pci-hole64-size=4G Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>, Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-8-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e8cd45c78f53501e75bd455140da63d1b7ed3685 Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Date: Mon Jul 29 16:47:56 2013 +0200 qdev: Add SIZE type to qdev properties This patch adds a 'SIZE' type property to qdev. Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-7-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b887796217b7f5b754657e85760693e4ced63356 Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Date: Mon Jul 29 16:47:55 2013 +0200 qapi: make visit_type_size fallback to type_int Currently visit_type_size checks if the visitor's type_size function pointer is NULL. If not, it calls it, otherwise it calls v->type_uint64(). But neither of these pointers are ever set. Fallback to calling v->type_int() in this third (default) case. Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-6-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c52dc697259ac826d905db57e298c50306a8c600 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:54 2013 +0200 pc: add Q35 to QOM composition tree under /machine Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-5-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44fc8c5e743b84c1d29f603e4014125dcf152d26 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:53 2013 +0200 pc: replace i440fx_common_init() with i440fx_init() It isn't used anywhere else. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-4-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1d0d4aa412eef7d98e53c313c79c359f2f65376e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:52 2013 +0200 pc: add I440FX QOM cast macro Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-3-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f5338ee30d91693f5805208e58df80f0551c3896 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Jul 29 16:47:51 2013 +0200 pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-2-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a4992d0bdeb38a57314d731d9846063b2057e6c Merge: eddbf0a... b67964d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 14:39:49 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging QOM device refactorings * Replace all uses of FROM_SYSBUS() macro with QOM cast macros i) "QOM cast cleanup for X" Indicates a mechanical 1:1 between TYPE_* and *State. ii) "QOM'ify X and Y" Indicates abstract types may have been inserted or similar changes to type hierarchy. ii) Renames Coding Style fixes such as CamelCase have been applied in some cases. * Fix for sparc floppy - cf. ii) above * Change PCI type hierarchy to provide PCI_BRIDGE() casts * In doing so, prepare for adopting QOM realize # gpg: Signature made Mon 29 Jul 2013 02:15:22 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (171) and others # Via Andreas Färber * afaerber/tags/qom-devices-for-anthony: (173 commits) sysbus: QOM parent field cleanup for SysBusDevice spapr_pci: QOM cast cleanup ioapic: QOM cast cleanup kvm/ioapic: QOM cast cleanup kvmvapic: QOM cast cleanup mipsnet: QOM cast cleanup opencores_eth: QOM cast cleanup exynos4210_i2c: QOM cast cleanup sysbus: Remove unused sysbus_new() prototype sysbus: Drop FROM_SYSBUS() xilinx_timer: QOM cast cleanup tusb6010: QOM cast cleanup slavio_timer: QOM cast cleanup pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer puv3_ost: QOM cast cleanup pl031: QOM cast cleanup pl031: Rename pl031_state to PL031State milkymist-sysctl: QOM cast cleanup m48t59: QOM cast cleanup for M48t59SysBusState lm32_timer: QOM cast cleanup ... commit b67964d70219a864ec427e727754a205475c7d6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:40:42 2013 +0200 sysbus: QOM parent field cleanup for SysBusDevice Rename the parent field and hide it from gtk-doc. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38fb090a80bc8884ff1874b827ccc9a160102f9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:39:37 2013 +0200 spapr_pci: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f54d31575d115377ba2931abc0ff41d4a0abc5a2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:31:42 2013 +0200 ioapic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b311963126a18d7f4c5390c4c094a5f015f0fca6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:30:47 2013 +0200 kvm/ioapic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 253eacc2fb1f592af9de64c5a9a2157fbf8ccb0d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:27:41 2013 +0200 kvmvapic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a4dbb8bdebd9b013df06cbc27d641de659e92ab2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:59:07 2013 +0200 mipsnet: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4632cf2d5f77e702afda1e98df86ad7b0721ef70 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:56:28 2013 +0200 opencores_eth: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 436033290065be765363ad73f9437821e0c35084 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:50:02 2013 +0200 exynos4210_i2c: QOM cast cleanup Fix one ->qdev access and rename parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 339104fe3430d19bd1932077bae839cdcc9f7cd2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:45:51 2013 +0200 sysbus: Remove unused sysbus_new() prototype Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f3d74d32e7285af2c7a289c02b948f8feccd95e1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:39:20 2013 +0200 sysbus: Drop FROM_SYSBUS() As a replacement, use your own macro based on OBJECT_CHECK(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 760d1d00b8148887003b0632da82dabab57d71f5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:32:47 2013 +0200 xilinx_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 453be7a6fc21c5794e335d937c63bc9d49b1fe1a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:30:21 2013 +0200 tusb6010: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c275471eb1beb0461cfbbb5d96b9d3bcff451c77 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:24:22 2013 +0200 slavio_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit feea4361b3d29cc7e7374db33df9ab18348cf230 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:20:20 2013 +0200 pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer Introduce type constant for new abstract base type, use QOM casts and let both non-abstract types inherit from the new base type. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9c9610b825bdf73d3323dfb5aa0cb789f2c665e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:12:40 2013 +0200 puv3_ost: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d3b800495ec886d45a0be7aa6eb4e1de7533968f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:10:14 2013 +0200 pl031: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b91f0dfd12dbd117235409980e77523fba5f8978 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:07:44 2013 +0200 pl031: Rename pl031_state to PL031State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b564b137b92c5356ffe3c308defa9d0d324272d9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:06:42 2013 +0200 milkymist-sysctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 29d1ffc3d8ccbc72dfe1e136a69235901d328d86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:01:49 2013 +0200 m48t59: QOM cast cleanup for M48t59SysBusState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fe54d857056b3cf143fe5aebcf56b7c638d62bc0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:54:54 2013 +0200 lm32_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 541ab55ff1bdc558473f0dea40deae568551bb85 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:52:32 2013 +0200 grlib_gptimer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3ddacf27057678f483bbed78db2f10419acb6501 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:49:12 2013 +0200 exynos4210_rtc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 25fce9ad7f7b77d610504e70b03e29630d66dfa9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:45:47 2013 +0200 exynos4210_pwm: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 81e1010d0fbfaa5992cffa88e1797af36cc438ef Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:41:50 2013 +0200 exynos4210_mct: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5880ce52eb5560763b378dde83b2144fe41024eb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:34:22 2013 +0200 etraxfs_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3c9a8a8c8e7b045e9f1b23ff98d54d7df9a10229 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:30:31 2013 +0200 etraxfs_timer: Rename etrax_timer to ETRAXTimerState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 831aab9b0bb3953161cdbe07a5e475723874321f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:28:31 2013 +0200 cadence_ttc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e2051b42430b014ab6bdcfeabdd869b28282c3a2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:20:25 2013 +0200 arm_timer: QOM cast cleanup for icp_pit_state Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0c88dea5ebf248017ab3bf1fab8ee5e24f1b144d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:17:41 2013 +0200 arm_timer: QOM cast cleanup for SP804State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1024d7f0137da3683c90b1fd77ec0e47c864d897 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:15:46 2013 +0200 arm_timer: Rename sp804_state to SP804State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3efc10e17d41779bbdaf27a304c8e39f744e530f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:07:22 2013 +0200 xilinx_spi: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3d29bceec1357702b2ce0909c6eb8107b806159e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:03:29 2013 +0200 pl022: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce556e0baffce0624a64bdbe9b077d59cc5f6349 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:00:25 2013 +0200 pl022: Rename pl022_state to PL022State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 88c034d5b2c406e1859c9a3746229868a20fed41 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:50:51 2013 +0200 sun4u: QOM cast cleanup for RamDevice Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13575cf6dbe88ffa9d2f03dace03aedd9e003f8d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:48:18 2013 +0200 sun4u: QOM cast cleanup for PROMState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ab6b4c661ecf3c824e08de6f5c99a855d00fa84 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:45:23 2013 +0200 sun4m: QOM cast cleanup for RamDevice Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e6f54c91758d99f476c7db01c449e01a54821e1c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:42:29 2013 +0200 sun4m: QOM cast cleanup for PROMState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b3a4996524910049ac491c512858b7a38878a444 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:38:44 2013 +0200 sun4m: QOM cast cleanup for AFXState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ef9dfa4c1c97db30d83dbcc8d31c334641b5f7ca Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:33:46 2013 +0200 sun4m: QOM cast cleanup for IDRegState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 630f44426825f18230072ce239a3dea72242e234 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:23:41 2013 +0200 pl181: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d998d93acbbefc3804200ab4387cb0286b07d7b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:20:09 2013 +0200 pl181: Rename pl181_state to PL181State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7a239e46f792b234d77425653a8259152df5d5de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:18:50 2013 +0200 milkymist-memcard: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 880fc798fd34cea6e6647a9210dc7458c9ceedb6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:03:07 2013 +0200 ppce500_spin: QOM cast cleanup Introduce type constant and use QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8c1892cf7297ff4972a4ad6dd601921c3a01d618 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:50:29 2013 +0200 ds1225y: QOM cast cleanup for SysBusNvRamState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 14134f0eb57247e3ec3b8311931a11b344096591 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:47:09 2013 +0200 ds1225y: Drop bogus qdev field from NvRamState It is not a device, and the field is not used from code either. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 91a28042958f20eff01a4d441d7072fd1902d375 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:43:06 2013 +0200 xilinx_ethlite: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 546921eac5abd7cc6c78f1ceeda3375697ac04bd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:35:15 2013 +0200 xgmac: QOM cast cleanup Introduce type constant and use QOM casts and typedef consistently. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0618db44b9da3a2525b414a0928d2b445f897eec Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:27:46 2013 +0200 stellaris_enet: Fix NetClientInfo::cleanup Drop freeing stellaris_enet_state - that is done by QOM later on unref. Both MemoryRegion init and savevm registration happen in SysBusDevice initfn currently, so move them into an unrealizefn for now. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2fa30abadfa2f9f3c47044f677e74988db274d0c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:23:22 2013 +0200 stellaris_enet: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 926d152e4c5b56b7a76a4bc77b9cf2987119b884 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:17:48 2013 +0200 smc91c111: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0e57587f2562dd0123817cefc4e95733f9daec8e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:13:17 2013 +0200 milkymist-minimac2: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b1a2aaf77499fe6ac059eeceacc8e70858f1c65d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:08:14 2013 +0200 lance: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3ff66d101be9e2f08db1b674495b489f3c969810 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:55:02 2013 +0200 lan9118: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 58076497dfeff9721ec8f7476336292c8e0eb8c7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:48:42 2013 +0200 etraxfs_eth: Rename fs_eth to ETRAXFSEthState Also add a typedef. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8784dfa4bc3cb6ee3b6115ea52a4cae2874be7f9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:44:01 2013 +0200 etraxfs_eth: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 318643beaa50f49d3bfa9e318b067784d8fb4f30 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:39:47 2013 +0200 cadence_gem: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a054e2c2ddea91c8e34fe847327c6250f6f791d6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:29:03 2013 +0200 zynq_slcr: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f1a0a79f4faeac50ea490496e92d00d7260d9437 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:21:50 2013 +0200 slavio_misc: QOM cast cleanup for APCState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 95eb2084f9e59c50cb989ef0e717e0d933bd1480 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:19:11 2013 +0200 slavio_misc: QOM cast cleanup for MiscState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit af89a444932111807b4a5a5a799829c98bdab560 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:16:03 2013 +0200 puv3_pm: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5c0e12f5a6f6da6cc63e4d0fd309f4699300daa0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 22:32:18 2013 +0200 mst_fpga: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aee31f7b4b7e23cfcdab604b6edc5e7df8d5c32f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 22:27:57 2013 +0200 milkymist-pfpu: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 829617a97cd4316872465db6b28d304e49f45f05 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 22:24:22 2013 +0200 milkymist-hpdmc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 816d323be3e66b82cd92657c783c0e5e7b88d6d9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:59:04 2013 +0200 lm32_sys: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b6e1df2e91fbf89226605a9459bc86c2aa0a404e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:47:58 2013 +0200 exynos4210_pmu: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 100bb15cb8e8788cca36f708c51c3d8e03041759 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:39:54 2013 +0200 eccmemctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ba4ea5bd299c03a7af87b0881ea6d445c46beddf Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:34:18 2013 +0200 arm_sysctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0e8982e969304995dfa39e6767b0152564a72130 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:20:52 2013 +0200 arm_l2x0: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ae1953d045eb1fdfc21279284d78c7f23aba9762 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:18:35 2013 +0200 arm_l2x0: Rename l2x0_state to L2x0State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cc3e064ee948c612c38aa99a364f5af95422e5ec Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:46:22 2013 +0200 xilinx_intc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7abad863d7249b4b501923c3c28d952c473bf23a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:40:40 2013 +0200 slavio_intctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b09a6f7b30591a5de4c4ceb22e3063a81e7317c4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:34:29 2013 +0200 realview_gic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1ecdf4022ad968f4346905c269247ff3c5d2aa2d Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:30:57 2013 +0200 puv3_intc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7fc3266f769880d5cb8d6c7995a1a5f898986baf Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:23:57 2013 +0200 pl190: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aefbc25695b00b6d6731ef0b8c53e12462bffd86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:18:42 2013 +0200 pl190: Rename pl190_state to PL190State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 47edc5a479e0927c6ce04eaf3e84db0ba7ddbb41 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:14:20 2013 +0200 omap_intc: QOM'ify omap-intc and omap2-intc Create a new abstract base type and let omap-intc and omap2-intc inherit from it. Introduce a type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1f8a9eac51427be2e9e63fcbe9d4d174640a0b19 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:53:49 2013 +0200 lm32_pic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 730bf9323d799cc42520f4512dd76d843b26d480 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:26:18 2013 +0200 grlib_irqmp: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c5e22ae3464b52789023dbdce2f565d0f6be08e2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:19:19 2013 +0200 exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 78c6abbd834e78a658e5910244397040c10a5b90 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:16:20 2013 +0200 exynos4210_gic: QOM cast cleanup for exynos4210.gic Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c03c6b9ccaa696b90a662dfcce82d84c50f832b8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:11:37 2013 +0200 exynos4210_combiner: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9062143f9e71479e98a62950178e7d803f304425 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:05:58 2013 +0200 etraxfs_pic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 285b4432da565ebcca0bc5eab1783b77ef3450c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:57:48 2013 +0200 arm_gic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3e5dd364d933ccc066cbea8620bdc16525e19230 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:49:24 2013 +0200 pl050: QOM'ify pl050_keyboard and pl050_mouse Introduce an abstract type pl050 and let pl050_keyboar and pl050_mouse inherit from it, using different instance_init functions. Introduce a type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e607f25a620e769cb6a231314aa13804723ab734 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:40:25 2013 +0200 pl050: Rename pl050_state to PL050State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2a052f6bf11f00b358cf4e0abdd6e2cf59648a71 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:37:02 2013 +0200 milkymist-softusb: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 93e7f5f42d0d3663acb94b24c8a9a329b5b13917 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:28:26 2013 +0200 versatile_i2c: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 60ecfcb354e526c29874af17bbadaabeff47409c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:24:27 2013 +0200 omap_i2c: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cc3c3b8a2239a7a1d49a83c047ae2bc63d8a71e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:13:46 2013 +0200 bitbang_i2c: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a009de46bd50c88d18f19a1405e1348c679e08d6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:41:16 2013 +0200 gpio/zaurus: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1ed09e2f4360cba2c480e64077421aa0cbc6ebc8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:37:37 2013 +0200 puv3_gpio: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 692a76d1c4a32573bf3cc19110c7fa6cc8c93f60 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:31:46 2013 +0200 pl061: QOM'ify pl061 and pl061_luminary Let pl061_luminary inherit from pl061, with differing instance_init. Introduce type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ee663e96e4db735d19dc2672150b6ccc87cc29fe Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:21:21 2013 +0200 pl061: Rename pl061_state to PL061State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 74d1e352be53d8208996772bb51c5a965fae7d06 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:19:36 2013 +0200 omap_gpio: QOM cast cleanup for omap2_gpif_s Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d300b5f6f759f5d0a7866d3da320ebae0f0b79c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:14:40 2013 +0200 omap_gpio: QOM cast cleanup for omap_gpif_s Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 049e7d226e08bbf50c17ffdc3a6793c6e45e77f2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:58:49 2013 +0200 sun4m_iommu: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 70cd8d4b75e91272a28a140818a52f5e32ef4375 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:55:59 2013 +0200 sparc32_dma: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 358cd7ac59ffbb4cef126439f829443d343e2b94 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:43:17 2013 +0200 pxa2xx_dma: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6df7cdee0b0e3667a0e7f811a9682e492f21c738 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:04:39 2013 +0200 puv3_dma: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4f800554f2b324b3cd5ea6a0e69e9e9b409aa65b Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 12:47:17 2013 +0200 pl080: QOM'ify pl080 and pl081 Let pl081 inherit from pl080 and replace triple SysBus initfn with two instance_inits. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d7ba0a62c58c3a30bc75377b1209dafc613c73be Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 12:37:06 2013 +0200 pl080: Rename pl080_state to PL080State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8df81c4b11f19eae16b88d5da3ab85704d49e6b0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:48:30 2013 +0200 empty_slot: QOM cast cleanup Introduce type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 71ffe1a01faa90fa08805e8030120b3be0efda25 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:29:17 2013 +0200 pl011: QOM'ify pl011 and pl011_luminary Let the Luminary variant inherit from the ARM one, overwriting its ID on instance_init. Introduce type constant and use QOM casts. Replace triplicated SysBusDevice initfn with QOM realizefn and instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ab640bfc2e0ae70ce7d11122ad30957ad53a1836 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:13:57 2013 +0200 pl011: Rename pl011_state Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 79bbe8bf3dbd701a13e2abe0ca0acdfae3e2231d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:08:14 2013 +0200 milkymist-uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 85f3d3024588d27453788167566c34c3c658881d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:59:55 2013 +0200 lm32_uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a0b97927e34903ed280250f90deb6d3261cdc62f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:56:36 2013 +0200 lm32_juart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0ee10242fd5c40ef0268147b23ba225b843e2d20 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:49:02 2013 +0200 lm32_juart: Relocate and tidy header Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d8e34815e46a45afaa2689b49d5f97b6306b7f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:43:22 2013 +0200 imx_serial: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ae8e04903138a51d15faaf501ea83569cd6cffa5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:38:10 2013 +0200 grlib_apbuart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 61149ff6876dffd0de6f527424d9373e4ed2ad59 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:21:05 2013 +0200 exynos4210_uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 81069b20549b3f465f172efb86f7f5034b89463a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 21:30:40 2013 +0200 escc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 534f6ff925cd7c9c8cc10094173e691938ac723f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 21:23:29 2013 +0200 cadence_uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cfc6b24578fdd55c26ed383c910fa18c4137b159 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:37:20 2013 +0200 versatilepb: QOM cast cleanup for vpb_sic_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0ca81872f741e6b93a5951d9a4f524829a911d40 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:32:06 2013 +0200 strongarm: QOM cast cleanup for StrongARMSSPState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fff3af97b9e1b1a482d8951eddac2c45ede9bf08 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:29:14 2013 +0200 strongarm: QOM cast cleanup for StrongARMUARTState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c71e67329188ee1081de53ef685e627c6e99cc87 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:26:04 2013 +0200 strongarm: QOM cast cleanup for StrongARMPPCInfo Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f55beb8477e005f49514410cc00f6913729b01bd Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:23:14 2013 +0200 strongarm: QOM cast cleanup for StrongARMGPIOInfo Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4e00210522ecbbeb81d091cfca1f2cf3f3ae00d8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:20:15 2013 +0200 strongarm: QOM cast cleanup for StrongARMRTCState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 74e075f6fbb40992b698c2418aa19ad541abf71e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:17:13 2013 +0200 strongarm: QOM cast cleanup for StrongARMPICState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7df7f67ae1bf6b2c81788a58de9cdf9cf9c03bc8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:13:06 2013 +0200 stellaris: QOM cast cleanup for stellaris_adc_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d94a40156b357cd519f9385ca1f57ea7850b9e18 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:08:23 2013 +0200 stellaris: QOM cast cleanup for stellaris_i2c_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8ef1d3947efd4044b6a33dcd0ccc5c857149e194 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:03:33 2013 +0200 stellaris: QOM cast cleanup for gptm_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 73e9d965dd071ecde5cb31327b58469275691667 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 08:58:32 2013 +0200 spitz: QOM cast cleanup for SpitzKeyboardState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7eb8104a9cd274a14b9a8a6caf38d0720e56cd21 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 08:54:33 2013 +0200 spitz: QOM cast cleanup for SLNANDState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6050ed5fb98822220f71d69c46870bdf1f3bc076 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 02:08:09 2013 +0200 pxa2xx_pic: QOM cast cleanup for PXA2xxPICState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 922bb317e488300c50344742cbd5e0028a8b3d77 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 02:03:39 2013 +0200 pxa2xx_gpio: QOM cast cleanup for PXA2xxGPIOInfo Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5354c21ef905ab36015900e7d27d352bca47f285 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:56:59 2013 +0200 pxa2xx: QOM cast cleanup for PXA2xxI2CState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 548c6f188ecfbb09b42a29393fc18252ab7bbf7d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:50:26 2013 +0200 pxa2xx: QOM cast cleanup for PXA2xxRTCState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 12a828041c666cf96d69cde85bd7ec03a7e8719f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:45:10 2013 +0200 pxa2xx: QOM cast cleanup for PXA2xxSSPState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3bdf5327c9b3e449a3ea212d063baa7fac576b1b Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:38:59 2013 +0200 musicpal: QOM cast cleanup for musicpal_key_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7012d4b46b68dcffde1f12a5dfbce5c4c02dc3ff Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:36:24 2013 +0200 musicpal: QOM cast cleanup for musicpal_gpio_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5952b01cf82ba2385065c8fc9976b8907f215b36 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:32:00 2013 +0200 musicpal: QOM cast cleanup for mv88w8618_flashcfg Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4adc8541d970f5a52a8cb05f893f4afeec255d5b Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:27:32 2013 +0200 musicpal: QOM cast cleanup for mv88w8618_pit_state Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c7bd0fd945c3f7f1d93a226dbe89a2ccf0503a58 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:22:07 2013 +0200 musicpal: QOM cast cleanup mv88w8618_pic_state Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2cca58fdc28fb860827a9f0bae1cd736df76cfa0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:16:13 2013 +0200 musicpal: QOM cast cleanup for musicpal_lcd_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a77d90e68a6a277f53bf9051c8fbc2b0d0cff1c1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:12:52 2013 +0200 musicpal: QOM cast cleanup for mv88w8618_eth_state Introduce type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2c79fed33be49cb13c9ce01a6fc42240ee7dedc8 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jul 28 07:54:55 2013 +0200 musicpal: Fix typo in name of local function The misspelling was spotted by Andreas Färber. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 91b646264e1c1f37c9ffb3a602ad748b2a6b050c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:08:01 2013 +0200 integratorcp: QOM cast cleanup for icp_pic_state Introduce type constant and use QOM cast. Fix indentation. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 257ec289b297586f45d5ea5ea01adf8672aa6a05 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:00:27 2013 +0200 integratorcp: QOM cast cleanup for integratorcm_state Rename to IntegratorCMState, introduce type constant and use QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 426533faed4338f228c715fbec21a887692ad47c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 00:52:40 2013 +0200 highbank: QOM cast cleanup for HighbankRegsState Add type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 936230a713208659c664da20287fcb5e5811743a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 00:46:43 2013 +0200 armv7m: QOM cast cleanup for BitBandState Introduce TYPE_* constant and use QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bcb34c7a61bce00136d42442c592011e56d87161 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:50:54 2013 +0200 imx_ccm: QOM cast cleanup Introduce type constant and use QOM casts. Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ff94a61c461111e25b67c7b9cabef035aa30225 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:31:08 2013 +0200 imx_avic: QOM cast cleanup Introduce type constant, use QOM casts and prepare SysBus initfn for QOM realize by resolving SysBusDevice vs. DeviceState "dev" name conflict. Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 01774ddbcf42c9521fa66679f947eb49327b8e18 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 01:13:54 2013 +0200 tcx: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5d7a11e438f78a2656000a8d549f0dea412f3dc5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 01:09:03 2013 +0200 pl110: QOM'ify pl110, pl110_versatile and pl111 Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast; set their version index in an instance_init. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Set version PL110 explicitly, suggested by Hu Tao; fixed inheritence] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 513960eaae0f33616e2f59d3b887b4d810763866 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:57:23 2013 +0200 pl110: Rename pl110_state to PL110State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 54df97bb0c625114ac8c7d8e236fbb7a2456e334 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:53:39 2013 +0200 milkymist-vgafb: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 56299135f5c32a8b606e4b62af9200a3cee65985 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:48:23 2013 +0200 milkymist-tmu2: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 66c2de562f504895eeb407a04dddd4c76ab70c50 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:35:51 2013 +0200 jazz_led: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0f31aa86255e97295b4d81e3d03a527974746d63 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:30:30 2013 +0200 g364fb: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f27321aa3a4368c1dbdd03f7e7629572c0fe18b3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:24:50 2013 +0200 exynos4210_fimd: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit af073cd9de7fa120129815cf4d2ba64156571347 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:44:48 2013 +0200 onenand: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field and prepare for QOM realize. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b354f03c5c044beeb758935890b7e48c70e2ff9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:19:32 2013 +0200 pl041: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit baae672597b90e364131241ec3a03730fe774052 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 19:45:52 2013 +0200 pl041: Rename pl041_state to PL041State Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Split off renaming from QOM cast changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 922cc6010e09ed5b976b2e60228b3d6fb09aa3a5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:15:29 2013 +0200 milkymist-ac97: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9e3f8599fc9b3a408fdaaa5a38d6bc328c08c4bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:10:44 2013 +0200 audio/marvell_88w8618: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f9e741903982e55c0dc138ab2e61059a4f3c9a76 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:04:31 2013 +0200 cs4231: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 24bf6c1f2a0ab42e4f183a10b9e9cfe468a840b3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:37:28 2013 +0200 xilinx_uartlite: QOM cast cleanups Introduce type constant and use QOM casts. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 144712ca149f49b24e27b537d05943ee8ac9e22b Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:34:25 2013 +0200 xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b85423fe756e52b373c58c328bb59790ca081ec8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 21:52:26 2013 +0200 etraxfs_ser: QOM cast cleanups Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM casts. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bcb7575068581a7589234bdd55e8d9a9351611d9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 12 19:56:00 2013 +0200 pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types Move PCIEPort's "port" property to the new type, same for "aer_log_max". Move PCIESlot's "chassis" and "slot" properties to the new type. Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5315dc78d089191e6a34a9f9f8913b7f365d504a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 12 19:21:22 2013 +0200 pci-bridge/i82801b11: Rename parent field Rename it to avoid accidental use. Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 57524e14cf12cbc148b0a268d93b3e8457a010a3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 12 19:16:46 2013 +0200 pci-bridge-dev: QOM parent field cleanup Rename it to avoid accidental use. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f055e96bd4311d287c0e03faec02a1bdbc351925 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 11 17:13:43 2013 +0200 pci-bridge: Turn PCIBridge into abstract QOM type Introduce TYPE_PCI_BRIDGE as base type and use PCI_BRIDGE() casts. Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> [AF: Updated pbm-bridge parent to TYPE_PCI_BRIDGE] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 45c0a675f9572f236b4be881576de9a626d2618f Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:11:10 2013 +0200 arm11mpcore: QOM cast cleanups for mpcore_rirq_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 56fc028166d00ecc8eb61cdfbec5a0305e15d670 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:59:01 2013 +0200 arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 97da11d8571af72b714f5a45c171bed95a38368c Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Jun 30 21:03:27 2013 +0200 cpu/a15mpcore: QOM cast cleanup Introduce type constant and cast macro and rename A15MPPrivState::busdev field to parent_obj to enforce its use. Prepares for QOM realize. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 68653fd671d3e9b167aa2423dde67dad1b217340 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Jun 30 19:37:10 2013 +0200 timer/arm_mptimer: QOM cast cleanup Introduce type constant and cast macro and rename ARMMPTimerState::busdev to enforce its use. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 5126fec766a3100de896cb92db45d862bd84a969 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Jun 30 19:07:29 2013 +0200 cpu/a9mpcore: QOM casting cleanup Introduce type constant and cast macro and enforce its use by renaming A9MPPrivState::busdev field to parent_obj. Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit f6c11d56442fafa5357ef1f1659b9e39e7bf578d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 17 18:44:48 2013 +0200 ide: Introduce abstract QOM type for PCIIDEState Needed for QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 02a9594b4f0cb8a341fe91edb41c6424ad5ae4f9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:56:30 2013 +1000 ide/piix: QOM casting sweep Use standard QOM cast macro. Remove usage of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19d46d711d93cb3a37dada945cb3410278b94bc3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 01:55:26 2013 +0200 fdc: Fix inheritence for SUNW,fdtwo Since commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b SUNW,fdtwo's initfn (realizefn since 940194c2369e50d91d1abf6f36d43853eea5e539) was using SYSBUS_FDC() cast. This uses type sysbus-fdc rather than SUNW,fdtwo. Fix this by letting SUNW,fdtwo and sysbus-fdc both inherit from an abstract type base-sysbus-fdc. This allows to consolidate realizefns by using instance_init functions. Clean up variable names and variable order while at it. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Cc: Hu Tao <hutao@xxxxxxxxxxxxxx> Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eddbf0ab9db8385d7cb57e23891c1d41488b303e Merge: 4ff1fac... b0f2027... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 11:33:48 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Stefan Hajnoczi (4) and others # Via Stefan Hajnoczi * stefanha/block: dataplane: refuse to start if device is already in use dataplane: enable virtio-blk x-data-plane=on live migration migration: fix spice migration migration: notify migration state before starting thread block: Repair the throttling code. gluster: Add image resize support Message-id: 1375112172-24863-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ff1fac4305f78d9cf987ca8abf3bda7f29c856e Merge: 3a1da42... 9337e3b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 11:33:34 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix x86 cpu-add * Change KVM PMU behavior for 1.6 # gpg: Signature made Mon 29 Jul 2013 10:28:18 AM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Eduardo Habkost (2) and Andreas Färber (1) # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: target-i386: Disable PMU CPUID leaf by default target-i386: Pass X86CPU object to cpu_x86_find_by_name() cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState" commit 3a1da42eb35a67d0dbc899dd571ea386fa11c4dd Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jul 26 16:44:34 2013 +0200 qapi: Rename ChardevBackend member "memory" to "ringbuf" Commit 1da48c6 called the new member "memory" after commit 3949e59 standardized "ringbuf". Rename for consistency. However, member name "memory" is visible in QMP since 1.5. It's undocumented just like the driver name. Keep it working anyway. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374849874-25531-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c11ed9666d69abaf217c8800f299c519b487b7d3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jul 26 16:44:33 2013 +0200 qemu-char: Register ring buffer driver with correct name "ringbuf" The driver is new in 1.4, with the documented name "ringbuf". However, it's actual name is the completely undocumented "memory". Screwed up in commit 3949e59. Fix code to match documentation. Keep the undocumented name working as an alias for compatibility. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374849874-25531-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4f57378fe69836ee2585c4ca631ff50746940fa6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jul 26 16:44:32 2013 +0200 Revert "chardev: Make the name of memory device consistent" This reverts commit 6a85e60cb994bd95d1537aafbff65816f3de4637. Commit 51767e7 "qemu-char: Add new char backend CirMemCharDriver" introduced a memory ring buffer character device driver named "memory". Commit 3949e59 "qemu-char: Saner naming of memchar stuff & doc fixes" changed the driver name to "ringbuf", along with a whole bunch of other names, with the following rationale: Naming is a mess. The code calls the device driver CirMemCharDriver, the public API calls it "memory", "memchardev", or "memchar", and the special commands are named like "memchar-FOO". "memory" is a particularly unfortunate choice, because there's another character device driver called MemoryDriver. Moreover, the device's distinctive property is that it's a ring buffer, not that's in memory. This is what we released in 1.4.0. Unfortunately, the rename missed a critical instance of "memory": the actual driver name. Thus, the new device could be used only by an entirely undocumented name. The documented name did not work. Bummer. Commit 6a85e60 fixes this by changing the documentation to match the code. It also changes some, but not all related occurences of "ringbuf" to "memory". Left alone are identifiers in C code, HMP and QMP commands. The latter are external interface, so they can't be changed. The result is an inconsistent mess. Moreover, "memory" is a rotten name. The device's distinctive property is that it's a ring buffer, not that's in memory. User's don't care whether it's in RAM, flash, or carved into chocolate tablets by Oompa Loompas. Revert the commit. Next commit will fix just the bug. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374849874-25531-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f1a145e154b0a227a1e192009ca30b351de0a8ef Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:42:01 2013 +0200 qapi.py: Permit comments starting anywhere on the line Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-10-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 28b8bd4c759389bdc8430acfa588a23e4a9a7fb8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:42:00 2013 +0200 qapi.py: Rename expr_eval to expr in parse_schema() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-9-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f3cd2b717c949f3afb502fb4c81193eb18ce6aa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:59 2013 +0200 qapi.py: Fix diagnosing non-objects at a schema's top-level Report syntax error instead of crashing. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6974ccd542d11ae5fb1e56dd3d753f2de5cc097e Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:58 2013 +0200 qapi.py: Fix schema parser to check syntax systematically Fixes at least the following parser bugs: * accepts any token in place of a colon * treats comma as optional * crashes when closing braces or brackets are missing Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9213aa5391f7c8d3766420d96888f1353af4c890 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:57 2013 +0200 qapi.py: Reject invalid characters in schema file Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2caba36cc61ee3993334bc423f0852f8006fdfcf Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:56 2013 +0200 qapi.py: Decent syntax error reporting Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c7a3f25200c8692e969f21c7f2555630ec0d0d30 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:55 2013 +0200 qapi.py: Restructure lexer and parser The parser has a rather unorthodox structure: Until EOF: Read a section: Generator function get_expr() yields one section after the other, as a string. An unindented, non-empty line that isn't a comment starts a new section. Lexing: Split section into a list of tokens (strings), with help of generator function tokenize(). Parsing: Parse the first expression from the list of tokens, with parse(), throw away any remaining tokens. In parse_schema(): record value of an enum, union or struct key (if any) in the appropriate global table, append expression to the list of expressions. Return list of expressions. Known issues: (1) Indentation is significant, unlike in real JSON. (2) Neither lexer nor parser have any idea of source positions. Error reporting is hard, let's go shopping. (3) The one error we bother to detect, we "report" via raise. (4) The lexer silently ignores invalid characters. (5) If everything in a section gets ignored, the parser crashes. (6) The lexer treats a string containing a structural character exactly like the structural character. (7) Tokens trailing the first expression in a section are silently ignored. (8) The parser accepts any token in place of a colon. (9) The parser treats comma as optional. (10) parse() crashes on unexpected EOF. (11) parse_schema() crashes when a section's expression isn't a JSON object. Replace this piece of original art by a thoroughly unoriginal design. Takes care of (1), (2), (5), (6) and (7), and lays the groundwork for addressing the others. Generated source files remain unchanged. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4f193e34c6c41abdd06c134e584312077def2bda Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:54 2013 +0200 tests: Use qapi-schema-test.json as schema parser test Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 98626572f18ddc61c08588c32a1773bc91f8624e Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:53 2013 +0200 tests: QAPI schema parser tests The parser handles erroneous input badly. To be improved shortly. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1374939721-7876-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 55d5d04884305e17b24f378a9ec616bf7354c1ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jul 28 14:57:22 2013 +0200 memory: add tracepoints for MMIO reads/writes This is quite handy to debug softmmu targets. Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1375016242-32651-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8cdd2e0abbf593a38a146d8dfc998754cefbc27a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 12:22:11 2013 +0100 tpm.c: Don't try to put -1 in a variable of type TpmModel The TpmModel type is an enum (valid values 0 and 1), which means the compiler can legitimately decide that comparisons like 'tpm_models[i] == -1' are never true. (For example it could pick 'unsigned char' as its type for representing the enum.) Avoid this issue by using TPM_MODEL_MAX to mark entries in the tpm_models[] array which aren't filled in, instead of -1. This silences a clang warning: tpm.c:43:27: error: comparison of constant -1 with expression of type 'enum TpmModel' is always false [-Werror,-Wtautological-constant-out-of-range-compare] if (tpm_models[i] == -1) { ~~~~~~~~~~~~~ ^ ~~ Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375096931-13842-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 125ee0ed9cad04307498ac2b7b0d51ad8a807360 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Mon Jul 29 17:17:45 2013 +0300 devices: Associate devices to their logical category The category will be used to sort the devices displayed in the command line help. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Message-id: 1375107465-25767-4-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Mon Jul 29 17:17:44 2013 +0300 qemu-help: Sort devices by logical functionality Categorize devices that appear as output to "-device ?" command by logical functionality. Sort the devices by logical categories before showing them to user. The sort is done by functionality rather than alphabetical. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Message-id: 1375107465-25767-3-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 949fc82314cc84162e64a5323764527a542421ce Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Mon Jul 29 17:17:43 2013 +0300 hw: import bitmap operations in qdev-core header Made small tweaks in code to prevent compilation issues when importing qemu/bitmap.h in qdev-core Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Message-id: 1375107465-25767-2-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dbd94f8e4a0a3c4164af7be5bbf6d4e907f3cc03 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Jul 29 14:48:39 2013 +1000 spapr-vscsi: fix SOLNT bit in SRP_RSP The driver calculates SOLNT bit from UCSOLNT and SCSOLNT bits from the request. The iu pointer has a type of srp_iu* which points to a union, so cmd and rsp overlap. As the vscsi_send_rsp function calls memset(iu, 0, sizeof(rsp)), it clears first 36 bytes of both cmd and rsp so cmd.sol_not is always zero at the moment of calculating rsp.sol_not. This fixes the bug. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1375073319-17488-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c04d6cfa3f17a335942f430a3d40e6041100f0c2 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 14:33:04 2013 -0500 xics: rename types to be sane and follow coding style Basically, in HW the layout of the interrupt network is: - One ICP per processor thread (the "presenter"). This contains the registers to fetch a pending interrupt (ack), EOI, and control the processor priority. - One ICS per logical source of interrupts (ie, one per PCI host bridge, and a few others here or there). This contains the per-interrupt source configuration (target processor(s), priority, mask) and the per-interrupt internal state. Under PAPR, there is a single "virtual" ICS ... somewhat (it's a bit oddball what pHyp does here, arguably there are two but we can ignore that distinction). There is no register level access. A pair of firmware (RTAS) calls is used to configure each virtual interrupt. So our model here is somewhat the same. We have one ICS in the emulated XICS which arguably *is* the emulated XICS, there's no point making it a separate "device", that would just be gross, and each VCPU has an associated ICP. Yet we call the "XICS" struct icp_state and then the ICPs 'struct icp_server_state'. It's particularly confusing when all of the functions have xics_prefixes yet take *icp arguments. Rename: struct icp_state -> XICSState struct icp_server_state -> ICPState struct ics_state -> ICSState struct ics_irq_state -> ICSIRQState Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-12-git-send-email-aliguori@xxxxxxxxxx [aik: added ics_resend() on post_load] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e68cb8b4fa7e20e666a3bfc571a0e075733d22bd Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Jul 18 14:33:03 2013 -0500 pseries: savevm support with KVM At present, the savevm / migration support for the pseries machine will not work when KVM is enabled. That's because KVM manages the guest's hash page table in the host kernel, so qemu has no visibility of it. This patch fixes this by using new kernel interfaces to extract and reinsert the guest's hash table during the migration process. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Message-id: 1374175984-8930-11-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1112cf94c82dfc743b62b5bcb96dd20f47b683a8 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:33:02 2013 -0500 pseries: savevm support for PCI host bridge This adds the necessary support for saving the state of the PAPR virtual PCI host bridge (or host bridges). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-10-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4be21d561d59da9d6f20f872882652bc3561f871 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:33:01 2013 -0500 pseries: savevm support for pseries machine This adds the necessary pieces to implement savevm / migration for the pseries machine. The most complex part here is migrating the hash table - for the paravirtualized pseries machine the guest's hash page table is not stored within guest memory, but externally and the guest accesses it via hypercalls. This patch uses a hypervisor reserved bit of the HPTE as a dirty bit (tracking changes to the HPTE itself, not the page it references). This is used to implement a live migration style incremental save and restore of the hash table contents. Normally a hash table is 16MB but it can get bigger depending on how much RAM the guest has. Due to its nature, updates to it are random so the live migration style is used for it. In addition it adds VMStateDescription information to save and restore the (few) remaining pieces of state information needed by the pseries machine. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-9-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1168ec7da182d417125d9dea46908c0cfa2c40b7 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:33:00 2013 -0500 pseries: savevm support for PAPR virtual SCSI This patch adds the necessary support for saving the state of the PAPR VIO virtual SCSI device. This also saves and restores active SCSI requests. [aik: implemented vscsi_req save/restore] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-8-git-send-email-aliguori@xxxxxxxxxx Cc: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8ca8a17c9a16eb3b2fedb3c74687c429e9cfc6aa Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Jul 18 14:32:59 2013 -0500 pseries: rework PAPR virtual SCSI The patch reimplements handling of indirect requests in order to simplify upcoming live migration support. - all pointers (except SCSIRequest*) were replaces with integer indexes and offsets; - DMA'ed srp_direct_buf kept untouched (ie. BE format); - vscsi_fetch_desc() is added, now it is the only place where descriptors are fetched and byteswapped; - vscsi_req struct fields converted to migration-friendly types; - many dprintf()'s fixed. This also removed an unused field 'lun' from the spapr_vscsi device which is assigned, but never used. So, remove it. [David Gibson: removed unused 'lun'] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-7-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a83000f5e3fac30a7f213af1ba6a8f827622854d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 14:32:58 2013 -0500 spapr-tce: make sPAPRTCETable a proper device Model TCE tables as a device that's hooked up as a child object to the owner. Besides the code cleanup, we get a few nice benefits: 1) free actually works now (it was dead code before) 2) the TCE information is visible in the device tree 3) we can expose table information as properties such that if we change the window_size, we can use globals to keep migration working. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-6-git-send-email-aliguori@xxxxxxxxxx [dwg: pseries: savevm support for PAPR TCE tables] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> [alexey: ppc kvm: fix to compile] Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db1b58e937fd80513a4bb14432808495a5846ffe Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:32:57 2013 -0500 pseries: savevm support for PAPR VIO logical tty This patch adds the necessary VMStateDescription information to support savevm/loadvm for the spapr_tty (PAPR logical serial) device. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-5-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 686fefe48375c448bc2141973008818cd9b9c671 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:32:56 2013 -0500 pseries: savevm support for PAPR VIO logical lan This patch adds the necessary VMStateDescription information to support savevm/loadvm for the spapr_llan (PAPR logical lan) device. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-4-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b368a7d864d6f32caba4ac9fb3b9738d1180315d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:32:55 2013 -0500 pseries: savevm support for VIO devices This patch adds helpers to allow PAPR VIO devices to save state common to all VIO devices during savevm. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-3-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a90db1584a00dc1d1439dc7729d99674b666b85e Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Jul 18 14:32:54 2013 -0500 target-ppc: Convert ppc cpu savevm to VMStateDescription The savevm code for the powerpc cpu emulation is currently based around the old register_savevm() rather than register_vmstate() method. It's also rather broken, missing some important state on some CPU models. This patch completely rewrites the savevm for target-ppc, using the new VMStateDescription approach. Exactly what needs to be saved in what configurations has been more carefully examined, too. This introduces a new version (5) of the cpu save format. The old load function is retained to support version 4 images. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-2-git-send-email-aliguori@xxxxxxxxxx [aik: ppc cpu savevm convertion fixed to use PowerPCCPU instead of CPUPPCState] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b0f2027cde31c645524256763672e09eeb204a9a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:02:00 2013 +0200 dataplane: refuse to start if device is already in use Dataplane must check whether a block device is in use before launching the dataplane thread. This is necessary since the thread does not synchronize with the main loop and I/O requests could cause corruption. One example is when a drive is added and a block job is started before hotplugging the virtio-blk-pci adapter. In this case we must not use dataplane mode. Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 84db52d059f3296abf7783968645c4a96d21b099 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:01:59 2013 +0200 dataplane: enable virtio-blk x-data-plane=on live migration Although the dataplane thread does not cooperate with dirty memory logging yet it's fairly easy to temporarily disable dataplane during live migration. This way virtio-blk can live migrate when x-data-plane=on. The dataplane thread will restart after migration is cancelled or if the guest resuming virtio-blk operation after migration completes. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02edd2e7665bceb307bedd8afe625c0f7e8d7cfa Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:01:58 2013 +0200 migration: fix spice migration Commit 29ae8a4133082e16970c9d4be09f4b6a15034617 ("rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition") changed the state transitions during migration setup. Spice used to be notified with MIG_STATE_ACTIVE and it detected this using migration_is_active(). Spice is now notified with MIG_STATE_SETUP and migration_is_active() no longer works. Replace migration_is_active() with migration_in_setup() to fix spice migration. Cc: Michael R. Hines <mrhines@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9287ac271d83166f99e050a0e0a4ebd462f7eb2b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:01:57 2013 +0200 migration: notify migration state before starting thread The migration thread runs outside the QEMU global mutex when possible. Therefore we must notify migration state change *before* starting the migration thread. This allows registered listeners to act before live migration iterations begin. Therefore they can get into a state that allows for live migration. When the migration thread starts everything will be ready. Without this patch there is a race condition during migration setup, depending on whether the migration thread has already transitioned from SETUP to ACTIVE state. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b681a1c73e15e08c70c10cccd9c9f5b65cca12e8 Author: Benoît Canet <benoit@xxxxxxxxxxx> Date: Fri Jul 26 22:39:22 2013 +0200 block: Repair the throttling code. The throttling code was segfaulting since commit 02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next caller does not run in a coroutine. qemu_co_queue_do_restart assume that the caller is a coroutinne. As suggested by Stefan fix this by entering the coroutine directly. Also make sure like suggested that qemu_co_queue_next() and qemu_co_queue_restart_all() can be called only in coroutines. Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 42ec24e2851674e0899f71933e0d7d9125f31d76 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jul 19 19:51:33 2013 +0530 gluster: Add image resize support Implement .bdrv_truncate in GlusterFS block driver so that GlusterFS backend can support image resizing. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Tested-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 908c67fca4b2c12a9b2336aa9c188f84468b60b7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Jul 21 12:55:46 2013 +0400 target-xtensa: check register window inline This lowers time spent in helper_window_check as reported by perf top from ~8% to ~0.15% accelerating register-intensive tests by ~20%. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 0857a06ef784783887e756d4b7b5f874512c506c Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Jul 21 07:54:37 2013 +0400 target-xtensa: don't generate dead code to access invalid SRs This fixes the following test failure caused by access to undefined SR: qemu-system-xtensa -M sim -cpu dc232b -nographic -semihosting -kernel ./test_sr.tst QEMU 1.4.50 monitor - type 'help' for more information (qemu) QEMU 1.4.50 monitor - type 'help' for more information (qemu) qemu-system-xtensa: tcg/tcg.c:1673: temp_save: Assertion `s->temps[temp].val_type == 2 || s->temps[temp].fixed_reg' failed. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit aaa2ebc567619474d219017785b46ddc9295fffa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 6 20:41:37 2013 +0200 tests/tcg/xtensa: Fix out-of-tree build Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit a00817cc4c18b7872e92765a4736fb2227cc237b Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Mar 4 07:02:00 2013 +0400 target-xtensa: avoid double-stopping at breakpoints env->exception_taken is set every time an exception is taken. It is used to allow single-stepping to stop at the first exception handler instruction. This however must exclude debug exceptions, as otherwise first step from the instruction where breakpoint was hit stops at that same instruction. Also don't check env->exception_taken directly from the gen_intermediate_code_internal, instead allocate and use TB flag XTENSA_TBFLAG_EXCEPTION. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5739006b9ab1ae3680359db5a291eae97eef0f9f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Jan 21 18:40:04 2013 +0400 target-xtensa: add fallthrough markers Explicitly mark cases where we are deliberately falling through to the following code. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 7be9d0e6d15c2f4b1a06912128c17b4eb1f32705 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Dec 17 00:32:27 2012 +0400 target-xtensa: add extui unit test Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 9337e3b6e1d779215423d9b419d42200506deaab Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jul 26 17:09:36 2013 -0300 target-i386: Disable PMU CPUID leaf by default Bug description: QEMU currently gets all bits from GET_SUPPORTED_CPUID for CPUID leaf 0xA and passes them directly to the guest. This makes the guest ABI depend on host kernel and host CPU capabilities, and breaks live migration if we migrate between hosts with different capabilities (e.g., different number of PMU counters). Add a "pmu" property to X86CPU, and set it to true only on "-cpu host", or on pc-*-1.5 and older machine-types. For now, setting pmu=on will enable the current passthrough mode that doesn't have any ABI stability guarantees, but in the future we may implement a mode where the PMU CPUID bits are stable and configurable. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c139911261c5acc9dae56b1180db320ba25636bd Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jul 26 17:09:35 2013 -0300 target-i386: Pass X86CPU object to cpu_x86_find_by_name() This will help us change the initialization code to not require carrying some intermediate values in a x86_def_t struct (and eventually kill the x86_def_t struct entirely). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 14a10fc39923b3af07c8c46d22cb20843bee3a72 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 02:53:25 2013 +0200 cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState" Commit c643bed99 moved qemu_init_vcpu() calls to common CPUState code. This causes x86 cpu-add to fail with "KVM: setting VAPIC address failed". The reason for the failure is that CPUClass::kvm_fd is not yet initialized in the following call graph: ->x86_cpu_realizefn ->x86_cpu_apic_realize ->qdev_init ->device_set_realized ->device_reset (hotplugged == 1) ->apic_reset_common ->vapic_base_update ->kvm_apic_vapic_base_update This causes attempted KVM vCPU ioctls to fail. By contrast, in the non-hotplug case the APIC is reset much later, when the vCPU is already initialized. As a quick and safe solution, move the qemu_init_vcpu() call back into the targets' realize functions. Reported-by: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx> Acked-by: Igor Mammedov <imammedo@xxxxxxxxxx> (for i386) Tested-by: Jia Liu <proljc@xxxxxxxxx> (for openrisc) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fdc43322c978d78e79e692872dcec7b4f6a447f1 Merge: b0a71c3... 8fbab3b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 07:30:31 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-130729' into staging # By Paul Durrant (1) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-130729: Xen PV Device xen_disk: support "direct-io-safe" backend option Message-id: 1375096790-12815-1-git-send-email-stefano.stabellini@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b0a71c3b397b12db727ce483f01b3336160ef6a1 Merge: f60a0d6... 867b18d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 07:30:21 2013 -0500 Merge remote-tracking branch 'agraf/s390-for-upstream' into staging # By Alexander Graf (1) and others # Via Alexander Graf * agraf/s390-for-upstream: s390: update s390-ccw.img s390/ipl: Fix boot order s390/IPL: Allow boot from other ssid than 0 Message-id: 1375092324-23943-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f60a0d6ab9ea9ba900ba3936c3471851f28f7bc4 Merge: 200a063... f53ec69... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 07:30:06 2013 -0500 Merge remote-tracking branch 'sweil/w32' into staging # By Stefan Weil (10) and others # Via Aurelien Jarno (1) and Stefan Weil (1) * sweil/w32: (27 commits) w32, w64: Add build rule for installer target-mips: fix mipsdsp_mul_q31_q31 mips_malta: fix copy of the 0x1fc00000 region linux-user: correct argument number for sys_mremap and sys_splice target-mips: Remove assignment to a variable which is never used target-mips: fix mipsdsp_trunc16_sat16_round hw/mips: align initrd to 64KB to avoid kernel error pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads mips_malta: generate SMBUS EEPROM data mips_malta: cap BIOS endian swap length at 0x3e0000 bytes mips_malta: generate SPD EEPROM data at runtime mips_malta: correct reading MIPS revision at 0x1fc00010 mips_malta: fix BIOS endianness swapping mips_malta: QOM cast cleanup target-mips: fix branch in likely delay slot tcg assert target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15 target-mips: Remove assignment to a variable which is never used misc: Use g_assert_not_reached for code which is expected to be unreachable qemu-options: mention C-a h in the -nographic doc misc: Fix new typos in comments and strings ... Message-id: 1374989579-24933-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8fbab3b62a271526c782110aed0ae160eb38c296 Author: Paul Durrant <paul.durrant@xxxxxxxxxx> Date: Mon Jul 29 10:58:01 2013 +0000 Xen PV Device Introduces a new Xen PV PCI device which will act as a binding point for PV drivers for Xen. The device has parameterized vendor-id, device-id and revision to allow to be configured as a binding point for any vendor's PV drivers. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 454ae734f1d9f591345fa78376435a8e74bb4edd Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jul 29 10:56:38 2013 +0000 xen_disk: support "direct-io-safe" backend option Support backend option "direct-io-safe". This is documented as follows in the Xen backend specification: * direct-io-safe * Values: 0/1 (boolean) * Default Value: 0 * * The underlying storage is not affected by the direct IO memory * lifetime bug. See: * http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html * * Therefore this option gives the backend permission to use * O_DIRECT, notwithstanding that bug. * * That is, if this option is enabled, use of O_DIRECT is safe, * in circumstances where we would normally have avoided it as a * workaround for that bug. This option is not relevant for all * backends, and even not necessarily supported for those for * which it is relevant. A backend which knows that it is not * affected by the bug can ignore this option. * * This option doesn't require a backend to use O_DIRECT, so it * should not be used to try to control the caching behaviour. Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the default flags passed to the qemu block layer. The original proposal for a "cache" backend option has been dropped because it was believed too wide, especially considering that at the moment the backend doesn't have a way to tell the toolstack that it is capable of supporting it. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> commit 867b18db2155c0c99ab767c4ac563e144c85871d Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jun 24 14:56:51 2013 +0200 s390: update s390-ccw.img This enables the following patches: s390/IPL: Allow boot from other ssid than 0 s390/ipl: Fix spurious errors in virtio Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5c8ded6ef55761e80353f42d8e59c6e233a2f51a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Jun 18 14:31:52 2013 +0200 s390/ipl: Fix boot order The latest ipl code adaptions collided with some of the virtio refactoring rework. This resulted in always booting the first disk. Let's fix booting from a given ID. The new code also checks for command lines without bootindex to avoid random behaviour when accessing dev_st (==0). Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c8cda8748eceeeb06f1952e7e765a0919103644d Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 17 14:29:42 2013 +0200 s390/IPL: Allow boot from other ssid than 0 We now take the subchannel set id also into account to find the boot device. If we want to use a subchannel set other than the default set 0, we first need to enable the mss facility. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f53ec6999287bfdc4f0dfdb6427baa1853f8952a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jul 15 23:49:57 2013 +0200 w32, w64: Add build rule for installer The new rules in Makefile allow building installers for QEMU on Windows using NSIS, a package which is also available for Linux distributions (so cross builds are possible). The rules for NSIS are in qemu.nsi which also uses two new images. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit 461bdb3414c40d6806194bf68c91521496b1042d Merge: b6a9f46... 6c86f40... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Jul 29 09:03:23 2013 +0200 Merge branch 'trivial-patches' of git://git.corpit.ru/qemu * 'trivial-patches' of git://git.corpit.ru/qemu: target-mips: Remove assignment to a variable which is never used misc: Use g_assert_not_reached for code which is expected to be unreachable qemu-options: mention C-a h in the -nographic doc misc: Fix new typos in comments and strings linux-user: correct argument number for sys_mremap and sys_splice PPC: dbdma: macio: Fix format specifiers (build regression) watchdog: Remove break after exit exec: Remove env from list of poisoned names hw/9pfs: Fix potential memory leak and avoid reuse of freed memory timer: make timers_state static aes: Remove unused code (NDEBUG, u16) commit b6a9f4682e62c686995cc1a1fe2ef4a57a92020b Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 29 04:06:12 2013 +0200 target-mips: fix mipsdsp_mul_q31_q31 Multiplication of two fractional word elements is not correct when sign extension/promotion is needed. This change fixes it by adding correct casts from unsigned to signed values. In addition, the tests (dpaq_sa_l_w.c and dpsq_sa_l_w.c) have been extended to trigger the current issue. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f05d4d94d6bb0e240e6cfda65972fd86601f9f0d Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Jul 29 07:00:29 2013 +0200 mips_malta: fix copy of the 0x1fc00000 region Copy the whole 0x1fe000000 region into 0x1fc00000, independently of the loaded BIOS size. This fix the MIPS make check tests. Reported-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit b0932e0617c65ae1cb0362416ec0ef32766abf5d Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Tue Jul 23 19:00:10 2013 +0200 linux-user: correct argument number for sys_mremap and sys_splice sys_mremap missed 5th argument (new_address), which caused examples that remap to a specific address to fail. sys_splice missed 5th and 6th argument which caused different examples to fail. This change has an effect on MIPS target only. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d2e46d59cac7d8259bf80abcddfebde87014d610 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 22:10:31 2013 +0200 target-mips: Remove assignment to a variable which is never used This assignment causes a compiler warning for compilations with the compiler option -Wunused-but-set-variable (which is included with -Wextra). Removing it allows using -Wextra for QEMU code without suppressing too many extra warnings. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d36c231f4b7386bd8230aa17d362b925aa419b2f Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 1 01:54:47 2013 +0200 target-mips: fix mipsdsp_trunc16_sat16_round This change corrects rounding and saturation of Q31 fractional value in mipsdsp_trunc16_sat16_round(). Overflow detection was incorrect for the corner case for PRECRQ_RS.PH, and this test case is also part of the change. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 05b3274b6bedb68ff78b76c642e17e97f3181c2f Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 27 08:35:27 2013 +0100 hw/mips: align initrd to 64KB to avoid kernel error The Linux kernel can be configured to use 64KB pages, but it also requires initrd to be page aligned. Therefore, to be safe, align the initrd to 64KB using a new INITRD_PAGE_MASK rather than TARGET_PAGE_MASK. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ea0a4f34418c9f2cad9722bb27acd6349148fac0 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:48 2013 +0100 pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads The firmware commonly used with MIPS Malta boards (YAMON) reads the status of the pflash with a 32bit memory access. On real hardware this results in the status byte being mirrored in the upper 16 bits of the read value. For example if the status byte is represented by SS then the hardware reads 0x00SS00SS. The YAMON firmware compares the status against 32bit values expecting the mirrored value and fails without it. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 35c648078aa493c3b976840eb7cf2e53ab5b7a2d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:47 2013 +0100 mips_malta: generate SMBUS EEPROM data The malta contains 2 EEPROMs, one containing SPD data for the SDRAM and another containing board information such as serial number and MAC address. These are both exposed via the PIIX4 SMBUS. Generating this data and providing it to smbus_eeprom_init will allow YAMON to read a serial number for the board and prevent it from warning that the EEPROM data is invalid. We already have the contents of the SPD EEPROM which are exposed via FPGA I2C accesses, this is provided as part of the SMBUS EEPROM data too for consistency. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 1817f56a834f55311af20d1c004b259c16fb1515 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:46 2013 +0100 mips_malta: cap BIOS endian swap length at 0x3e0000 bytes This preserves the final sector of the pflash which is used by YAMON to hold environment variables. If the endianness of the environment data is swapped then YAMON will fail to load environment variables from pflash. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 02bccc7796fec8b39dca9affc8bff8edebe0a867 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:45 2013 +0100 mips_malta: generate SPD EEPROM data at runtime The SPD EEPROM specifies the amount of memory present in the system and thus its correct contents can only be known at runtime. Calculating parts of the data on init allows the data to accurately reflect the amount of target memory present and allow YAMON to boot with an arbitrary amount of SDRAM. Where possible the SPD data will favor indicating 2 banks of SDRAM rather than 1. For example the default 128MB of target memory will be represented as 2x64MB banks rather than 1x128MB bank. This allows versions of MIPS BIOS code (such as YAMON 2.22 and older) to boot despite a bug preventing them from handling a single bank of SDRAM with the Galileo GT64120 system controller emulated by QEMU. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a427338b222b43197c2776cbc996936df0302f51 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:44 2013 +0100 mips_malta: correct reading MIPS revision at 0x1fc00010 Rather than modifying the BIOS code at its original location, copy it for the 0x1fc00000 region & modify the copy. This means the original ROM code is correctly readable at 0x1e000010 whilst the MIPS revision is readable at 0x1fc00010. Additionally the code previously operated on target memory which would later be overwritten by the BIOS image upon CPU reset if the -bios argument was used to specify the BIOS image. This led to the written MIPS revision being lost. Copying using rom_copy when -bios is used fixes this issue. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a2b8813d62fa5a35adc1a7bf58de5b2ffb754f5d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:43 2013 +0100 mips_malta: fix BIOS endianness swapping If the target is little endian (mipsel) then the BIOS image endianness is swapped so that the big endian BIOS binaries commonly produced can be loaded correctly. When using the -bios argument the BIOS is loaded using load_image_targphys, however this doesn't perform the load to target memory immediately. Instead it loads the BIOS file into a struct Rom which will later be written to target memory upon reset. However the endianness conversion was being performed before this, on init, and operating on the target memory which at this point is blank & will later be overwritten by the (big endian) BIOS image. Correct this by operating on the data referenced by struct Rom rather than the target memory when the -bios argument is used. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit cba5cb67becd66f8eae4177c4f95756f3f9bb77a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 22:19:54 2013 +0200 mips_malta: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 240ce26a0533a6e5ee472789fbfbd9f7f939197e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Jun 24 17:45:39 2013 +0100 target-mips: fix branch in likely delay slot tcg assert When a branch delay slot contains another branch instruction, the code generated raises an exception, however since is_branch==1, handle_delay_slot() doesn't get called immediately. This means ctx->bstate isn't set to BS_BRANCH, and the decoder continues decoding until a non-branch instruction is found. If the first branch was a branch likely instruction then each instruction after it generates code for the unlikely case, to go to the next tb starting after the delay slot. This results in multiple goto_tb tcg ops being generated with the same exit number. When debug is enabled this hits: tcg-op.h:2589: tcg_gen_goto_tb: Assertion `(tcg_ctx.goto_tb_issue_mask & (1 << idx)) == 0' failed. This is fixed by removing is_branch entirely, and calling handle_delay_slot() if (ctx.hflags & MIPS_HFLAG_BMASK) was set prior to the current instruction being decoded. This still prevents handle_delay_slot() being called immediately after a branch but allows it to still be called after a branch within a delay slot. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 4877866ee4fbd760c943577bb6d1eba489fb6c6e Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Thu May 23 19:37:53 2013 +0200 target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15 Multiplication of Q15 fractional halfword vectors was incorrect in the previous implementation of mipsdsp_rndq15_mul_q15_q15. It failed to take element signs into account. This change fixes it, and it adds a test case for it. The change also removes unnecessary cast in the function mipsdsp_mul_q15_q15_overflowflag21(). Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 6c86f405efd6532b58ad1b607cc9f11e856ef5ca Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 22:10:31 2013 +0200 target-mips: Remove assignment to a variable which is never used This assignment causes a compiler warning for compilations with the compiler option -Wunused-but-set-variable (which is included with -Wextra). Removing it allows using -Wextra for QEMU code without suppressing too many extra warnings. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dfc6f86567c58bc4dd02f4db098fc4c2221e85b5 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 18:21:28 2013 +0200 misc: Use g_assert_not_reached for code which is expected to be unreachable The macro g_assert_not_reached is a better self documenting replacement for assert(0) or assert(false). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit b031f413b9e68899032f04fc05fd0a6b62039b2b Author: Ramkumar Ramachandra <artagnon@xxxxxxxxx> Date: Sat Jul 20 16:53:09 2013 +0530 qemu-options: mention C-a h in the -nographic doc Otherwise, a new user will be wondering how to switch between the console and monitor. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 52f350227f737b649f09e56ed32eaf1265605611 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jul 24 19:48:56 2013 +0200 misc: Fix new typos in comments and strings All these typos were found by codespell. sould -> should emperical -> empirical intialization -> initialization successfuly -> successfully gaurantee -> guarantee Fix also another error (before before) in the same context. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 6064be7912ab262f0abd85ad042fafd435ad6651 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Tue Jul 23 19:00:10 2013 +0200 linux-user: correct argument number for sys_mremap and sys_splice sys_mremap missed 5th argument (new_address), which caused examples that remap to a specific address to fail. sys_splice missed 5th and 6th argument which caused different examples to fail. This change has an effect on MIPS target only. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 04dd125942b11136a8c96d36591ad043b8653a7b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 12 18:48:39 2013 +0200 PPC: dbdma: macio: Fix format specifiers (build regression) Fix a number of warnings for 32 bit builds (tested on MingW and Linux): CC hw/ide/macio.o qemu/hw/ide/macio.c: In function 'pmac_ide_atapi_transfer_cb': qemu/hw/ide/macio.c:134:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format] qemu/hw/ide/macio.c: In function 'pmac_ide_transfer_cb': qemu/hw/ide/macio.c:215:5: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'int64_t' [-Werror=format] qemu/hw/ide/macio.c:222:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format] qemu/hw/ide/macio.c:264:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format] cc1: all warnings being treated as errors make: *** [hw/ide/macio.o] Error 1 Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f6019e5fada012f7f396c89968f2c242f92f40df Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jul 23 06:46:49 2013 +0200 watchdog: Remove break after exit This was dead code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 0dd60ae2f4efd2966e8d6cb7db653d5d17a68c62 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jul 21 16:43:14 2013 +0200 exec: Remove env from list of poisoned names The global variable env was removed some time ago, so this name may be used without any restriction now. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 80cba1b71eb9a75404d1effddec8ffa9f0d6d6fb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 12:14:36 2013 +0200 hw/9pfs: Fix potential memory leak and avoid reuse of freed memory The leak was reported by cppcheck. Function proxy_init also calls g_free for ctx->fs_root. Avoid reuse of this memory by setting ctx->fs_root to NULL. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d9cd4007d5c7e877a006392eeafb2291f06d6685 Author: Liu Ping Fan <qemulist@xxxxxxxxx> Date: Sun Jul 21 08:43:00 2013 +0000 timer: make timers_state static Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 9220eeed62e06e115c83e6ffed24907c24c99197 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jun 29 15:10:48 2013 +0000 aes: Remove unused code (NDEBUG, u16) The current code includes assert.h very early (from qemu-common.h), so the definition of NDEBUG was without any effect. In the initial version from 2004, NDEBUG was used to disable the assertions. Those assertions are not in time critical code, so it is no longer reasonable to disable them and the definition of NDEBUG can be removed. Type u16 is also unused and therefore does not need a type definition. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 200a06397f5d3e982028fd78b25b420507ade021 Merge: b96919e... 5b24c64... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 17:53:19 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix cpu_memory_rw_debug() breakage in s390x KVM * Replace final CPUArchState in sysemu/kvm.h * Introduce model subclasses for XtensaCPU * Introduce CPUClass::gdb_num[_core]_regs * Introduce CPUClass::gdb_core_xml_file * Introduce CPUClass::gdb_{read,write}_register() * Propagate CPUState further in gdbstub # gpg: Signature made Fri 26 Jul 2013 05:04:28 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (23) and others # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: (25 commits) cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML target-cris: Factor out CPUClass::gdb_read_register() hook for v10 cpu: Introduce CPUClass::gdb_{read,write}_register() gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions target-xtensa: Move cpu_gdb_{read,write}_register() target-lm32: Move cpu_gdb_{read,write}_register() target-s390x: Move cpu_gdb_{read,write}_register() target-alpha: Move cpu_gdb_{read,write}_register() target-cris: Move cpu_gdb_{read,write}_register() target-microblaze: Move cpu_gdb_{read,write}_register() target-sh4: Move cpu_gdb_{read,write}_register() target-openrisc: Move cpu_gdb_{read,write}_register() target-mips: Move cpu_gdb_{read,write}_register() target-m68k: Move cpu_gdb_{read,write}_register() target-arm: Move cpu_gdb_{read,write}_register() target-sparc: Move cpu_gdb_{read,write}_register() target-ppc: Move cpu_gdb_{read,write}_register() target-i386: Move cpu_gdb_{read,write}_register() cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs gdbstub: Drop dead code in cpu_gdb_{read,write}_register() ... commit 5b24c64188b8253e2f004191c7e8d4a799f90eaa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 15:08:22 2013 +0200 cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML Replace the GDB_CORE_XML define in gdbstub.c with a CPUClass field. Use first_cpu for qSupported and qXfer:features:read: for now. Add a stub for xml_builtin. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90431220be42d773084d88635961a45febb01c5d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 14:39:41 2013 +0200 target-cris: Factor out CPUClass::gdb_read_register() hook for v10 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5b50e790f9e9403d11b4164193b76530ee85a2a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jun 29 04:18:45 2013 +0200 cpu: Introduce CPUClass::gdb_{read,write}_register() Completes migration of target-specific code to new target-*/gdbstub.c. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 986a2998932e978e63fc3b7ead1fef81f7aad52e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 13:05:05 2013 +0200 gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions This avoids polluting the global namespace with a non-prefixed macro and makes it obvious in the call sites that we return. Semi-automatic conversion using, e.g., sed -i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target-*/gdbstub.c followed by manual tweaking for sparc's GET_REGA() and Coding Style. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 25d8ac0e31c3c68dfdd6da7c33b87870b4a3b623 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:57:38 2013 +0200 target-xtensa: Move cpu_gdb_{read,write}_register() Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d0ff8d056d3aab93b4a7b7910f938652c2febc77 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:55:44 2013 +0200 target-lm32: Move cpu_gdb_{read,write}_register() Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cfae5c905a29128372e1f8ec4a29d70e1361d07b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:54:12 2013 +0200 target-s390x: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c3ce8eb3c50272d81bfea30ae9a9bd959fd68a54 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:52:32 2013 +0200 target-alpha: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 213c19d69fb9c7537afb8539bbdf12dba90ba0ef Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:50:22 2013 +0200 target-cris: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eabfc2398f3e4e553843c15b1e3a3af2a52a7fcb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:45:47 2013 +0200 target-microblaze: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2f93773241f99457a0957a43b2490be6f594cfa7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:42:52 2013 +0200 target-sh4: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 30028739eb6b2e95b94b957f3b4f8f258da3aa88 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:40:38 2013 +0200 target-openrisc: Move cpu_gdb_{read,write}_register() Reviewed-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b96919e068388309b655c7dc1afa41706d728efd Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Fri Jul 26 21:42:51 2013 +0100 sun4m: add display width and height to the firmware configuration Currently the graphics resolution for TCX is fixed at 1024x768, however other framebuffers are capable of supporting additional resolutions. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> CC: Anthony Liguori <aliguori@xxxxxxxxxx> CC: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 405c97c3a5950d8a49b90cb977e33b6b3f9a8f95 Merge: 2fb861e... e340936... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 16:54:19 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (16) and Ian Main (2) # Via Kevin Wolf * kwolf/for-anthony: Add tests for sync modes 'TOP' and 'NONE' Implement sync modes for drive-backup. Implement qdict_flatten() blockdev: Split up 'cache' option blockdev: Rename 'readonly' option to 'read-only' qcow2: Use dashes instead of underscores in options blockdev: Rename I/O throttling options for QMP QemuOpts: Add qemu_opt_unset() block: Allow "driver" option on the top level qapi: Anonymous unions qapi.py: Maintain a list of union types qapi: Add consume argument to qmp_input_get_object() qapi: Flat unions with arbitrary discriminator qapi: Add visitor for implicit structs docs: Document QAPI union types qapi-visit.py: Implement 'base' for unions qapi-visit.py: Split off generate_visit_struct_fields() qapi-types.py: Implement 'base' for unions Message-id: 1374870032-31672-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2fb861eb02f0955876e15b3de1f9c2d1f469dcf2 Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 22 15:33:37 2013 -0300 seccomp: removing unused syscalls gtom whitelist v3 update: - reincluding getrlimit(), it is used by Xen. v2 update: - reincluding setrlimit(), it is used by Xen. Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1374518017-10424-3-git-send-email-otubo@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d7b2ad43603d6c130b64bdc064bb8572505bb25 Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 22 15:33:36 2013 -0300 seccomp: no need to check arch in syscall whitelist v2 update: - set libseccomp 2.1.0 as requirement on configure script. Since libseccomp 2.0 there's no need to check the architecture type anymore. Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1374518017-10424-2-git-send-email-otubo@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 814ac26c2d3820b85f05b696735d4e1e6d7d05aa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:38:42 2013 +0200 target-mips: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c88de14ca45257feb82e23f3ff07e861010bd5ba Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:33:56 2013 +0200 target-m68k: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 58850dad68f3458cf430395db2e016f1d03ad7de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:32:15 2013 +0200 target-arm: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d19c87f44d8d7bac48d4b35863ae825f872ed54a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:29:26 2013 +0200 target-sparc: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0980bfabbc2e93d42c6b5ade578b371c36f6f23d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:26:33 2013 +0200 target-ppc: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f20f9df06e6f724d2ccdaf5f9a6dae45c061db75 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:07:54 2013 +0200 target-i386: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 23:18:47 2013 +0200 cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs CPUState::gdb_num_regs replaces num_g_regs. CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS. Allows building gdb_register_coprocessor() for xtensa, too. As a side effect this should fix coprocessor register numbering for SMP. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19a77215f1ba966c4d37dadec45f38be789b8529 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 11:52:52 2013 +0200 gdbstub: Drop dead code in cpu_gdb_{read,write}_register() GET_REG*() macros include a return statement, thus no need for break. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 47d74ef57a0fe66fa2fdcce46b4daec4f60a1fc8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 11:17:26 2013 +0200 gdbstub: Fix cpu_gdb_{read,write}_register() Coding Style Add braces, replace tabs, remove trailing whitespace, drop space before parenthesis and place break etc. below case statements. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 67cce5617ee968946fc6402f02743fffaa4a1a02 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 01:47:51 2013 +0200 target-xtensa: Introduce XtensaCPU subclasses Register a CPU type per core registered. Save the XtensaConfig in XtensaCPUClass and copy it from there to CPUXtensaState, to avoid touching every env->config access for now. Prepares for storing per-class GDB register count. Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9282b73a4078f10b5d1c96707aeed213eedbc8e1 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jul 26 17:48:06 2013 +0200 target-s390x: Fix CPUState rework fallout Commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e exec: Change cpu_memory_rw_debug() argument to CPUState missed to update s390x KVM code, breaking the build. Let's fix it up. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38e478eccfb1ace415914a331c8e1b16ae64b57f Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 20:50:21 2013 +0200 kvm: Change prototype of kvm_update_guest_debug() Passing a CPUState pointer instead of a CPUArchState pointer eliminates the last target dependent data type in sysemu/kvm.h. It also simplifies the code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0ac46af39ee84461782b6f096ba1a165c7b0e503 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:42:25 2013 +0200 linux-user: Avoid redundant ENV_GET_CPU() This fixes a mismerge in 874ec3c5b3821bb964f9f37b2f930f2a9ce51652. Acked-by: Riku Voipio <riku.voipio@xxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e3409362bd64731e042c9d001e43cc1d13d2df5d Author: Ian Main <imain@xxxxxxxxxx> Date: Fri Jul 26 11:39:05 2013 -0700 Add tests for sync modes 'TOP' and 'NONE' This patch adds tests for sync modes top and none. Test for 'TOP' is separated out as it requires a backing file. Also added a test for invalid format. Signed-off-by: Ian Main <imain@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit fc5d3f843250c9d3bfa2bcfdb7369f4753a49f0e Author: Ian Main <imain@xxxxxxxxxx> Date: Fri Jul 26 11:39:04 2013 -0700 Implement sync modes for drive-backup. This patch adds sync-modes to the drive-backup interface and implements the FULL, NONE and TOP modes of synchronization. FULL performs as before copying the entire contents of the drive while preserving the point-in-time using CoW. NONE only copies new writes to the target drive. TOP copies changes to the topmost drive image and preserves the point-in-time using CoW. For sync mode TOP are creating a new target image using the same backing file as the original disk image. Then any new data that has been laid on top of it since creation is copied in the main backup_run() loop. There is an extra check in the 'TOP' case so that we don't bother to copy all the data of the backing file as it already exists in the target. This is where the bdrv_co_is_allocated() is used to determine if the data exists in the topmost layer or below. Also any new data being written is intercepted via the write_notifier hook which ends up calling backup_do_cow() to copy old data out before it gets overwritten. For mode 'NONE' we create the new target image and only copy in the original data from the disk image starting from the time the call was made. This preserves the point in time data by only copying the parts that are *going to change* to the target image. This way we can reconstruct the final image by checking to see if the given block exists in the new target image first, and if it does not, you can get it from the original image. This is basically an optimization allowing you to do point-in-time snapshots with low overhead vs the 'FULL' version. Since there is no old data to copy out the loop in backup_run() for the NONE case just calls qemu_coroutine_yield() which only wakes up after an event (usually cancel in this case). The rest is handled by the before_write notifier which again calls backup_do_cow() to write out the old data so it can be preserved. Signed-off-by: Ian Main <imain@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f660dc6a2e97756596b2e79ce6127a3034f2308b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 8 17:11:58 2013 +0200 Implement qdict_flatten() qdict_flatten(): For each nested QDict with key x, all fields with key y are moved to this QDict and their key is renamed to "x.y". This operation is applied recursively for nested QDicts. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 29c4e2b50d95f4a15c3dd62b39f3402f05a34907 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Jul 18 16:31:25 2013 +0200 blockdev: Split up 'cache' option The old 'cache' option really encodes three different boolean flags into a cache mode name, without providing all combinations. Make them three separate options instead and translate the old option to the new ones for drive_init(). The specific boolean options take precedence if the old cache option is specified as well, so the following options are equivalent: -drive file=x,cache=none,cache.no-flush=true -drive file=x,cache.writeback=true,cache.direct=true,cache.no-flush=true Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 0f227a947004aa9043d4386f4a47d6739499b88f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 19 20:07:29 2013 +0200 blockdev: Rename 'readonly' option to 'read-only' Option name cleanup before it becomes a QMP API. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 64aa99d3e0333dea73d7505190659a02ca909292 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 17 14:45:34 2013 +0200 qcow2: Use dashes instead of underscores in options This is what QMP wants to use. The options haven't been enabled in any release yet, so we're still free to change them. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 57975222b6a928dd4a4a8a7b37093cc8ecba5045 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 17 14:41:54 2013 +0200 blockdev: Rename I/O throttling options for QMP In QMP, we want to use dashes instead of underscores in QMP argument names, and use nested options for throttling. The new option names affect the command line as well, but for compatibility drive_init() will convert the old option names before calling into the code that will be shared between -drive and blockdev-add. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 0dd6c5266313c861cf36476da86599d368ec41fc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 17 14:40:37 2013 +0200 QemuOpts: Add qemu_opt_unset() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 9 11:09:02 2013 +0200 block: Allow "driver" option on the top level This is traditionally -drive format=..., which is now translated into the new driver option. This gives us a more consistent way to select the driver of BlockDriverStates that can be used in QMP context, too. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 69dd62dfd60631ba69201d8a197fde1ece4b4df3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 8 16:14:21 2013 +0200 qapi: Anonymous unions The discriminator for anonymous unions is the data type. This allows to have a union type that allows both of these: { 'file': 'my_existing_block_device_id' } { 'file': { 'filename': '/tmp/mydisk.qcow2', 'read-only': true } } Unions like this are specified in the schema with an empty dict as discriminator. For this example you could take: { 'union': 'BlockRef', 'discriminator': {}, 'data': { 'definition': 'BlockOptions', 'reference': 'str' } } { 'type': 'ExampleObject', 'data: { 'file': 'BlockRef' } } Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit ea66c6d8819c8fc5f73a28554992be64e5399fed Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 16 10:49:41 2013 +0200 qapi.py: Maintain a list of union types Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit e8316d7e8e8339a9ea593ba821a0aad26908c0d5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 8 11:33:07 2013 +0200 qapi: Add consume argument to qmp_input_get_object() This allows to just look at the next element without actually consuming it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 50f2bdc75c5ee00617ad874c9ceac2cea660aa1e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 3 15:58:57 2013 +0200 qapi: Flat unions with arbitrary discriminator Instead of the rather verbose syntax that distinguishes base and subclass fields... { "type": "file", "read-only": true, "data": { "filename": "test" } } ...we can now have both in the same namespace, allowing a more direct mapping of the command line, and moving fields between the common base and subclasses without breaking the API: { "driver": "file", "read-only": true, "filename": "test" } Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 761d524dbcc5bb41213dd0f238f43c273bc2b077 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 3 15:52:42 2013 +0200 qapi: Add visitor for implicit structs These can be used when an embedded struct is parsed and members not belonging to the struct may be present in the input (e.g. parsing a flat namespace QMP union, where fields from both the base and one of the alternative types are mixed in the JSON object) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 51631493e4876081ae27078b50bd95bd4418bf37 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 16 13:17:27 2013 +0200 docs: Document QAPI union types Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 0aef92b90d24858eea1ebd52a51bc31563f1fb52 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 2 16:20:04 2013 +0200 qapi-visit.py: Implement 'base' for unions This implements the visitor part of base types for unions. Parsed into QMP, this example schema definition... { 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } } { 'type': 'BlockOptionsQcow2, 'data': { 'lazy-refcounts': 'bool' } } { 'union': 'BlockOptions', 'base': 'BlockOptionsBase', 'data': { 'raw': 'BlockOptionsRaw' 'qcow2': 'BlockOptionsQcow2' } } ...would describe the following JSON object: { "type": "qcow2", "read-only": true, "data": { "lazy-refcounts": false } } Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit d131c897f3dea8b76d7a487af0f7f5f11d0500a3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 2 16:18:35 2013 +0200 qapi-visit.py: Split off generate_visit_struct_fields() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit e2503f5e213e30e3e9a397d454a35c10b5bdc899 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 2 12:18:47 2013 +0200 qapi-types.py: Implement 'base' for unions The new 'base' key in a union definition refers to a struct type, which is inlined into the union definition and can represent fields common to all kinds. For example the following schema definition... { 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } } { 'union': 'BlockOptions', 'base': 'BlockOptionsBase', 'data': { 'raw': 'BlockOptionsRaw' 'qcow2': 'BlockOptionsQcow2' } } ...would result in this generated C struct: struct BlockOptions { BlockOptionsKind kind; union { void *data; BlockOptionsRaw * raw; BlockOptionsQcow2 * qcow2; }; bool read_only; }; Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f0ef1cf4d6c996d90df6e4a32a82423d180f3e4d Merge: b142d79... f290e49... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 13:04:21 2013 -0500 Merge remote-tracking branch 'rth/tcg-next' into staging # By Claudio Fontana (1) and others # Via Richard Henderson * rth/tcg-next: tcg: Remove temp_buf tcg/aarch64: Implement tlb lookup fast path tcg/aarch64: implement ldst 12bit scaled uimm offset Message-id: 1373919944-8521-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b142d79328cd0a0556634b0eeb891a15bfd5a00c Merge: 003e26b... 9b146e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 13:04:07 2013 -0500 Merge remote-tracking branch 'jliu/or32' into staging # By Jia Liu # Via Jia Liu * jliu/or32: target-openrisc: Free typename in openrisc_cpu_class_by_name hw/openrisc: Use stderr output instead of qemu_log hw/openrisc: Indent typo Message-id: 1374576458-22808-1-git-send-email-proljc@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 003e26bc9f7c4f5cd90e046ae112c1d09363b8d1 Merge: d1ed9f4... 340d51d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 25 15:58:29 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-2013-7-25' into staging # By Laszlo Ersek # Via Michael Roth * mdroth/qga-pull-2013-7-25: qga: escape cmdline args when registering win32 service (CVE-2013-2231) ga_install_service(): nest error paths more idiomatically qga/service-win32.c: diagnostic output should go to stderr Message-id: 1374784644-29078-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx commit d1ed9f412d866106e6370e9a8b23d79baa750b61 Merge: 874ec3c... 41b8280... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 25 15:56:36 2013 -0500 Merge remote-tracking branch 'kraxel/seabios-1.7.3' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.3: seabios: update to 1.7.3 Message-id: 1374673573-25074-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 874ec3c5b3821bb964f9f37b2f930f2a9ce51652 Merge: d2f5ea9... a033381... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 25 15:56:06 2013 -0500 Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging * riku/linux-user-for-upstream: (21 commits) linux-user: Handle compressed ISA encodings when processing MIPS exceptions linux-user: Unlock mmap_lock when resuming guest from page_unprotect linux-user: Reset copied CPUs in cpu_copy() always linux-user: Fix epoll on ARM hosts linux-user: fix segmentation fault passing with h2g(x) != x linux-user: Fix pipe syscall return for SPARC linux-user: Fix target_stat and target_stat64 for OpenRISC linux-user: Avoid conditional cpu_reset() configure: Make NPTL non-optional linux-user: Enable NPTL for x86-64 linux-user: Add i386 TLS setter linux-user: Clean up handling of clone() argument order linux-user: Add missing 'break' in i386 get_thread_area syscall linux-user: Enable NPTL for m68k linux-user: Enable NPTL for SPARC targets linux-user: Enable NPTL for OpenRISC linux-user: Move includes of target-specific headers to end of qemu.h configure: Enable threading for unicore32-linux-user configure: Enable threading on all ppc and mips linux-user targets configure: Don't say target_nptl="no" if there is no linux-user target ... Conflicts: linux-user/main.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 340d51df5592c5c11fc3885f7bdedbe581b87366 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Jul 3 15:14:10 2013 +0200 qga: escape cmdline args when registering win32 service (CVE-2013-2231) Reported-by: Lev Veyde <lveyde@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 108365fdb0042454413d2610ffe7194003ba4ae9 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Jul 3 15:14:09 2013 +0200 ga_install_service(): nest error paths more idiomatically Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit febf1c49be1bd80d7c95653fc0caa87d250b2c72 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Jul 3 15:14:08 2013 +0200 qga/service-win32.c: diagnostic output should go to stderr Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d2f5ea9704af781d4cf14e4be08bb4e37a180260 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:38 2013 +0200 pc-testdev: add I/O port to test memory.c auto split/combine The ports at 0xe8..0xeb have impl.min/max_access_size == 1, so that memory accesses are split and combined by the memory core. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-29-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e7342aa39b3193473ded24cbf2233930665796e9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:37 2013 +0200 memory: check memory region endianness, not target's When combining multiple accesses into a single value, we need to do so in the device's desired endianness. The target endianness does not have any influence. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-28-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 547e9201c52629eef71b0eb8cb48dacc50bcf759 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:36 2013 +0200 memory: pass MemoryRegion to access_with_adjusted_size The accessors all use a MemoryRegion opaque value. Avoid going uselessly through void*. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-27-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e11ef3d184c88a316f48ba2472dcb2937d9fa24b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:35 2013 +0200 memory: move functions around Prepare for next patch, no semantic change. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-26-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8fefa31be98ada3677add2008732d0b1a17ed28d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:34 2013 +0200 qtest: add test for ISA I/O space endianness This writes a register and reads its 1/2/4 byte parts. Masking is done in the device model. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-25-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9c9984242ce46ccf8636f5c19e81d794e84aa0c7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:33 2013 +0200 default-configs/ppc64: add all components of i82378 SuperIO chip used by prep The device provides an ISA bus so that pseries can also run the endianness test. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-24-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 85d3846a397e8fa95de0a84479007172e6d30668 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:32 2013 +0200 default-configs: add SuperIO to SH4 The device provides an ISA bus to run the endianness test on. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-23-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be6d08be25d38185ab7de02fab1b2ac74991741b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:31 2013 +0200 default-configs: add test device to all machines supporting ISA This will let these machines run an endianness test for ISA I/O port space. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-22-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b8fbcd87007a170a9778ec6645c06f543977067 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:30 2013 +0200 sparc64: unbreak ... by making apb a subclass of TYPE_PCI_HOST_BRIDGE. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-21-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b23ea25f5098f576d10a8833bc60b8f8394f9b0b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:29 2013 +0200 sh4: unbreak r2d ... by making sh_pci a subclass of TYPE_PCI_HOST_BRIDGE. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-20-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b332d24a8e1290954029814d09156b06ede358e2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:28 2013 +0200 mips: degrade BIOS error to warning No free MIPS BIOS is available, so it makes little sense to quit. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-19-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 504054357b7e491e0bc354ee5c8061071e51fc61 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:27 2013 +0200 pc-testdev: remove useless cpu_to_le64/le64_to_cpu So far the device was only used on little-endian machines. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-18-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b7faba71635cc4b16bb1472614aa497554797af6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:26 2013 +0200 pc-testdev: support 8 and 16-bit accesses to 0xe0 This will let us use the testdev to test endianness. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-17-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f36a6382b8fb9677fd542b9c59b1ea1ad40ee9cf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:25 2013 +0200 Revert "ioport: remove LITTLE_ENDIAN mark for portio" This reverts commit c3cb8e77804313e1be99b5f28a34a346736707a5. The scenario where I/O ports are accessed with DEVICE_LITTLE_ENDIAN endianness now works and will soon be unit tested. Since the PortioList indirection assumes little endian, define portio_ops the same way. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-16-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 61fcb628627ea464dc1954f615ae13edfefd284f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:24 2013 +0200 isa_mmio: delete It is not used anymore. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-15-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0a70e094cd05c35dddfe471fd96266d02ac0dade Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:23 2013 +0200 ebus: do not use isa_mmio This is untested, because ebus does not have a libqos module. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-14-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5519ad0c245860526e8d269e1cd20fe239447736 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:22 2013 +0200 sparc64: remove indirection for I/O port access This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-13-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e37b80faa60c81e958d560c937e5f29b13977627 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:21 2013 +0200 mips_fulong2e: do not use isa_mmio This board is little-endian, but still isa_mmio should die. :) Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-12-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bdb75c79878c7a23a7891124d50483329dd8924d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:20 2013 +0200 mipssim: do not use isa_mmio Untested, this board does not support PCI so it cannot run endianness-test. It should fix endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-11-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 685015021774e98b87ed48ac2c55dfd3917fd820 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:19 2013 +0200 ppc440_bamboo: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-10-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ee77854fa52b8cc7c9a0d318be467a5b5741bc04 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:18 2013 +0200 mips_malta: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-9-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3959496874e7d1ee84e3428ddf1a10dfef972c1d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:17 2013 +0200 mips_r4k: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-8-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f51100cc51f29b51aeafb5b56518a75e76e53024 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:16 2013 +0200 mips_jazz: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-7-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 921f8040d39a5f34d4b6bfd6e547c4cfcd3c1992 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:15 2013 +0200 prep: fix I/O port endianness Do not swap endianness here, it will happen during cpu_{in,out}{b,w,l}. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 66aab867cedd2a2d81b4d64eff7c3e0f6f272bbf Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Jul 22 15:54:14 2013 +0200 spapr_pci: remove indirection for I/O port access This fixes endianness bugs in I/O port access. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b1096e02d32e4c3b5a51e767836d9511132a928 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:13 2013 +0200 ppc_newworld: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d52857ea5677c1b013a289e2e44db24961a59b0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:12 2013 +0200 ppc_oldworld: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4759ab6b2d1b99714bb12409a6021e7a9d0bd473 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:11 2013 +0200 sh4: do not use isa_mmio This fixes endianness bugs in I/O port access (for sh4eb). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 41b8280a1c089f621f94db4fad7a37c6080430b3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jul 24 15:32:31 2013 +0200 seabios: update to 1.7.3 Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3): Alex Williamson (4): seabios q35: Enable all PIRQn IRQs at startup seabios q35: Add new PCI slot to irq routing function seabios: Add a dummy PCI slot to irq mapping function pciinit: Enable default VGA device Asias He (2): virtio-scsi: Set _DRIVER_OK flag before scsi target scanning virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd} Avik Sil (1): USB-EHCI: Fix null pointer assignment Christian Gmeiner (5): geodevga: fix errors in geode_fp_* functions geodevga: move framebuffer setup geodevga: move output setup to own function geodevga: add debug to msr functions geodevga: fix wrong define name David Woodhouse (26): Add macros for pushing and popping struct bregs Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if CONFIG_COREBOOT is post: Export functions which will be used individually by CSM Export callrom() for CSM to use Export copy_smbios() from biostables.c Import LegacyBios.h from OVMF Complete and checksum EFI_COMPATIBILITY16_TABLE at build time Add pic_save_mask() and pic_restore_mask() functions Add CSM support Add README.CSM Add find_pmtimer() function Enable PMTIMER for CSM build Fix rom_reserve()/rom_confirm() for CSM oprom dispatch Don't calibrate TSC if PMTIMER is already set up Move find_pmtimer() to ACPI table setup where it logically belongs Use find_pmtimer() after copying Xen ACPI tables Use find_pmtimer() after copying coreboot ACPI tables Unify return path for CSM to go via csm_return() Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU Implement !CONFIG_OPTIONROMS support for CSM Implement !CONFIG_BOOT for CSM Enable VGA output when settings bochs-specific mode Disable CONFIG_THREAD_OPTIONROMS for CSM build Fix return type of le64_to_cpu() and be64_to_cpu() Rename find_pmtimer() to find_acpi_features() Add acpi_reboot() reset method using RESET_REG Gerd Hoffmann (3): config: allow DEBUG_IO for !QEMU coreboot: add qemu detection tweak coreboot qemu detection Hu Tao (1): Add pvpanic device driver Kevin O'Connor (99): pmm: Use 'struct segoff_s' in pmm header. Minor: Update README - variable changes are now reset on soft-reboots. Normalize POST initialization function name suffixes. POST: Reorganize post init functions for better grouping and reusability. Fix rebase error in commit 8a0a972f that broke LOWMEM variables. Support calling a function other than maininit() from reloc_preinit(). Ensure exported symbols are visible in the final link POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c. POST: Reorganize post entry and "preinit" functions. POST: Move cpu caching and dma setup to platform_hardware_setup(). Undo incorrect assumptions about Xen in commit 6ca0460f. Determine century during init and store in VARLOW mem during runtime. No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS. Add runningOnQEMU() and runningOnXen() for runtime platform detection. Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen(). Convert kvm_para_available() to runningOnKVM(). Minor - move definitions to paravirt.c from paravirt.h. Only perform SMP setup on QEMU. Start device_hardware_setup in mainint even with CONFIG_THREAD_OPTIONROMS. The mathcp setup touches the PIC and thus move to the "setup" phase. Update tools/acpi_extract.py to handle iasl 20130117 release. Support skipping content when reading from QEMU fw_cfg romfile entries. Convert fw_cfg ACPI entries into romfile entries. Convert fw_cfg SMBIOS entries into romfile entries. Convert basic integer fw_cfg entries into romfile entries. Convert fw_cfg NUMA entries into a romfile entry. Process fw_cfg e820 entries during the fw_cfg setup stage. Integrate qemu_cfg_preinit() into qemu_romfile_init(). Group QEMU platform setup together and move to paravirt.c. vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU. Warn on unaligned PCI ROM structure in option roms. Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". build: Don't require $(OUT) to be a sub-directory of the main directory. Rename rom_get_top() to rom_get_max(). Report on f-segment UMB ram also. Clarify build generated "zone low" values. Verify CC is valid during build tests. Disable handle_post() on CSM builds. Remove unnecessary "export" declarations from assembler functions. Minor assembler enhancements to __csm_return. Introduce VARFSEG for variables that will reside in the f-segment. Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG. Don't relocate "varlow" variable references at runtime. Move malloc's ZoneFSeg and ZoneLow setup to malloc_init. Calculate "RamSize" needed by 16bit interface dynamically. Eliminate separate BiosTableSpace[] space for f-segment allocations. Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others. Try to detect an unsuccessful hard-reboot to prevent soft-reboot loops. Minor - fix confusing final_sec32low_start name in layoutrom.py. Minor - introduce numeric defines for the IVT offset of hw irqs. Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point. Support using the "extra stack" for all 16bit irq entry points. Minor - improve comments and grouping of handle_08(). floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops. floppy: Cleanup floppy irq wait handling. floppy: Clean up Check Interrupt Status code. floppy: Move recalibration and results parsing to floppy_cmd(). floppy: Improve floppy_pio() error checking. floppy: Implement media format sensing. floppy: Actually do controller reset in floppy_reset(). Minor - note that passing QEMU config via cmos is deprecated. Cache boot-fail-wait to avoid romfile access after POST. Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl. acpi: Eliminate BDAT parameter passing to DSDT code. Add additional dependency checks to Makefile. Don't use __FILE__ in virtio-ring.c. shadow: Don't use PCIDevices list in make_bios_readonly(). smm: Don't use PCIDevices list in smm_setup(). Add VARVERIFY32INIT attribute for variables only available during "init". Use VARVERIFY32INIT on global variables that point to "tmp" memory. vgabios: Fix stdvga_perform_gray_scale_summing(). vgabios: Fix cirrus memory clear on mode switch. Minor - add missing newline to floppy debug statement. Fix bug in NUMA node setup - don't create SRAT if NUMA not present. Update README - copy *.aml files for QEMU. Add dependencies to vgafixup.py and buildversion.sh scripts. Set ZF prior to keyboard read call in check_for_keystroke(). mptable: Don't describe pci-to-pci bridges. mptable: Use same PCI irqs as ACPI code. Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries. Use container_of on romfile entries. acpi: Move ACPI table definitions from acpi.c to acpi.h. acpi: Remove dead code with descriptions of bit flags. acpi: Use cpu_to_leXX() consistently. Minor - explicitly close files in buildrom.py. Minor - move "tracked memory alloc" code in pmm.c. Introduce and convert pmm code to use standard list helpers. Minor - relocate code in stacks.c to keep low-level thread code together. Introduce helper function have_threads() in stacks.c. Convert stacks.c to use standard list manipulation code. Convert boot.c to use standard list manipulation code. Convert pciinit.c to use standard list manipulation code. Convert PCIDevices list to use standard list manipultion code. Revert "Convert pciinit.c to use standard list manipulation code." Fix error in hlist_for_each_entry_safe macro. Convert pciinit.c to use standard list manipulation code. make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU Another fix for hlist_for_each_entry_safe. Minor - remove debugging dprintf added to pciinit.c. Laszlo Ersek (1): Enable VGA output when setting Cirrus-specific mode Michael S. Tsirkin (1): acpi: make default DSDT optional Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0cd8eaa011eac66e45ce51cab4a857b175152625 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:44 2013 +0200 po/Makefile: Use macro quiet-command for nice looking messages Suppress also the "... done" message from msgmerge. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1fa449231832d0fb7f20a3d7ecd06190ce906529 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:43 2013 +0200 po/Makefile: Fix generation of messages.po * Tell xgettext that we use UTF-8 encoding (this is currently optional). * Set charset=UTF-8 in messages.po. This avoids warnings from msgmerge: warning: Charset "CHARSET" is not a portable encoding name. * Use filename relative to root directory (ui/gtk.c instead of ../ui/gtk.c or $(SRC_PATH)/ui/gtk.c) for comments in *.po files. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 00134a62039a12822cda91310131cc050f78cf9b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:42 2013 +0200 po/Makefile: Fix *.mo generation for out-of-tree builds (regression) Commit f84756554e32d97db3aa949db1dd58c7eea62375 added a wildcard search for *.po files. This search found no files for out of tree builds, so those builds no longer created and installed *.mo files. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 18e12d49edd4417a93f875e122652bd22aabad79 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:41 2013 +0200 po/Makefile: Fix and improve help message The help message contains single quotes which got lost in the output. Fix also a typo and use two instead of three lines. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f03d07d4683b2e8325a7cb60b4e14b977b1a869c Merge: 3988982... 9781c37... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 23 10:57:23 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Michael R. Hines (8) and others # Via Juan Quintela * quintela/migration.next: migration: add autoconvergence documentation Fix real mode guest segments dpl value in savevm Fix real mode guest migration rdma: account for the time spent in MIG_STATE_SETUP through QMP rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition rdma: allow state transitions between other states besides ACTIVE rdma: send pc.ram rdma: core logic rdma: introduce ram_handle_compressed() rdma: bugfix: ram_control_save_page() rdma: update documentation to reflect new unpin support Message-id: 1374590725-14144-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3988982c82ad4173dea376fea30e5432d36146db Merge: 931f0ad... 6f152e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 23 10:57:04 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix NULL pointer dereference in gdbstub * Introduce vaddr type * Introduce CPUClass::set_pc() * Introduce CPUClass::synchronize_from_tb() * Introduce CPUClass::get_phys_page_debug() * Introduce CPUClass::memory_rw_debug() * Move singlestep_enabled and gdb_regs fields out of CPU_COMMON * Adopt CPUState in more APIs * Propagate CPUState in gdbstub # gpg: Signature made Mon 22 Jul 2013 07:50:17 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (21) and others # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: (24 commits) linux-user: Use X86CPU property to retrieve CPUID family gdbstub: Change gdb_register_coprocessor() argument to CPUState cpu: Move gdb_regs field from CPU_COMMON to CPUState gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug() exec: Change cpu_memory_rw_debug() argument to CPUState cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook gdbstub: Change gdb_{read,write}_register() argument to CPUState gdbstub: Change gdb_handlesig() argument to CPUState gdbstub: Change syscall callback argument to CPUState kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState cpu: Change cpu_single_step() argument to CPUState gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style cpu: Move singlestep_enabled field from CPU_COMMON to CPUState target-alpha: Copy implver to DisasContext target-alpha: Copy singlestep_enabled to DisasContext cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb() target-unicore32: Implement CPUClass::set_pc() target-moxie: Implement CPUClass::set_pc() target-m68k: Implement CPUClass::set_pc() ... commit 931f0adf64261bf7eb3efaafb4430c04a6a3e6f6 Merge: 3464700... 52785d9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 23 10:56:55 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging QOM device refactorings * Avoid TYPE_* in VMStateDescription name * Replace some DO_UPCAST()s and FROM_SYSBUS()s with QOM casts * Limit legacy SCSI command line handling to non-hotplugged devices * Replace some SysBusDeviceClass::init with DeviceClass::realize # gpg: Signature made Mon 22 Jul 2013 06:31:42 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Hu Tao (26) and others # Via Andreas Färber * afaerber/tags/qom-devices-for-anthony: (55 commits) isa-bus: Drop isabus_bridge_init() since it does nothing ioapic: Use QOM realize for ioapic kvmvapic: Use QOM realize kvm/clock: Use QOM realize for kvmclock hpet: Use QOM realize for hpet scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() megasas: Legacy command line handling fix scsi/esp: Use QOM realize for scsi esp fw_cfg: Use QOM realize for fw_cfg ahci: Use QOM realize for ahci pflash_cfi02: Use QOM realize for pflash_cfi02 pflash_cfi01: Use QOM realize for pflash_cfi01 fdc: Improve error propagation for QOM realize fdc: Use QOM realize for fdc kvm/clock: QOM'ify some more hpet: QOM'ify some more scsi/esp: QOM'ify some more fwcfg: QOM'ify some more ahci: QOM'ify some more pflash-cfi02: QOM'ify some more ... commit a033381758841837edaf307e20edf019c5900609 Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Date: Fri Jul 19 09:21:44 2013 -0700 linux-user: Handle compressed ISA encodings when processing MIPS exceptions Decode trap instructions during the handling of an EXCP_BREAK or EXCP_TRAP according to the current ISA mode. Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d02532f08e207419e412ea7cd4eb8b36f04f426d Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:57 2013 +0200 linux-user: Unlock mmap_lock when resuming guest from page_unprotect The page_unprotect() function is running everything locked. Before every potential exit path of the function mmap_unlock() gets called to make sure we don't leak the lock. However, the function calls tb_invalidate_phys_page() which again can exit a signal through longjmp, leaving our mmap_unlock() attempts in vain. Add a hint to tb_invalidate_phys_page() that we need to unlock before we can leave back into guest context, so that we don't leak the lock. This fixes 16-bit i386 wine programs running in linux-user for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit b24c882b9435d0745679a96571027a2c92065e4f Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:51 2013 +0200 linux-user: Reset copied CPUs in cpu_copy() always When a new thread gets created, we need to reset non arch specific state to get the new CPU into clean state. However this reset should happen before the arch specific CPU contents get copied over. Otherwise we end up having clean reset state in our newly created thread. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit ddaa7e5a2ad0ef20fd3d1cc44a9ade75e5eabcfc Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:53 2013 +0200 linux-user: Fix epoll on ARM hosts The epoll emulation uses data structures without packing them, so the compiler might choose to add padding inside. This patch makes the most offending one (target_epoll_event) a packed structure to make sure we don't pad it by accident. ARM would pad it, so declare the padding mandatory for ARM targets. This fixes i386-on-ARM epoll emulation for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 732f9e89a1c737f738c445ff24929a1bc137d1a9 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:49 2013 +0200 linux-user: fix segmentation fault passing with h2g(x) != x When forwarding a segmentation fault into the guest process, we were passing the host's address directly into the guest process's signal descriptor. That obviously confused the guest process, since it didn't know what to make of the (usually 32-bit truncated) address. Passing in h2g(address) makes the guest process a lot happier. To make the code more obvious, introduce a h2g_nocheck() macro that does the same as h2g(), but allows us to convert addresses that may be outside of guest mapped range into the guest's view of address space. This fixes java running in arm-linux-user for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 82f05b69e6b701157b4a2e7d76ae6cf5542d66c9 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Jul 6 17:39:48 2013 +0100 linux-user: Fix pipe syscall return for SPARC SPARC is one of the CPUs which has a funny syscall ABI for the pipe syscall; add it to the set of special cases in do_pipe(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit c7819dfbd22be6a3711f11056f33300e881563d5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Jul 6 21:44:53 2013 +0100 linux-user: Fix target_stat and target_stat64 for OpenRISC OpenRISC uses the asm-generic versions of target_stat and target_stat64, but it was incorrectly using the x86/ARM/etc version due to a misplaced defined(TARGET_OPENRISC). The previously unused OpenRISC section of the ifdef ladder also defined an incorrect target_stat and omitted the target_stat64 definition. Fix target_stat, provide target_stat64, and add a comment noting that these are the asm-generic versions for the benefit of future ports. Reviewed-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 9781c3716a4b529a2af64502926a57c11e69e6ca Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 23 15:21:09 2013 +0200 migration: add autoconvergence documentation This hunk got lost during merge. It is documentation. Spotted-by: Peter Lieven <lieven-lists@xxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3e47c249b93d5cc1e0f9404dbe243682598ba8fb Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Jul 22 20:29:42 2013 +0300 Fix real mode guest segments dpl value in savevm Older KVM version put invalid value in the segments registers dpl field for real mode guests (0x3). This breaks migration from those hosts to hosts with unrestricted guest support. We detect it by checking CS dpl value for real mode guest and fix the dpl values of all the segment registers. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 444ba6797ef6ef331fe9fd34309b1ec59caaede3 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Jul 22 20:29:41 2013 +0300 Fix real mode guest migration Older KVM versions save CS dpl value to an invalid value for real mode guests (0x3). This patch detect this situation when loading CPU state and set all the segments dpl to zero. This will allow migration from older KVM on host without unrestricted guest to hosts with restricted guest support. For example migration from a Penryn host (with kernel 2.6.32) to a Westmere host (for real mode guest) will fail with "kvm: unhandled exit 80000021". Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit ed4fbd10823a7b0dbded6b481a68973e47f7e14d Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:58 2013 -0400 rdma: account for the time spent in MIG_STATE_SETUP through QMP Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 29ae8a4133082e16970c9d4be09f4b6a15034617 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:57 2013 -0400 rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP migration command was called. Instead we want to introduce MIG_STATE_NONE, which is our starting state in the state machine, and then immediately transition into the MIG_STATE_SETUP state when the QMP migrate command is issued. In order to do this, we must delay the transition into MIG_STATE_ACTIVE until later in the migration_thread(). This is done to be able to timestamp the amount of time spent in the SETUP state for proper accounting to the user during an RDMA migration. Furthermore, the management software, until now, has never been aware of the existence of the SETUP state whatsoever. This must change, because, timing of this state implies that the state actually exists. These two patches cannot be separated because the 'query_migrate' QMP switch statement needs to know how to handle this new state transition. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d58f574bf39796ed2396dfd1e308352fbb03f944 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:56 2013 -0400 rdma: allow state transitions between other states besides ACTIVE This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was called. In preparation for timing this state, we have to make this state a a 'real' state which actually gets transitioned from later in the migration_thread() from SETUP => ACTIVE, rather than just automatically dropping into this state at the beginninig of the migration. This means that the state transition function (migration_finish_set_state()) needs to be capable of transitioning from valid states _other_ than just MIG_STATE_ACTIVE. The function is in fact already capable of doing that, but was not allowing the old state to be a parameter specified as an input. This patch fixes that and only makes the transition if the current state matches the old state that the caller intended to transition from. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9b146e9a28bbd9567f5ac6a8e2bcb543aa3b9392 Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 23 18:32:30 2013 +0800 target-openrisc: Free typename in openrisc_cpu_class_by_name We should free typename here. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 4284c0517b12f03da59250a23ee7e9c3581e89c4 Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 23 18:31:24 2013 +0800 hw/openrisc: Use stderr output instead of qemu_log We should use stderr output instead of qemu_log in order to output ErrMsg onto the screen. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 68f1282882fe3b43b4bc323e03545dc019e2d19a Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 23 18:30:09 2013 +0800 hw/openrisc: Indent typo Indent typo. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 0033b8b42a1cc2a9350619ea19e11954b12fb819 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:55 2013 -0400 rdma: send pc.ram This takes advantages of the previous patches: 1. use the new QEMUFileOps hook 'save_page' 2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 2da776db4846eadcb808598a5d3484d149773c05 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:54 2013 -0400 rdma: core logic Code that does need to be visible is kept well contained inside this file and this is the only new additional file to the entire patch. This file includes the entire protocol and interfaces required to perform RDMA migration. Also, the configure and Makefile modifications to link this file are included. Full documentation is in docs/rdma.txt Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 44c3b58cf9b2c91a38363f0b45d20f3f40b8f2b3 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:53 2013 -0400 rdma: introduce ram_handle_compressed() This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit de7b685c9e1cf606e37e7116e4c4f03a6ae2d14f Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:52 2013 -0400 rdma: bugfix: ram_control_save_page() We were not checking for a valid 'bytes_sent' pointer before accessing it. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a5f56b906e0d7975b87dc3d3c5bfe5a75a4028d2 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:51 2013 -0400 rdma: update documentation to reflect new unpin support As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way unpinning happens during runtime. The feature is not yet user-facing, and is thus can only be enabled at compile-time. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6f152e9bc80aed81ea89aa8ad345cd71326b71fb Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 18 00:01:58 2012 +0200 linux-user: Use X86CPU property to retrieve CPUID family Avoids duplicating the calculation. Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 22169d415a1d1706f66a4fd50a3573d3f296b24f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 21:27:39 2013 +0200 gdbstub: Change gdb_register_coprocessor() argument to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eac8b355f0015e44addce3e92030365b16d9da61 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 21:11:37 2013 +0200 cpu: Move gdb_regs field from CPU_COMMON to CPUState Prepares for changing gdb_register_coprocessor() argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2e0f2cfba6c2169c07358e473841ec211009dd3c Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 19:19:39 2013 +0200 gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState Use CPUState::env_ptr where still needed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f3659eee05793aede68b1791465fb2b0767bc1f2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 19:09:09 2013 +0200 cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug() Make inline target_memory_rw_debug() always available and change its argument to CPUState. Let it check if CPUClass::memory_rw_debug provides a specialized callback and fall back to cpu_memory_rw_debug() otherwise. The only overriding implementation is for 32-bit sparc. This prepares for changing GDBState::g_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jun 29 19:40:58 2013 +0200 exec: Change cpu_memory_rw_debug() argument to CPUState Propagate X86CPU in kvmvapic for simplicity. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 00b941e581b5c42645f836ef530705bb76a3e6bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jun 29 18:55:54 2013 +0200 cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook Change breakpoint_invalidate() argument to CPUState alongside. Since all targets now assign a softmmu-only field, we can drop helpers cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd(). Prepares for changing cpu_memory_rw_debug() argument to CPUState. Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 385b9f0e4d8c60037c937edd7a3735fff7570429 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 18:25:36 2013 +0200 gdbstub: Change gdb_{read,write}_register() argument to CPUState Use CPUState::env_ptr for now. Prepares for changing GDBState::g_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit db6b81d43693cec86d62df79dd7402fc045427ed Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 19:49:31 2013 +0200 gdbstub: Change gdb_handlesig() argument to CPUState Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9e0c5422cfbed78990e2edc9d68928647829f5ac Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 17:45:01 2013 +0200 gdbstub: Change syscall callback argument to CPUState Callback implementations were specific to arm and m68k, so can easily cast to ARMCPU and M68kCPU respectively. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6227881415e0e0117d56aef90cf6e72f24187ec1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 17:12:06 2013 +0200 kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState CPUArchState is no longer directly used since converting CPU loops to CPUState. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3825b28ff128e2bd3cb0a338c21923c926b1f38b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 24 18:41:06 2013 +0200 cpu: Change cpu_single_step() argument to CPUState Use CPUState::env_ptr for now. Needed for GdbState::c_cpu. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ca666c765e9e92217a87669365b212abae6f9ce Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 24 19:20:57 2013 +0200 gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style In particular reindent to 4 instead of 2 spaces. Prepares for changing cpu_single_step() argument in gdb_handlesig(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ed2803da58355413447f8c7c681a76873168114f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 20:20:45 2013 +0200 cpu: Move singlestep_enabled field from CPU_COMMON to CPUState Prepares for changing cpu_single_step() argument to CPUState. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 801c4c287b7d85fe8447900f78a9a6ab89d00271 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 1 13:19:30 2013 -0700 target-alpha: Copy implver to DisasContext Which allows removing env from DisasContext. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca6862a67f3c03e5efe26cf45b54c6176e4db5c3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 1 13:19:29 2013 -0700 target-alpha: Copy singlestep_enabled to DisasContext Prepare for removing env from DisasContext. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bdf7ae5bbdb3f050d97862b2ba0261fa902ebc53 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 19:31:32 2013 +0200 cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb() Where no extra implementation is needed, fall back to CPUClass::set_pc(). Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b42eab27beaefd5c9bf9353383d6403e0628c014 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 19:41:07 2013 +0200 target-unicore32: Implement CPUClass::set_pc() This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a10b978c4246bf9af0e34505aba500d3e7f6c6c4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 20:43:26 2013 +0200 target-moxie: Implement CPUClass::set_pc() This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e700604df024ec5028f476b133ca337c4d7ee518 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 20:35:01 2013 +0200 target-m68k: Implement CPUClass::set_pc() This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f45748f10eda61d6262153fadf3910cb63e17ecd Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 19:09:18 2013 +0200 cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc() This moves setting the Program Counter from gdbstub into target code. Use vaddr type as upper-bound replacement for target_ulong. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2be8d4509896116dae7b3b9dffc0fccef480126d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 22 18:34:35 2013 +0200 HACKING: Document vaddr type usage Also extend documentation of target_ulong and abi_ulong. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 577f42c0e11a5bfb462ff3a217701cd5c4356fb4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 6 03:14:52 2013 +0200 cpu: Introduce vaddr type vaddr is to target_ulong what uintmax_t is to unsigned int. Its purpose is to allow turning per-target functions with target_ulong arguments into CPUClass hooks. Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 52f34623b499cb0273118b1f637c2c6ebaf5d5a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 13:44:40 2013 +0200 gdbstub: Change GDBState::query_cpu to CPUState Since first_cpu/next_cpu are CPUState, CPUArchState is no longer needed. This resolves a NULL pointer dereference of query_cpu, introduced with commit 182735efaf956ccab50b6d74a4fed163e0f35660 and reported by TeLeMan and Max Filippov. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 52785d99513e4f5d8c3d94f4362ff54aba88f33c Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:42 2013 +0800 isa-bus: Drop isabus_bridge_init() since it does nothing This works since commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Edited] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f5ba752371b2fc493fdef05cb7e3141161fd1fab Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:41 2013 +0800 ioapic: Use QOM realize for ioapic Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Tweaked error message] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c118d44b6a6977e4019fe1da82f5c333dbbedcfa Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:40 2013 +0800 kvmvapic: Use QOM realize Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 913bc63844395f07e317dbc1a5b38612cc75ebec Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:39 2013 +0800 kvm/clock: Use QOM realize for kvmclock Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 726887ef44d5a822cd76e4fedd269b038869b698 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:37 2013 +0800 hpet: Use QOM realize for hpet Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Avoided SYS_BUS_DEVICE() in loop] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit caad4eb345dc5119d326b8af08452cc0f90f8548 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 21 12:16:34 2013 +0200 scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() Let scsi_bus_legacy_add_drive() and scsi_bus_legacy_handle_cmdline() return an Error**. Prepare qdev initfns for QOM realize error model. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 22d6aa03fd87ba5f219d26bc1810646d0f95842a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 21 12:20:15 2013 +0200 megasas: Legacy command line handling fix Only apply legacy command line handling when the device has not been hot-plugged. Propagate failure of legacy command line handling. Cc: qemu-stable@xxxxxxxxxx Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b09318cac65df015b9b0990791f02b894cc57d33 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:35 2013 +0800 scsi/esp: Use QOM realize for scsi esp Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Drop sysbus_esp_init()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 563839557c05f6f946bedebc381406b146af61f6 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:33 2013 +0800 fw_cfg: Use QOM realize for fw_cfg Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Moved sysbus_init_mmio() to instance_init, renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7acb423fcfd8fbf75f672de70ab945a24cc31ef5 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:31 2013 +0800 ahci: Use QOM realize for ahci Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Avoided repeated SYS_BUS_DEVICE() casts] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit da3bd64234dc6c77091a0fb8a2612668dbaffd37 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:29 2013 +0800 pflash_cfi02: Use QOM realize for pflash_cfi02 Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e40b5f3e0efe49ec138ea5e3710f6dd6527e5f49 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:27 2013 +0800 pflash_cfi01: Use QOM realize for pflash_cfi01 Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed argument] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a3ef7a61e3706ba81e31a8092b966d6aeae5333e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 17 14:14:41 2013 +0200 fdc: Improve error propagation for QOM realize Rename fdctrl_init_common() to fdctrl_realize_common() and let fdctrl_connect_drives() propagate an Error through it. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 940194c2369e50d91d1abf6f36d43853eea5e539 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:25 2013 +0800 fdc: Use QOM realize for fdc Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed SysBusDevice variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 98bdc0d7ff93f2ab39c0634c744cc7f4a8ac7399 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:38 2013 +0800 kvm/clock: QOM'ify some more Introduce type constant and avoid FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 02f9a6f5da74251e1e5685ae57643d45c3fb6c30 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:36 2013 +0800 hpet: QOM'ify some more Introduce type constant, avoid FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field and renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a71c7ec529adcd36fed5bb570a167ae2f9771750 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:34 2013 +0800 scsi/esp: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2ce92a1102be22e2bb82267351834713b8c31542 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:32 2013 +0800 fwcfg: QOM'ify some more Use type constant if possible and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b3b162c3cfb88a57390fef581c1be99648d6d8ab Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:30 2013 +0800 ahci: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3509c396d2894b4dc40a2e33d7c2f795508d7328 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:28 2013 +0800 pflash-cfi02: QOM'ify some more Introduce type constant and replace FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f1b44f0e4191547888ff9750988a4f3e7ca9c60e Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:26 2013 +0800 pflash-cfi01: QOM'ify some more Introduce type constant and replace FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:24 2013 +0800 fdc: QOM'ify some more Introduce type constant and avoid DO_UPCAST(), container_of(), and use DEVICE() to avoid accessing parent qdev directly. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field and avoided repeated SYS_BUS_DEVICE() casts] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 62d92e432f586b2bb99d7824f684df4ebd412ea1 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:23 2013 +0800 q35: Use QOM realize for q35 host bridge And split off MemoryRegion initialization into instance_init. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce88812f576a0d5b172f99b253bcdc1dc37f86f2 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:22 2013 +0800 q35: Use type-safe cast instead of direct access of parent dev And remove variables if possible. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Converted remaining access and renamed to parent_obj] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a3560fbf012e19c5c9b495cc0d90f2dd4491e09f Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:20 2013 +0800 i440fx-pcihost: Use QOM realize for i440fx-pcihost Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2aedfa464909c887564c65fb3a51c020d71e0b78 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:21 2013 +0800 i440fx: Use type-safe cast instead of direct access of parent dev Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Converted remaining accesses and renamed to parent_obj] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 457215ec6a3acc020d357b958eb513ef944abc93 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:19 2013 +0800 ohci: Use QOM realize for OHCI Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1aa0c0c748ad05cde80b4d6f2907a70bc4089883 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:18 2013 +0800 ohci: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Avoid remaining OHCIPCIState::pci_dev uses, rename parent fields] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce7243986fe69be831ec893127282fa5a045c985 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:17 2013 +0800 sysbus: Document SysBusDeviceClass::init and realize semantics Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Syntax and wording changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dc4aa51ba8bbef7edf4a104a5a6029a76a68600e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 15:20:05 2013 +0200 xen/xen_platform: QOM parent field cleanup Replace direct uses of PCIXenPlatformState::pci_dev field with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 51a3fe996ba20eca0abfad2b783f27967d759d28 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 17:00:14 2013 +1000 xen/xen_platform: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Dropped opaque casts] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b7578eaadd71fd7a9101875a32d64a52149d78e5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 15:15:15 2013 +0200 misc/ivshmem: QOM parent field cleanup Replace direct uses of IVShmemState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eb3fedf3d4b1a3ed2a31def23e972aa0c3669fff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:59:29 2013 +1000 misc/ivshmem: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Simplified casts and converted two more DO_UPCAST()s] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit af21c7403902d5073851ea10371d0761f48e39d1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 15:01:36 2013 +0200 display/vmware_vga: QOM parent field cleanup Replace direct uses of pci_vmsvga_state_s::card with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 39d4598763a01816feb828be4633ada780a63886 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:58:45 2013 +1000 display/vmware_vga: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style casting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Renamed to TYPE_VMWARE_VGA and VMWARE_VGA()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6d27a4099e46132768256b686ebf522844a180b6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:48:56 2013 +0200 misc/pci-testdev: QOM parent field cleanup Replace direct uses of PCITestDevState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 40108d0a6d1e59aa5904298874753fe0cb420a64 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:58:00 2013 +1000 misc/pci-testdev: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Replaced another DO_UPCAST()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6a6b5580bd03fc7326716ebb36b1f42ebfc0a967 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:40:37 2013 +0200 acpi/piix4: QOM parent field cleanup Replace direct uses of PIIX4PMState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 74e445f6492b315c18e96daa6acb4d50405a0ad9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:57:14 2013 +1000 acpi/piix4: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0d3aea5603215b872b6580662d27860eecd6ca24 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:19:24 2013 +0200 ide/ich: QOM parent field cleanup Replace direct uses of AHCIPCIState::card with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fd58922cf4ea09c8dbd2d46dd61e50e6559bf447 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:55:45 2013 +1000 ide/ich: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Renamed to TYPE_ICH9_AHCI and used typedef in pci_ich9_reset()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4e5dcc774a4003e313b6eec823067b3980b0bc91 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:07:49 2013 +0200 scsi/esp-pci: QOM parent field cleanup Replace direct uses of PCIESPState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3a15effe00b5bd223d5932c8d67c9525914a1526 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:55:00 2013 +1000 scsi/esp-pci: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 52190c1e0a95440e906f3bb7e7c17823f3eac8c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:02:53 2013 +0200 scsi/megasas: QOM parent field cleanup Replace direct uses of MegasasState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c79e16ae044d265674ef43dfdd694c8fd0f49e19 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:54:15 2013 +1000 scsi/megasas: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 725eec7043bd010856899461817ccd2599a09362 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 13:52:22 2013 +0200 scsi/lsi53c895a: QOM parent field cleanup Replace direct uses of LSIState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 71186c867caab48d093fe2c8ae7d8f23d59b0aed Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:53:30 2013 +1000 scsi/lsi53c895a: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9b7d3334d062e8c9e4f1b0ad3df35abb08cd8bf0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 13:38:41 2013 +0200 usb/hcd-xhci: QOM parent field cleanup Replace direct uses of XHCIState::pci_dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 37034575d23a06447e4f44ab365afec6b198c53f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:52:45 2013 +1000 usb/hcd-xhci: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Dropped usb_xhci_init() DeviceState argument and renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1f8c79468594cc059eac7a26d37fba48107cb2e4 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:52:00 2013 +1000 net/pcnet-pci: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Renamed parent field, renamed from PC_NET to PCNET] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 88a411a8a09102b89ea52fe2511265edd3393cf2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 13:09:00 2013 +0200 net/rtl8139: QOM parent field cleanup Replace direct uses of RTL8139State::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 39257515888a3fbaa7061c4c2aeeadfe1b9c3c15 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:51:15 2013 +1000 net/rtl8139: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b08340d52b51ab57ba525043dbc83e67ecfcaa23 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 12:55:52 2013 +0200 net/e1000: QOM parent field cleanup Replace direct uses of E1000State::dev field with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 567a3c9e7f98f698d1aeb73e32ca614086b63837 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:50:30 2013 +1000 net/e1000: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6783ecf144c80f526c844cade3bf5593fba9e446 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 12:03:44 2013 +0100 hw: Avoid use of QOM type name macros in VMStateDescriptions The name field in a VMStateDescription is part of the migration state versioning, so changing it will break migration. It's therefore a bad idea to use a QOM typename macro to initialize it, because in general we're free to rename QOM types as part of code refactoring and cleanup. For the handful of devices that were doing this by mistake, replace the QOM typenames with the corresponding literal strings. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> [AF: Use TYPE_PVSCSI for TypeInfo instead] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3464700f6aecb3e2aa9098839d90672d6b3fa974 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 12:40:32 2013 +0100 tests: Add test-bitops.c with some sextract tests Add some simple test cases for the new sextract32 and sextract64 functions. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1372419632-5521-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2dc6bebde93677b262caff114849d0f5ebdaa82d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 12:40:31 2013 +0100 bitops: Provide sextract32() and sextract64() A common operation in instruction decoding is to take a field from an instruction that represents a signed integer in some arbitrary number of bits, and sign extend it into a C signed integer type for manipulation. Provide new functions sextract32() and sextract64() which perform this operation; they are like the existing extract32() and extract64() except that the field is sign-extended into the returned result. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1372419632-5521-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd1d9926e91f421bc851f9dd19875f14799c6e4b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Jul 19 12:42:12 2013 -0600 memory: Fix zero-sized memory region print if mr->size == 0, then int128_get64(int128_sub(mr->size, int128_make64(1))) => assert(!a.hi) Also, use int128_one(). Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 20130719184124.15864.20803.stgit@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 53db78543e473bdf7650a406767d0901c6e26480 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Jul 21 15:39:26 2013 -0800 configure: Remove ldscripts Since 964c6fa16f50a607f9da5068d6bf15ccc93872c0, these files are unused. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1374449966-12926-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 885a73f72b967900296d71c97cc7c560585a9086 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 10 18:30:38 2013 +0200 linux-user: Avoid conditional cpu_reset() Some CPUs reset as part of cpu_init(), some others were reset afterwards, some not at all. While some targets didn't implement a cpu_[state_]reset() function, QOM cpu_reset() is always available. There's nothing wrong with resetting twice on startup, so drop the #ifdef. Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 24cb36a61c663d98a53338620e88e4cd3403459a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:45:00 2013 +0100 configure: Make NPTL non-optional Now all linux-user targets support building with NPTL, we can make it mandatory. This is a good idea because: * NPTL is no longer new and experimental; it is completely standard * in practice, linux-user without NPTL is nearly useless for binaries built against non-ancient glibc * it allows us to delete the rather untested code for handling the non-NPTL configuration Note that this patch leaves the CONFIG_USE_NPTL ifdefs in the bsd-user codebase alone. This makes no change for bsd-user, since our configure test for NPTL had a "#include <linux/futex.h>" which means bsd-user would never have been compiled with CONFIG_USE_NPTL defined, and it still is not. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 2667e71c3d9262d756bea1473e2ea28eb2c9c070 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:59 2013 +0100 linux-user: Enable NPTL for x86-64 Add x86-64 implementation of cpu_set_tls() (like the kernel, we just have to call do_arch_prctl() to set FS); this allows us to enable NPTL. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit bc22eb447c0552e2327f278fdc6bedccb14fc7a3 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jul 16 18:44:58 2013 +0100 linux-user: Add i386 TLS setter We can easily set the TLS on i386. Add code to do so. Signed-off-by: Alexander Graf <agraf@xxxxxxx> [PMM: also remove "target_nptl=no" line from configure, for consistency with other patches in this series] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 4ce6243dc6216e35b5b691078ffa856463bfa8db Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:57 2013 +0100 linux-user: Clean up handling of clone() argument order Linux manages to have three separate orderings of the arguments to the clone() syscall on different architectures. In the kernel these are selected via CONFIG_CLONE_BACKWARDS and CONFIG_CLONE_BACKWARDS2. Clean up our implementation of this to use similar #define names rather than a TARGET_* ifdef ladder. This includes behaviour changes fixing bugs on cris, x86-64, m68k, openrisc and unicore32. cris had explicit but wrong handling; the others were just incorrectly using QEMU's default, which happened to be the equivalent of CONFIG_CLONE_BACKWARDS. (unicore32 appears to be broken in the mainline kernel in that it tries to use arg3 for both parent_tidptr and newtls simultaneously -- we don't attempt to emulate this bug...) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d312bbe1051fa563b557de625ca57a466772abe5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:56 2013 +0100 linux-user: Add missing 'break' in i386 get_thread_area syscall The i386 code for the get_thread_area syscall was missing a 'break' which meant it would have fallen through into the implementation of the following syscall; add it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 1ccd9374af22ec4ed5f864d4935a9cfad01f1204 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:55 2013 +0100 linux-user: Enable NPTL for m68k For m68k, per-thread data is a purely kernel construct with no CPU level support. Implement it via a field in the TaskState structure, used by cpu_set_tls() and the set_thread_area/get_thread_area syscalls. This allows us to enable compilation with NPTL. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit f5147c93d0e7f91df0215598017a4d9d6a48f0ee Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:54 2013 +0100 linux-user: Enable NPTL for SPARC targets Provide the missing cpu_set_tls(), and resolve the FIXME in cpu_clone_regs() by clearing the carry flag for the child. This allows us to turn on building with NPTL for SPARC. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 442a59c8ddc55f327ec0219d810fe4580177716a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:53 2013 +0100 linux-user: Enable NPTL for OpenRISC The OpenRISC kernel ignores CLONE_SETTLS in its copy_thread() implementation, so a cpu_set_tls() implementation is a no-op. cpu_clone_regs() was setting the syscall return value in the wrong register -- it is gpr[11], not gpr[2]. With these two things fixed, we can compile with NPTL enabled. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit dfeab06c98f7bc37f8ad8a6a2f8f677e5a57a55d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:52 2013 +0100 linux-user: Move includes of target-specific headers to end of qemu.h The target-specific headers (target_cpu.h and target_signal.h) might need to use the target-independent structure and function definitions of qemu.h; so include them only at the bottom of qemu.h, not the top. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 790d440605a997a5e146809e824e95ca22a14652 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:51 2013 +0100 configure: Enable threading for unicore32-linux-user unicore32-linux-user provides cpu_set_tls(), so the failure to enable target_nptl was presumably an oversight. Enable it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d769c64147d32a80e5e37d41b397f45943d45e0d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:50 2013 +0100 configure: Enable threading on all ppc and mips linux-user targets Though threading (target_nptl) was enabled on the base PPC and MIPS targets, it wasn't enabled for the variants mipsn32, mipsn32el, mips64, mips64el, ppc64 or ppc46abi32 (probably an oversight). Enable threading consistently on all these targets. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit fa78f3dbe4e0e1d9a34556b73e5118cb40153875 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:49 2013 +0100 configure: Don't say target_nptl="no" if there is no linux-user target For architectures with no linux-user target, don't claim no NPTL support. This has no behavioural change, but it means that we won't accidentally add a new linux-user target without threading support in future (because attempting to do so would be a compile failure rather than a silent lack of support). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit aa004f5f9c5785273ef56b8c0b775f57ccb19168 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:48 2013 +0100 configure: Flip default of target_nptl Most targets either (a) support threading or (b) don't have a linux-user/bsd-user target, so make it default to 'yes', with those targets that don't support threading having to specifically say so. This is a mechanical no-behaviour-change commit; some of the "no" entries it adds will be taken out in later patches. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit b1e749c02172583ca85bb3a964a9b39221f9ac39 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Jul 22 09:04:32 2013 +0200 gtk: Fix accelerator filtering This is in fact very simply: When the input in grabbed, everything should be exclusively passed to the guest - except it has our magic CTRL-ALT modifier set. Then let GTK filter out those accels that are in use. When checking the modifier state, we just need to filter out NUM and CAPS lock. Note: Filtering based on hard-coded modifiers breaks overriding accelerators. Needs to be fixed at a later point. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 549c272b3c7c2aac69155be2e158c970828b2844 Merge: c9fea5d... fd76663... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:14:24 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130722' into staging arm-devs queue # gpg: Signature made Mon 22 Jul 2013 06:38:52 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Peter Maydell (8) and Soren Brinkmann (2) # Via Peter Maydell * pmaydell/tags/pull-arm-devs-20130722: hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header hw/loader: Support ramdisk with u-boot header vexpress: Add virtio-mmio transports vexpress: Make VEDBoardInfo extend arm_boot_info arm/boot: Allow boards to modify the FDT blob virtio: Implement MMIO based virtio transport virtio: Support transports which can specify the vring alignment virtio: Add support for guest setting of queue size arm/boot: Use qemu_devtree_setprop_sized_cells() device_tree: Add qemu_devtree_setprop_sized_cells() utility functions Message-id: 1374493427-3254-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c9fea5d701f8fd33f0843728ec264d95cee3ed37 Merge: a20bd9e... e1622f4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:14:18 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (2) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: exec: fix incorrect assumptions in memory_access_size memory: Return -1 again on reads from unsigned regions memory: actually set the owner exec.c: Pass correct pointer type to qemu_ram_ptr_length Message-id: 1374264478-23913-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a20bd9eec3cf3f9dd7e27d45a96d7b1b9ab09ebd Merge: 5447a9a... be022d6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:49 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Michael Tokarev (2) and others # Via Michael Tokarev * mjt/trivial-patches: doc: monitor multiplexing rewording block/m25p80: Update Micron entries Fix command example in qemu.sasl slirp: remove mbuf(m_hdr,m_dat) indirection linux-user: declare sys_futex to have 6 arguments Message-id: 1374225073-12959-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5447a9afc4150693d3909a8632891061147e170d Merge: 293706d... a23fdf3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:34 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Peter Lieven (5) and others # Via Stefan Hajnoczi * stefanha/block: block/raw: add .bdrv_get_info block: fix bdrv_read_unthrottled() cpus: Let vm_stop[_force_state]() always flush block devices block-migration: efficiently encode zero blocks block/raw: add bdrv_co_write_zeroes block: add bdrv_write_zeroes() block: fix vvfat error path for enable_write_target QEMUBH: make AioContext's bh re-entrant dataplane: sync virtio.c and vring.c virtqueue state gluster: Add discard support for GlusterFS block driver. gluster: Use pkg-config to configure GlusterFS block driver Message-id: 1374223132-29107-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 293706dd682f578b457d052988cf3c20b4eab82d Merge: 90c66f5... b957a1b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:27 2013 -0500 Merge remote-tracking branch 'rth/axp-next' into staging # By Richard Henderson # Via Richard Henderson * rth/axp-next: pc-bios: Update palcode-clipper target-alpha: Move alarm to vm_clock Message-id: 1374161033-11449-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 90c66f587c8d020a642d3c9376f9102c16f2234e Merge: 2494397... 3ba0063... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:15 2013 -0500 Merge remote-tracking branch 'stefanha/tracing' into staging # By Markus Armbruster # Via Stefan Hajnoczi * stefanha/tracing: trace-events: Fix up source file comments trace-events: Drop unused events milkymist-minimac2: Fix minimac2_read/_write tracepoints slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints cleanup-trace-events.pl: New Message-id: 1374119369-26496-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd76663e3fe59dc7f7d5c439561b74f472727137 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Mon Jul 8 15:40:02 2013 -0700 hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header The load_ramdisk function is used to load ramdisk featuring a U-Boot header. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373323202-17083-3-git-send-email-soren.brinkmann@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 84aee0deae0de620277759e2c3cd3a9cf45390b0 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Mon Jul 8 15:40:01 2013 -0700 hw/loader: Support ramdisk with u-boot header Introduce 'load_ramdisk()' which can load "normal" ramdisks and ramdisks with a u-boot header. To enable this and leverage synergies 'load_uimage()' is refactored to accomodate this additional use case. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373323202-17083-2-git-send-email-soren.brinkmann@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c8a07b355d7de568b93a61eb09cfe953ef0db409 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:12 2013 +0100 vexpress: Add virtio-mmio transports Add some virtio-mmio transports to the vexpress board model, together with a modify_dtb hook which adds them to the device tree so that the kernel will probe for them. We put them in a reserved area of the address map. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-9-git-send-email-peter.maydell@xxxxxxxxxx commit cef04a26e76c9beb6f51f1703ccf17440619e226 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:11 2013 +0100 vexpress: Make VEDBoardInfo extend arm_boot_info Make the VEDBoardInfo struct extend arm_boot_info; this will allow us to get at the VEDBoardInfo information inside callbacks from arm/boot code. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-8-git-send-email-peter.maydell@xxxxxxxxxx commit 3b1cceb8b52320150fd93dc094ba11fd01c6adfa Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:10 2013 +0100 arm/boot: Allow boards to modify the FDT blob Add a callback hook in arm_boot_info to allow board models to modify the device tree blob if they need to. (The major expected use case is to add virtio-mmio nodes for virtio-mmio transports that exist in QEMU but not in the hardware.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-7-git-send-email-peter.maydell@xxxxxxxxxx commit 4b52530be987f33f8bffbdec9826298ad53ec180 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:09 2013 +0100 virtio: Implement MMIO based virtio transport Add support for the generic MMIO based virtio transport. This patch includes some fixes for bugs spotted by Ying-Shiuan Pan <yspan@xxxxxxxxxxx>. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1373977512-28932-6-git-send-email-peter.maydell@xxxxxxxxxx [Fred changes: updated to new virtio-bus mechanisms] Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> [PMM changes: * fixed trivial makefile conflict * removed unused int_enable * host_features doesn't need migrating * reset guest accessible state in the reset function * minor style fixes like extra blank lines * RAZ/WI if there's no backend * made transport size 0x200, in line with kvmtool * set has_variable_vring_alignment ] commit 6ce69d1c7741c0ad524e4cad6dca31e782108a65 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:08 2013 +0100 virtio: Support transports which can specify the vring alignment Support virtio transports which can specify the vring alignment (ie where the guest communicates this to the host) by providing a new virtio_queue_set_align() function. (The default alignment remains as before.) Transports which wish to make use of this must set the has_variable_vring_alignment field in their VirtioBusClass struct to true; they can then change the alignment via virtio_queue_set_align(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-5-git-send-email-peter.maydell@xxxxxxxxxx commit e63c0ba1bce0b3cc7037c6c2d327267a585534ec Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:07 2013 +0100 virtio: Add support for guest setting of queue size The MMIO virtio transport spec allows the guest to tell the host how large the queue size is. Add virtio_queue_set_num() function which implements this in the QEMU common virtio support code. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-4-git-send-email-peter.maydell@xxxxxxxxxx commit 70976c41c1def9d6e8b664c64cdf83b1ea0daa03 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:06 2013 +0100 arm/boot: Use qemu_devtree_setprop_sized_cells() Replace the opencoded assembly of the reg property array for the /memory node with a call to qemu_devtree_setprop_sized_cells(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1373977512-28932-3-git-send-email-peter.maydell@xxxxxxxxxx commit 97c38f8c279ae2f71cb0f6aed11aa94ef59b2955 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:05 2013 +0100 device_tree: Add qemu_devtree_setprop_sized_cells() utility functions We already have a qemu_devtree_setprop_cells() which sets a dtb property to an array of cells whose values are specified by varargs. However for the fairly common case of setting a property to a list of addresses or of address,size pairs the number of cells used by each element in the list depends on the parent's #address-cells and #size-cells properties. To make this easier we provide an analogous qemu_devtree_setprop_sized_cells() macro which allows the number of cells used by each element to be specified. This is implemented using an underlying qemu_devtree_setprop_sized_cells_from_array() function which takes the values and sizes as an array; this may also be directly useful for cases where the cell contents are constructed programmatically. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1373977512-28932-2-git-send-email-peter.maydell@xxxxxxxxxx commit be022d61f4938bb051e8af8e6cb470ec1602c488 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jul 11 12:55:50 2013 +0400 doc: monitor multiplexing rewording Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f5aac8e07ff25846c7a5c1a5153c49c18715d9f0 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Tue Jun 4 11:59:14 2013 -0400 block/m25p80: Update Micron entries - Split 32Mb and 256Mb parts into a11 and a13 variants. - Add the 4K sector flag to the 128Mb parts. (These entries were taken from the Linux kernel list, which is missing the flag.) - Fill out the table of sizes with entries for 64Mb parts. Prodded by Peter Crosthwaite. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 805695daf64879959e3ea357fe9c391ddacea9c6 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Jul 9 10:07:53 2013 -0400 Fix command example in qemu.sasl sasldblistusers2 doesn't have a '-a' option Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 0e44486cdccb4c1f9e5fad390cfd7186850c7204 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jul 13 13:10:05 2013 +0400 slirp: remove mbuf(m_hdr,m_dat) indirection commit 43be1343667ae03cfb0c9ea4d56575c61b5c8d92 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 15 15:17:40 2013 +0200 linux-user: declare sys_futex to have 6 arguments sys_futex has 6 arguments, and all of these need to be copied. Fix incorrect declaration in the mips_syscall_args array. This change fixes the cases where the 5th and 6th arguments have non-zero value and have importance. An example is a Linux implementation of pthread_cond_wait() function. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a23fdf355969d331f60593fa5b857d43aec25aac Author: Peter Lieven <pl@xxxxxxx> Date: Mon Jul 15 12:49:34 2013 +0200 block/raw: add .bdrv_get_info Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4e7395e84fc7534f6a6c6f3d5563e770501dbe2e Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 18 10:37:32 2013 +0200 block: fix bdrv_read_unthrottled() Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 594a45ce64dbef1829996403506a1154eb2fd1cc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Jul 18 14:52:19 2013 +0200 cpus: Let vm_stop[_force_state]() always flush block devices Even if the VM is already stopped, we cannot assume that all data has already been successfully flushed to disk. The flush during the previous vm_stop() could have failed. Run bdrv_flush_all() unconditionally so that we get an error each time if the block device isn't really flushed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 323004a39d4d8d33c744a5b108f80bfe6402fca3 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 18 09:48:50 2013 +0200 block-migration: efficiently encode zero blocks this patch adds a efficient encoding for zero blocks by adding a new flag indicating a block is completely zero. additionally bdrv_write_zeros() is used at the destination to efficiently write these zeroes. depending on the implementation this avoids that the destination target gets fully provisioned. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8bf9344ad6883e6d85b69bab36d9d76e4257e9ed Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:23 2013 +0200 block/raw: add bdrv_co_write_zeroes Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4105eaaab9376ea959de711b81bba9e1494c971d Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:22 2013 +0200 block: add bdrv_write_zeroes() Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 78f27bd02ceba4a2f6ac5c725f4d4410eec205ef Author: Fam Zheng <famz@xxxxxxxxxx> Date: Wed Jul 17 17:57:37 2013 +0800 block: fix vvfat error path for enable_write_target s->qcow and s->qcow_filename are allocated but not freed on error. Fix the possible leaks, remove unnecessary check for bdrv_new(), propagate ret code of bdrv_create() and also the one of enable_write_target(). Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dcc772e2f2b7c2a68644133fea2b874f6751a57b Author: Liu Ping Fan <qemulist@xxxxxxxxx> Date: Tue Jul 16 12:28:58 2013 +0800 QEMUBH: make AioContext's bh re-entrant BH will be used outside big lock, so introduce lock to protect between the writers, ie, bh's adders and deleter. The lock only affects the writers and bh's callback does not take this extra lock. Note that for the same AioContext, aio_bh_poll() can not run in parallel yet. Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9154b02c53bb6685797c973fcdbec51c4714777d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 1 13:29:17 2013 +0200 dataplane: sync virtio.c and vring.c virtqueue state Load the virtio.c state into vring.c when we start dataplane mode and vice versa when stopping dataplane mode. This patch makes it possible to start and stop dataplane any time while the guest is running. This will eventually allow us to go back to QEMU main loop for bdrv_drain_all() and live migration. In the meantime, this patch makes the dataplane lifecycle more robust but should make no visible difference. It may be useful in the virtio-net dataplane effort. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0c14fb47ece5ef42d7a0a4b3e8e43e022b375720 Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 16 21:47:42 2013 +0530 gluster: Add discard support for GlusterFS block driver. Implement bdrv_aio_discard for gluster. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e01bee0881e0f0c8a79555f6729d7238841a5b04 Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 16 21:47:41 2013 +0530 gluster: Use pkg-config to configure GlusterFS block driver Use pkg-config to determine the version and library dependency for GlusterFS block driver. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 24943978cbe79634a9a8b02a20efb25b29b3ab49 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:23 2013 +0200 boot-order-test: Add tests for Sun4u Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-13-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26491a388ce69d80c6d7d2b15ddf93d4399f04bc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:22 2013 +0200 libqos: Generalize I/O-mapped fw_cfg Provide a constructor that takes the base address in addition to the PC-specific one. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-12-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f88dc7dd4d5942714672aa293a3357f5c6469568 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:21 2013 +0200 boot-order-test: Add tests for Sun4m Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-11-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e99f87cc86ba57a57d2472342a51d21f1e8b4966 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:20 2013 +0200 boot-order-test: Add tests for PowerPC PREP Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-10-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 484986e24282e922e5acb1db2c2b324e55c39ea4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:19 2013 +0200 boot-order-test: Code motion for better readability Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-9-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit aea6a16907ca377d450d344dddda8456f87d5c0b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:18 2013 +0200 boot-order-test: Better separate target-specific and generic parts The initial version did just PC. I didn't bother to separate out generic parts, because I don't like to abstract from a single case. Now we have two cases, PC and PowerMac, and I'm about to add more. Time to do it right. To ease review, this commit changes the code in-place, and the next commit reorders it for better readability. Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 995b0e136fca7786657c5b63fa094032114615e3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:17 2013 +0200 boot-order-test: Cover -boot once in ppc tests Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 530a7e48bccddd8f1558f48cd4e3f6d46c272c83 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 26 15:52:16 2013 +0200 boot-order-test: Add tests for PowerMacs They set the boot device via fw_cfg, which is then translated to a boot path of "hd" or "cd" in OpenBIOS. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-6-git-send-email-armbru@xxxxxxxxxx Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Converted to libqos/fw_cfg on Anthony's request. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7a10016509f740ef33b7875630d6c3549d57c6e8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:15 2013 +0200 libqos: Add support for memory-mapped fw_cfg Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db2b5500c9780730b8ad09fca4a1d2de365dcbf0 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jun 26 15:52:14 2013 +0200 libqos: include dependencies Otherwise rebuilds can fail when libqos is modified. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit edbd790d20cf19d039dfe431aaf0973a9e0afa8f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:13 2013 +0200 boot-order-test: New; covering just PC for now Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ba646ff6a3149f416424122c628e798be4957997 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:12 2013 +0200 qtest: Don't reset on qtest chardev connect libqtest's qtest_init() connecting to the qtest socket triggers reset. This was coded in the hope we could use the same QEMU process for multiple tests that way. Never used. Injects an extra reset even when it's not used, and that can mess up tests such as the one of -boot once I'm about to add. Drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1d9358e686125c125b52529fa68baf36aa2d0d09 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 20 08:55:29 2013 +0200 libqtest: New qtest_end() to go with qtest_start() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371711329-9144-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fdd26fca3ce66863e547560fbde1a444fc5d71b7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 20 08:55:28 2013 +0200 libqtest: Plug fd and memory leaks in qtest_quit() Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371711329-9144-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 293d2a0014a0e849477413f55aaa05f2743b2e04 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Jul 16 20:19:41 2013 +0200 monitor: maintain at most one G_IO_OUT watch When monitor_flush() is invoked repeatedly outside the monitor_unblocked() callback, for example from tlb_info() -> ... -> print_pte(), several watches may be added for the same event. This is no problem per se because the extra monitor_unblocked() callbacks are harmless if mon->outbuf is empty, the watches will be removed gradually. However a big number of watches can grow "gpollfds" without limit in glib_pollfds_fill(), triggering a -1/EINVAL condition in g_poll(). Keep at most one such watch, by following the pattern observable in eg. commits c874ea97 and c3d6b96e. The change has no effect when monitor_unblocked() calls monitor_flush() (when the watch can either be removed or renewed 1-for-1), but non-callback contexts won't create an additional watch when the monitor already has one. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=970047 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1373998781-29561-3-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ac8c26f633b01bb32cdf347f9dbd5a80c6712925 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Jul 16 20:19:40 2013 +0200 char: io_channel_send: don't lose written bytes The g_io_channel_write_chars() documentation states, bytes_written: The number of bytes written. This can be nonzero even if the return value is not G_IO_STATUS_NORMAL. [...] io_channel_send() could lose such bytes before. Furthermore, the (status == G_IO_STATUS_EOF) condition used to evaluate to constant false whenever it was reached. When that condition actually held, it always led to -1 / EINVAL. This patch (almost) distinguishes G_IO_STATUS_EOF only when no bytes have been written, and then treats it as an error. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1373998781-29561-2-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0d185e638861bd9b05b2abb43774a368cadabd38 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jul 18 16:42:01 2013 +0100 configure: Provide more helpful message if libvte not present If the system has GTK but not libvte, it's more helpful to tell the user that libvte is missing than to simply say that GTK is not present. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1374162121-31582-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b957a1b03cfd56134519ebc01ba8fe1b166c0c84 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 16 06:48:28 2013 -0700 pc-bios: Update palcode-clipper Update image to c87a92639b28ac42bc8f6c67443543b405dc479b, incorporating changes for vm_time. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 19e0cbb82ffab7220cdbcc78ab2c1dac823ce4e3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 16 06:45:57 2013 -0700 target-alpha: Move alarm to vm_clock Basing the alarm off the rtc_clock was silly. It leads to horrible spinning in the guest after being suspended and resumed, as it tries to catch up with lost ticks. This requires adding an accessor for reading the vm_clock too. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 28199c48ed44895012ae0be3b6e8f080404a4d34 Merge: bbcf59b... 7b4b0e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:14:22 2013 -0500 Merge remote-tracking branch 'awilliam/tags/vfio-for-qemu-1.6' into staging vfio: enhanced VGA quirks + AER error containment # gpg: Signature made Wed 17 Jul 2013 05:39:38 PM CDT using RSA key ID 3BB08B22 # gpg: Can't check signature: public key not found # By Alex Williamson (1) and Vijay Mohan Pandarathil (1) # Via Alex Williamson * awilliam/tags/vfio-for-qemu-1.6: vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices vfio-pci: VGA quirk update Message-id: 20130717224939.4763.87264.stgit@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bbcf59bc4ba813b1ff8f1312585f773a675b2e3e Merge: 5ab4dba... f9b1d9b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:14:10 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Amos Kong (1) and Luiz Capitulino (1) # Via Luiz Capitulino * luiz/queue/qmp: qmp: update send-key document qapi: qapi-commands: fix possible leaks on visitor dealloc Message-id: 1374093679-29213-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5ab4dba4dac1932f8b14561772d3473d02ccd259 Merge: e9acb8c... 0777b5d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:13:50 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Peter Lieven (4) and Ronnie Sahlberg (1) # Via Paolo Bonzini * bonzini/scsi-next: iscsi: factor out sector conversions iscsi: assert that sectors are aligned to LUN blocksize iscsi: remove support for misaligned nb_sectors in aio_readv iscsi: fix -ENOSPC in iscsi_create() Fix iSCSI crash on SG_IO with an iovector Message-id: 1374073524-8469-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9acb8cea9b11679cab8cb3c20c4348803bbb58a Merge: 6453a3a... d26d9e1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:12:47 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,net,pc enhancements This includes some fixes and enhancements that accumulated in my tree: pci fixes by dkoch, virtio-net enhancements by akong and mst, and a fix for xen pc by mst. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Wed 17 Jul 2013 04:44:45 AM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Don Koch (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: pc: don't access fw cfg if NULL virtio-net: add feature bit for any header s/g net: add support of mac-programming over macvtap in QEMU side pci: fix BRDIGE typo pci-bridge: update mappings for migration/restore Message-id: 1374054430-21966-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e1622f4b15391bd44eb0f99a244fdf19a20fd981 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 17 13:17:41 2013 +0200 exec: fix incorrect assumptions in memory_access_size access_size_min can be 1 because erroneous accesses must not crash QEMU, they should trigger exceptions in the guest or just return garbage (depending on the CPU). I am not sure I understand the comment: placing a 4-byte field at the last byte of a region makes no sense (unless impl.unaligned is true), and that is why memory.c:access_with_adjusted_size does not bother with minimums larger than the remaining length. access_size_max can be mr->ops->valid.max_access_size because memory.c can and will still break accesses bigger than mr->ops->impl.max_access_size. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Tested-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Jul 16 14:45:16 2013 +0200 memory: Return -1 again on reads from unsigned regions This restore the behavior prior to b018ddf633 which accidentally changed the return code to 0. Specifically guests probing for register existence were affected by this. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4afea11aafe85975e74dd562bb94f7ce3de1ef1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 15 15:48:50 2013 +0200 memory: actually set the owner Brown paper bag for me. Originally commit 803c0816 came before commit 2c9b15c. When the order was inverted, I left in the NULL initialization of mr->owner. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb85f7ab045e8c05ee182b3573c9aba8e287e36b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 8 09:44:04 2013 +0100 exec.c: Pass correct pointer type to qemu_ram_ptr_length Commit e3127ae0 introduced a problem where we're passing a hwaddr* to qemu_ram_ptr_length() but it wants a ram_addr_t*; this will cause problems on 32 bit hosts and in any case provokes a clang warning on MacOSX: CC arm-softmmu/exec.o exec.c:2164:46: warning: incompatible pointer types passing 'hwaddr *' (aka 'unsigned long long *') to parameter of type 'ram_addr_t *' (aka 'unsigned long *') [-Wincompatible-pointer-types] return qemu_ram_ptr_length(raddr + base, plen); ^~~~ exec.c:1392:63: note: passing argument to parameter 'size' here static void *qemu_ram_ptr_length(ram_addr_t addr, ram_addr_t *size) ^ Since this function is only used in one place, change its prototype to pass a hwaddr* rather than a ram_addr_t*, rather than contorting the calling code to get the type right. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3ba00637d024b9d43b26106060a23a85411d0757 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:21 2013 +0200 trace-events: Fix up source file comments They're all wrong since (at least) Paolo's big source tree reorganization. Need to shuffle some event declarations around to keep them under the correct source file comment. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3ae76d23d21a1f47390c6abe3497c33b708aec1f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:20 2013 +0200 trace-events: Drop unused events Dropped event Unused since mirror_cow 884fea4 paio_complete 47e6b25 paio_cancel 47e6b25 usb_ehci_data 0ce668b megasas_qf_dequeue never used megasas_handle_frame never used megasas_io_continue never used megasas_iovec_map_failed never used megasas_dcmd_map_failed never used milkymist_softusb_mouse_event 4c15ba9 xen_map_block 6506e4f xen_unmap_block 6506e4f qemu_spice_start 67be672 qemu_spice_stop 67be672 Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0ece9671fd22e3ea518aa30f941e8794116985e7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:19 2013 +0200 milkymist-minimac2: Fix minimac2_read/_write tracepoints Broken in milkymist-minimac.c from the start (commit 0742454), faithfully moved to milkymist-minimac2.c (commit 57aa265). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f3a64b8c89ac9b5111f97e2653d249e4668764b3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:18 2013 +0200 slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints Broken since they got added in commit 97bf485. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f0c03c8cf6184f25ba91449c1ff77e5e006ce514 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:17 2013 +0200 cleanup-trace-events.pl: New Simple script to drop unused events and fix up source file comments. The next few commits put it to use. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f9b1d9b20f5d25b95f67a498e312f625d168fc51 Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Jul 16 19:52:14 2013 +0800 qmp: update send-key document commit 9f328977 changes qmp_send_key() to accept key codes in hex, but the document wasn't updated. The items of keys list is union now, not enum. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 0777b5dde42f4f453abc8bb2c4e145fb8749415d Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:25 2013 +0200 iscsi: factor out sector conversions Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:27 2013 +0200 iscsi: assert that sectors are aligned to LUN blocksize if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE it is possible that sector_num or nb_sectors are not correctly aligned. to avoid corruption we fail requests which are misaligned. Signed-off-by: Peter Lieven <pl@xxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:26 2013 +0200 iscsi: remove support for misaligned nb_sectors in aio_readv this hask is not working (anymore). support for misaligned offsets should be handled at the block layer. Signed-off-by: Peter Lieven <pl@xxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d3bda7bc166f40326ba646ee145630bb1b59da96 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:24 2013 +0200 iscsi: fix -ENOSPC in iscsi_create() the -ENOPSC case did not work due to the missing goto. Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0a53f010745635c39a83756a948df60a84e88fe5 Author: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> Date: Sun Jun 23 08:07:08 2013 -0700 Fix iSCSI crash on SG_IO with an iovector Don't assume that SG_IO is always invoked with a simple buffer, check the iovec_count and if it is >= 1 then we need to pass an array of iovectors to libiscsi instead of just a plain buffer. Signed-off-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8f91ad8a1b4702966d91ea58cd90bbde1faea1b3 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu Jul 11 14:26:56 2013 -0400 qapi: qapi-commands: fix possible leaks on visitor dealloc In qmp-marshal.c the dealloc visitor calls use the same errp pointer of the input visitor calls. This means that if any of the input visitor calls fails, then the dealloc visitor will return early, before freeing the object's memory. Here's an example, consider this code: int qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict, QObject **ret) { [...] char * device = NULL; char * password = NULL; mi = qmp_input_visitor_new_strict(QOBJECT(args)); v = qmp_input_get_visitor(mi); visit_type_str(v, &device, "device", errp); visit_type_str(v, &password, "password", errp); qmp_input_visitor_cleanup(mi); if (error_is_set(errp)) { goto out; } qmp_block_passwd(device, password, errp); out: md = qapi_dealloc_visitor_new(); v = qapi_dealloc_get_visitor(md); visit_type_str(v, &device, "device", errp); visit_type_str(v, &password, "password", errp); qapi_dealloc_visitor_cleanup(md); [...] return 0; } Consider errp != NULL when the out label is reached, we're going to leak device and password. This patch fixes this by always passing errp=NULL for dealloc visitors, meaning that we always try to free them regardless of any previous failure. The above example would then be: out: md = qapi_dealloc_visitor_new(); v = qapi_dealloc_get_visitor(md); visit_type_str(v, &device, "device", NULL); visit_type_str(v, &password, "password", NULL); qapi_dealloc_visitor_cleanup(md); Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7b4b0e9eda51902b53bc1a2318df53cdb8b72eed Author: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx> Date: Mon Jul 15 15:49:49 2013 -0600 vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices Add support for error containment when a VFIO device assigned to a KVM guest encounters an error. This is for PCIe devices/drivers that support AER functionality. When the host OS is notified of an error in a device either through the firmware first approach or through an interrupt handled by the AER root port driver, the error handler registered by the vfio-pci driver gets invoked. The qemu process is signaled through an eventfd registered per VFIO device by the qemu process. In the eventfd handler, qemu decides on what action to take. In this implementation, guest is brought down to contain the error. The kernel patches for the above functionality has been already accepted. This is a refresh of the QEMU patch which was reviewed earlier. http://marc.info/?l=linux-kernel&m=136281557608087&w=2 This patch has the same contents and has been built after refreshing to latest upstream and after the linux headers have been updated in qemu. - Create eventfd per vfio device assigned to a guest and register an event handler - This fd is passed to the vfio_pci driver through the SET_IRQ ioctl - When the device encounters an error, the eventfd is signalled and the qemu eventfd handler gets invoked. - In the handler decide what action to take. Current action taken is to stop the guest. Signed-off-by: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 39360f0b91d38790b5756d621ca9a7dd93ca8816 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Jul 15 15:48:11 2013 -0600 vfio-pci: VGA quirk update Turns out all the suspicions for AMD devices were correct, everywhere we read a BAR address that the address matches the config space offset, there's full access to PCI config space. Attempt to generalize some helpers to allow quirks to easily be added for mirrors and windows. Also fill in complete config space for AMD. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit f290e4988dd8eb012de0517a1ff93df130e87da1 Merge: a281778... c6d8ed2... Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 15 13:21:10 2013 -0700 Merge git://github.com/hw-claudio/qemu-aarch64-queue into tcg-next commit a28177820a868eafda8fab007561cc19f41941f4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 18 19:20:47 2013 +0200 tcg: Remove temp_buf All targets have been converted to allocating space for temporaries on the stack. No need to allocate space within the CPU_COMMON block. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6453a3a69488196f26d12654c6b148446abdf3d6 Merge: 2562bec... 7ca1dfa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:49:15 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Chegu Vinod # Via Juan Quintela * quintela/migration.next: Force auto-convegence of live migration Add 'auto-converge' migration capability Introduce async_run_on_cpu() Message-id: 1373664508-5404-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2562becfc126ed7678c662ee23b7c1fe135d8966 Merge: ab4e158... bf72d89... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:02:41 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Dominik Dingel # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Enable x-data-plane for virtio-ccw-blk Message-id: 1373903207-27085-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab4e1589f072c7a5d1238c7f0d289c163c7736b2 Merge: 1750d01... 82a3a11... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:02:32 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130715-1' into staging target-arm queue # gpg: Signature made Mon 15 Jul 2013 11:15:13 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Mans Rullgard (3) and others # Via Peter Maydell * pmaydell/tags/pull-target-arm-20130715-1: target-arm: Avoid g_hash_table_get_keys() target-arm: avoid undefined behaviour when writing TTBCR target-arm/helper.c: Allow const opaques in arm CP target-arm/helper.c: Implement MIDR aliases target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup target-arm: explicitly decode SEVL instruction target-arm: implement LDA/STL instructions target-arm: add feature flag for ARMv8 Message-id: 1373905022-27735-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1750d019cea1e2383d3283eaad38cd0f93d07b11 Merge: a34001f... b25a83f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:02:12 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130715' into staging arm-devs queue # gpg: Signature made Mon 15 Jul 2013 10:53:44 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Peter Maydell (4) and others # Via Peter Maydell * pmaydell/tags/pull-arm-devs-20130715: ARM/highbank: add support for Calxeda ECX-2000 / Midway ARM/highbank: prepare for adding similar machines hw/arm/vexpress: Add alias for flash at address 0 on A15 board hw/dma/omap_dma: Fix bugs with DMA requests above 32 sd/pl181.c: Avoid undefined shift behaviour in RWORD macro hw/cpu/a15mpcore: Correct default value for num-irq char/cadence_uart: Fix reset for unattached instances Message-id: 1373904095-27592-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a34001fab5da2d0df605a8b83880c917c8aa0606 Merge: 5699a02... e605e96... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:00:57 2013 -0500 Merge remote-tracking branch 'rth/axp-next' into staging # By Richard Henderson # Via Richard Henderson * rth/axp-next: hw/alpha: Use SRM epoch hw/alpha: Drop latch_tmp hack exec: Support 64-bit operations in address_space_rw hw/alpha: Don't machine check on missing pci i/o hw/alpha: Don't use get_system_io Message-id: 1373840171-25556-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5699a02e01a4d046652bc6e77abd67e887ae209c Merge: c3cb8e7... a62eaa2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:00:32 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (6) and Stefan Hajnoczi (2) # Via Kevin Wolf * kwolf/for-anthony: ahci: Fix FLUSH command migration: Fail migration on bdrv_flush_all() error cpus: Add return value for vm_stop() block: Add return value for bdrv_flush_all() qemu-iotests: Update 051 reference output block: Don't parse protocol from file.filename block: add drive_backup HMP command blockdev: add sync mode to drive-backup QMP command Message-id: 1373887000-4488-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d26d9e14c15837eba2b7447e8d15230bab8e0940 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Jul 10 18:28:04 2013 +0300 pc: don't access fw cfg if NULL commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c "pc: pass PCI hole ranges to Guests" broke Xen as it has no fw_cfg. Check for this configuration and boil out. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 488f069bd1f3aeb6ee748acb02b7581831bcb3f8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Jul 11 16:06:46 2013 +0300 virtio-net: add feature bit for any header s/g Old qemu versions required that 1st s/g entry is the header. Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup" removed this limitation but a feature bit is needed so guests know it's safe to lay out header differently. This patch applies on top and adds such a feature bit to QEMU. It is set by default for virtio-net. virtio net header inline with the data is beneficial for latency and small packet bandwidth - guest driver code utilizing this feature has been acked but missed 3.11 by a narrow margin, it's pending for 3.12. This feature bit is cleared by default when compatibility with old machine types is requested. Other performance-sensitive devices (blk and scsi) don't yet support arbitrary s/g layouts, so we only set this bit for virtio-net for now. There are plans to allow arbitrary layouts there, but no code has been posted yet. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit b1be42803b31a913bab65bab563a8760ad2e7f7f Author: Amos Kong <akong@xxxxxxxxxx> Date: Fri Jun 14 15:45:52 2013 +0800 net: add support of mac-programming over macvtap in QEMU side Currently macvtap based macvlan device is working in promiscuous mode, we want to implement mac-programming over macvtap through Libvirt for better performance. Design: QEMU notifies Libvirt when rx-filter config is changed in guest, then Libvirt query the rx-filter information by a monitor command, and sync the change to macvtap device. Related rx-filter config of the nic contains main mac, rx-mode items and vlan table. This patch adds a QMP event to notify management of rx-filter change, and adds a monitor command for management to query rx-filter information. Test: If we repeatedly add/remove vlan, and change macaddr of vlan interfaces in guest by a loop script. Result: The events will flood the QMP client(management), management takes too much resource to process the events. Event_throttle API (set rate to 1 ms) can avoid the events to flood QMP client, but it could cause an unexpected delay (~1ms), guests guests normally expect rx-filter updates immediately. So we use a flag for each nic to avoid events flooding, the event is emitted once until the query command is executed. The flag implementation could not introduce unexpected delay. There maybe exist an uncontrollable delay if we let Libvirt do the real change, guests normally expect rx-filter updates immediately. But it's another separate issue, we can investigate it when the work in Libvirt side is done. Michael S. Tsirkin: tweaked to enable events on start Michael S. Tsirkin: fixed not to crash when no id Michael S. Tsirkin: fold in patch: "additional fixes for mac-programming feature" Amos Kong: always notify QMP client if mactable is changed Amos Kong: return NULL list if no net client supports rx-filter query Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 82a3a11897308b606120f7235001e87809708f85 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 1 12:40:19 2013 +0100 target-arm: Avoid g_hash_table_get_keys() g_hash_table_get_keys() was only introduced in glib 2.14, and we're still targeting a minimum version of 2.12. Rewrite the offending code (introduced in commit 721fae1) to use g_hash_table_foreach() to build the list of keys. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1372678819-8633-1-git-send-email-peter.maydell@xxxxxxxxxx commit 2ebcebe262e88111ff583f97bc5fe0aae64b8940 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 16:38:47 2013 +0100 target-arm: avoid undefined behaviour when writing TTBCR LPAE CPUs have more potentially valid bits in the TTBCR, and so the simple masking out of invalid bits is no longer sufficient to obtain the base address width field of the register, which is what we use to precalculate c2_mask and c2_base_mask. Explicitly extract the relevant register field rather than simply shifting by the register value. This bug would have had no ill effects in practice, since if the EAE bit (TTBCR bit 31) is set then we don't use the precalculated masks, and if EAE is zero then bits 30..3 are all UNK/SBZP, so well-behaved guests won't set them. However the shift is undefined behaviour, so we should avoid it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372347527-4428-1-git-send-email-peter.maydell@xxxxxxxxxx commit 204a9c43afb92e2ff44fc9d1d377bc98ee97e3d7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Jul 10 14:22:59 2013 +1000 target-arm/helper.c: Allow const opaques in arm CP Allow for defining const opaque data in ARM CP register definitions by setting .opaque = foo. If non null opaque is passed into define_one_arm_cp_reg_with_opaque then that opaque will take precedence, otherwise if null opaque is passed, the original opaque data will be used. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: cf0a3ac3438d97464240db9f5f4ef1585cbc1d77.1373429432.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 97ce8d61559b99492b4d389eba51a198e55b8455 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Jul 10 14:22:21 2013 +1000 target-arm/helper.c: Implement MIDR aliases Unimplemented registers in the cp15, CRn=0, opc1=0, CRm=0 space default to aliasing the MIDR register. Set all registers in the space to access MIDR by default. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 6127846712b7ad2727354a4f5e1d809451f1e859.1373429432.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a703eda18a5c3e9b45f2b9a337a3e1e16c836cf9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Jul 10 14:21:42 2013 +1000 target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup The if block detecting OMAP/StrongARM modifies the id_cp_reginfo .access fields in place. So there is no need to replicate the call to define_arm_cp_reg(). Dropped, and let the OMAP case fall through to the normal behaviour after the in-place modification. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 72aae9b8ebbc9a76d2b06faf8666ef8a4b34b92a.1373429432.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 12b10571141a20e1c23d3b597e55d5d1a3113265 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Mon Jul 15 14:35:25 2013 +0100 target-arm: explicitly decode SEVL instruction The ARMv8 SEVL instruction is in the architectural hint space already emulated as nop. This makes the decoding of SEVL explicit for clarity. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Message-id: 1370606786-5650-3-git-send-email-mans@xxxxxxxxx [PMM: added 'SEVL' to the TODO comment] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2359bf80c1c4e8ed1e7ddb03661fec6bace82a87 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Mon Jul 15 14:35:25 2013 +0100 target-arm: implement LDA/STL instructions This adds support for the ARMv8 load acquire/store release instructions. Since qemu does nothing special for memory barriers, these can be emulated like their non-acquire/release counterparts. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit bf72d89f0a8fb27a6bfde1a689690fd577227762 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 11 13:22:19 2013 +0200 virtio-ccw: Enable x-data-plane for virtio-ccw-blk Add property x-data-plane to virtio-ccw-blk devices. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b25a83f0538fceede15cba6cfd6ea0f1ffc9d777 Author: Andre Przywara <andre.przywara@xxxxxxxxxxx> Date: Fri Jul 5 14:21:37 2013 +0200 ARM/highbank: add support for Calxeda ECX-2000 / Midway The Calxeda ECX-2000 chip (aka. Midway) is model-wise quite similar to the Highbank. The most prominent difference is the Cortex-A15 CPU core in it, together with the associated core peripherals. Add a new ARM machine type called "midway". Move the L2 cache controller device into the Highbank specific part, since Midway does not have (and need) it. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx> Message-id: 1373026897-12085-3-git-send-email-andre.przywara@xxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 574f66bcbe10cd8fbf8bbf6d87451a944ae421bd Author: Andre Przywara <andre.przywara@xxxxxxxxxxx> Date: Fri Jul 5 14:21:36 2013 +0200 ARM/highbank: prepare for adding similar machines To allow the modelling of machines similar to Calxeda Highbank, introduce a parameter to the init function and call it from a wrapper. This allows to tweak the definition for individual machines later on. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx> Message-id: 1373026897-12085-2-git-send-email-andre.przywara@xxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8941d6ce25b43824cf96d30cb94742e02e80b2f2 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 9 13:49:40 2013 +0100 hw/arm/vexpress: Add alias for flash at address 0 on A15 board The A15 Versatile Express board can remap a variety of things at address 0. We don't currently emulate the Serial Configuration Controller which is how the guest can control this remapping, but we can provide the initial default mapping of the first flash device into this space. In particular this allows QEMU to boot flash images such as UEFI which expect to include an exception vector table. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Grant Likely <grant.likely@xxxxxxxxxx> Message-id: 1373374180-19884-1-git-send-email-peter.maydell@xxxxxxxxxx commit 7648673636bbd7dcb9abf3cc87a8ba7a65b85436 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 13:51:59 2013 +0100 hw/dma/omap_dma: Fix bugs with DMA requests above 32 The drqbmp field of struct soc_dma_s is a uint64_t; however several places in the code attempt to set bits in it using "(1 << drq)", which will fail if drq is large enough that the 1 bit gets shifted off the top of a 32 bit integer. Change these to "(1ULL << drq)" so that the promotion to 64 bit happens before the shift rather than afterwards. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372423919-5669-1-git-send-email-peter.maydell@xxxxxxxxxx commit 8827b0fb66cab9f7978c4e66dad4cf3c0989a72e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 15:03:51 2013 +0100 sd/pl181.c: Avoid undefined shift behaviour in RWORD macro Add a cast to avoid potentially shifting into the sign bit of a signed value, which is undefined behaviour in C. (Detected with clang's -fsanitize=undefined.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372341831-4264-1-git-send-email-peter.maydell@xxxxxxxxxx commit 528622421eb1be95eaadfe91e8e11729d1e46431 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jul 5 14:54:41 2013 +0100 hw/cpu/a15mpcore: Correct default value for num-irq The a15mpcore device claims that its default value for num-irq is the number of interrupts used by the A15MP in the vexpress-a15 board. However that chip has 128 external interrupts, not 64. Since there is only one A15 based model in QEMU currently, we can fix this by simply changing the default value. This error was causing recent (3.10) Linux kernels to print warnings/backtraces when the number of interrupts reported by the GIC was smaller than an interrupt number they wanted to use. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373032481-15280-1-git-send-email-peter.maydell@xxxxxxxxxx commit 81e69fb093099ec5dccd61c92cec308f83091511 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Mon Jul 15 14:35:25 2013 +0100 target-arm: add feature flag for ARMv8 Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9121d02cb33c96b444a3973579f5edc119597e81 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jul 15 12:28:07 2013 +0100 char/cadence_uart: Fix reset for unattached instances commit 1db8b5efe0c2b5000e50691eea61264a615f43de introduced an issue where QEMU would segfault if you have an unattached Cadence UART. Fix by guarding the flush-on-reset logic on there being a qemu_chr attachment. Reported-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Message-id: 9009578ee10a50d994b2e10aa2840d73765f5968.1370577272.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c6d8ed24b446b1f1e07af87cde54317f54a1d42e Author: Jani Kokkonen <Jani.Kokkonen@xxxxxxxxxx> Date: Wed Jul 10 17:02:00 2013 +0200 tcg/aarch64: Implement tlb lookup fast path Supports CONFIG_QEMU_LDST_OPTIMIZATION Signed-off-by: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> commit a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 15 11:25:55 2013 +0200 ahci: Fix FLUSH command AHCI couldn't cope with asynchronous commands that aren't doing DMA, it simply wouldn't complete them. Due to the bug fixed in commit f68ec837, FLUSH commands would seem to have completed immediately even if they were still running on the host. After the commit, they would simply hang and never unset the BSY bit, rendering AHCI unusable on any OS sending flushes. This patch adds another callback for the completion of asynchronous commands. This is what AHCI really wants to use for its command completion logic rather than an DMA completion callback. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0e1146a7a011a69d8cbc958b4f7ebad186730fc3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 5 13:54:55 2013 +0200 migration: Fail migration on bdrv_flush_all() error If bdrv_flush_all() returns an error, there is an inconsistency in the view of an image file between the source and the destination host. Completing the migration would lead to corruption. Better abort migration in this case. To reproduce this case, try the following (ensures that there is something to flush, and then fails that flush): $ qemu-img create -f qcow2 test.qcow2 1G $ cat blkdebug.cfg [inject-error] event = "flush_to_os" errno = "5" $ qemu-system-x86_64 -hda blkdebug:blkdebug.cfg:test.qcow2 -monitor stdio (qemu) qemu-io ide0-hd0 "write 0 4k" (qemu) migrate ... Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5698346391b306c2c84358c68ee897c095d714cc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 5 13:49:54 2013 +0200 cpus: Add return value for vm_stop() If flushing the block devices fails, return an error. The VM is stopped anyway. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f0f0fdfeec6c67ad374114ecc4b3e3ccde5e94d2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 5 13:48:01 2013 +0200 block: Add return value for bdrv_flush_all() bdrv_flush() can fail, and bdrv_flush_all() should return an error as well if this happens for a block device. It returns the first error return now, but still at least tries to flush the remaining devices even in error cases. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7a370406bdd13b1d46230d1cbca308d984d0dcae Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 10 17:30:26 2013 +0200 qemu-iotests: Update 051 reference output This has been broken by commit bd5c51ee. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 98289620e0460fa595581020ab20127da4a2fc44 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 10 15:47:39 2013 +0200 block: Don't parse protocol from file.filename One of the major reasons for doing something new for -blockdev and blockdev-add was that the old block layer code parses filenames instead of just taking them literally. So we should really leave it untouched when it's passing using the new interfaces (like -drive file.filename=...). This allows opening relative file names that contain a colon. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit de90930a0c45760e7523138fac57ff07312bf51d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Jun 26 14:11:58 2013 +0200 block: add drive_backup HMP command Make "drive_backup" available on the HMP monitor: drive_backup [-n] [-f] device target [format] The -n flag requests QEMU to reuse the image found in new-image-file, instead of recreating it from scratch. The -f flag requests QEMU to copy the whole disk, so that the result does not need a backing file. Note that this flag *must* currently be passed since the other sync modes ('none' and 'top') have not been implemented yet. Requiring it ensures that "drive_backup" behaves like "drive_mirror". Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b53169eae06d6cf6f512a8b1fdd5424a0a6aab85 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Jun 26 14:11:57 2013 +0200 blockdev: add sync mode to drive-backup QMP command The drive-backup command is similar to the drive-mirror command, except no guest data written after the command executes gets copied. Add a sync mode argument which determines whether the entire disk is copied, just allocated clusters, or only clusters being written to by the guest. Currently only sync mode 'full' is supported - it copies the entire disk. For read-only point-in-time snapshots we may only need sync mode 'none' since the target can be a qcow2 file using the guest's disk as its backing file (no need to copy the entire disk). Finally, sync mode 'top' is useful if we wish to preserve the backing chain. Note that this patch just adds the sync mode argument to drive-backup. It does not implement sync modes 'top' or 'none'. This patch is necessary so we can add a drive-backup HMP command that behaves like the existing drive-mirror HMP command and takes a sync mode. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e605e969953d793036dbd450da6b59bb434fb3d8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Jul 13 17:23:37 2013 -0700 hw/alpha: Use SRM epoch The 1980 epoch is used by the ARC PALcode for NT. But we're emulating a system using the SRM PALcode. Using the proper epoch results in less confusion in the guest userland. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 678421650dc166cd6cb35bb2bc0baf1b481b40ca Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 14:57:39 2013 -0700 hw/alpha: Drop latch_tmp hack The memory and i/o core now support passing 64-bit accesses along from the guest, so we no longer need to emulate them. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 23326164ae6fe8d94b7eff123e03f97ca6978d33 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 14:55:59 2013 -0700 exec: Support 64-bit operations in address_space_rw Honor the implementation maximum access size, and at least check the minimum access size. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3661049fec64ffd7ab008e57e396881c6a4b53a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 15:46:37 2013 -0700 hw/alpha: Don't machine check on missing pci i/o Not really correct, but we don't implement all of the random devices that the kernel looks for. This is good enough to keep us booting. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 056e6bae1c91f47165d962564f82f5176bae47f0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 13:55:30 2013 -0700 hw/alpha: Don't use get_system_io Advancements in the ioport subsystem mean that we need no longer thunk memory-mapped i/o through the system-io address space. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c3cb8e77804313e1be99b5f28a34a346736707a5 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 12 14:37:47 2013 -0500 ioport: remove LITTLE_ENDIAN mark for portio Setting it to LE forces a byte swap when host != guest endian but this makes no sense at all. Herve made the suggestion upon observing that word writes/reads were broken into byte writes/reads in such a way as to assume devices are interpret registers as LE. However, even if this were a problem, marking the region as LE is not useful because what's essentially happening here is that LE is open coded. So by marking it LE in MemoryRegionOps, we're doing a superflous swap. Now, the portio code is suspicious to begin with. The dispatch layer really has no purpose in splitting I/O requests in the first place... Cc: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Cc: Alex Graf <agraf@xxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7ca1dfad952d8a8655b32e78623edcc38a51b14a Author: Chegu Vinod <chegu_vinod@xxxxxx> Date: Mon Jun 24 03:47:39 2013 -0600 Force auto-convegence of live migration If a user chooses to turn on the auto-converge migration capability these changes detect the lack of convergence and throttle down the guest. i.e. force the VCPUs out of the guest for some duration and let the migration thread catchup and help converge. Verified the convergence using the following : - Java Warehouse workload running on a 20VCPU/256G guest(~80% busy) - OLTP like workload running on a 80VCPU/512G guest (~80% busy) Sample results with Java warehouse workload : (migrate speed set to 20Gb and migrate downtime set to 4seconds). (qemu) info migrate capabilities: xbzrle: off auto-converge: off <---- Migration status: active total time: 1487503 milliseconds expected downtime: 519 milliseconds transferred ram: 383749347 kbytes remaining ram: 2753372 kbytes total ram: 268444224 kbytes duplicate: 65461532 pages skipped: 64901568 pages normal: 95750218 pages normal bytes: 383000872 kbytes dirty pages rate: 67551 pages --- (qemu) info migrate capabilities: xbzrle: off auto-converge: on <---- Migration status: completed total time: 241161 milliseconds downtime: 6373 milliseconds transferred ram: 28235307 kbytes remaining ram: 0 kbytes total ram: 268444224 kbytes duplicate: 64946416 pages skipped: 64903523 pages normal: 7044971 pages normal bytes: 28179884 kbytes Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bde1e2ec2176c363c1783bf8887b6b1beb08dfee Author: Chegu Vinod <chegu_vinod@xxxxxx> Date: Mon Jun 24 03:49:42 2013 -0600 Add 'auto-converge' migration capability The auto-converge migration capability allows the user to specify if they choose live migration seqeunce to automatically detect and force convergence. Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3c02270db980007424d797506301826310ce2db4 Author: Chegu Vinod <chegu_vinod@xxxxxx> Date: Mon Jun 24 03:49:41 2013 -0600 Introduce async_run_on_cpu() Introduce an asynchronous version of run_on_cpu() i.e. the caller doesn't have to block till the call back routine finishes execution on the target vcpu. Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 25ca6a1f5a3ee0a1ae670590877ed14f05e28fba Merge: c170a23... f35ea98... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 12 07:58:31 2013 -0500 Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging # By Alexander Graf (16) and others # Via Alexander Graf * agraf/ppc-for-upstream: (22 commits) PPC: dbdma: Support more multi-issue DMA requests PPC: Add timer handler for newworld mac-io PPC: dbdma: Support unaligned DMA access PPC: dbdma: Wait for DMA until we have data PPC: dbdma: Move processing to io PPC: dbdma: macio: Add DMA callback PPC: dbdma: Move static bh variable to device struct PPC: dbdma: Introduce kick function PPC: dbdma: Move defines into header file PPC: dbdma: Allow new commands in RUN state PPC: dbdma: Fix debug print PPC: Mac: Add debug prints in macio and dbdma code PPC: dbdma: Replace tabs with spaces PPC: Macio: Replace tabs with spaces PPC: g3beige: Move secondary IDE bus to mac-io PPC: Mac: Fix guest exported tbfreq values target-ppc: Add POWER8 v1.0 CPU model pseries: move interrupt controllers to hw/intc/ spapr: Respect -bios command line option for SLOF spapr: Use named enum for function remove_hpte ... Message-id: 1373562085-29728-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f35ea98cd9f75db9286f05bf3dc4b532f4cb5eaa Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 15:29:13 2013 +0200 PPC: dbdma: Support more multi-issue DMA requests A DMA request can happen for data that hasn't been completely been provided by the IDE core yet. For example - DBDMA request for 0x1000 bytes - IDE request for 1 sector - DBDMA wants to read 0x1000 bytes (8 sectors) from bdrv - breakage Instead, we should truncate our bdrv request to the maximum number of sectors we're allowed to read at that given time. Once that transfer is through, we will fall into our recently introduced waiting logic. - DBDMA requests for 0x1000 bytes - IDE request for 1 sector - DBDMA wants to read MIN(0x1000, 1 * 512) bytes - DBDMA finishes reading, indicates to IDE core that transfer is complete - IDE request for 7 sectors - DBDMA finishes the DMA Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a0f9fdfd98cc0571f9921a7eadd7316532e3e289 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 05:15:14 2013 +0200 PPC: Add timer handler for newworld mac-io Mac OS X accesses fancy timer registers inside of the mac-io on bootup. These really should be ticking at the mac-io bus frequency, but I don't see anyone upset when we just make them as fast as we want to. With this patch on top of my previous patch queue and latest OpenBIOS I am able to boot Mac OS X 10.4 with -M mac99. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 80fc95d8bdaf3392106b131a97ca701fd374489a Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jun 28 13:30:01 2013 +0200 PPC: dbdma: Support unaligned DMA access The DBDMA engine really just reads bytes from a producing device (IDE in our case) and shoves these bytes into memory. It doesn't care whether any alignment takes place or not. Our code today however assumes that block accesses always happen on sector (512 byte) boundaries. This is a fair assumption for most cases. However, Mac OS X really likes to do unaligned, incomplete accesses that it finishes with the next DMA request. So we need to read / write the unaligned bits independent of the actual asynchronous request, because that one can only handle 512-byte-aligned data. We also need to cache these unaligned sectors until the next DMA request, at which point the data might be successfully flushed from the pipe. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cae323572eddc1a45e2f6ef98c006d98fed23b1e Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:54:35 2013 +0200 PPC: dbdma: Wait for DMA until we have data We should only start processing DMA requests when we have data to process. Hold off working through the DMA shuffling until the IDE core told us that it's ready. This is required because the guest can program the DMA engine or the IDE transfer first. Both are legal. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 03ee3b1e58266c7e5b155d58f443d94b23d2bd05 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:47:20 2013 +0200 PPC: dbdma: Move processing to io Soon we will introduce intermediate processing pauses which will allow the bottom half to restart a DMA request that couldn't be fulfilled yet. For that to work, move the processing variable into the io struct which is what DMA providers work with. While touching it, also change it into a bool Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4aa3510f6f36c5ea35219acf641788222d977437 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:36:14 2013 +0200 PPC: dbdma: macio: Add DMA callback We need to know when the IDE core starts a DMA transfer. Add a notifier function so we have the chance to start transmitting data. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d2f0ce2189feef94516d81fa5834fa4d65435053 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:22:41 2013 +0200 PPC: dbdma: Move static bh variable to device struct The DBDMA controller has a bottom half to asynchronously process DMA request queues. This bh was stored as a gross static variable. Move it into the device struct instead. While at it, move all users of it to the new generic kick function. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d1e562deb2de5c2ced639b18dee59a9ab08236b6 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:18:54 2013 +0200 PPC: dbdma: Introduce kick function The DBDMA engine really is running all the time, waiting for input. However we don't want to waste cycles constantly polling. So introduce a kick function that data providers can call to notify the DBDMA controller of new input. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f2f963fd0775263f9c1cdd3cd92b171c8dae6c77 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:06:35 2013 +0200 PPC: dbdma: Move defines into header file We usually keep struct and constant definitions in header files. Move them there to stay consistent and to make access to fields easier. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7eaba824b6bc14ee724f8593891f2165d2faa4ab Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:53:51 2013 +0200 PPC: dbdma: Allow new commands in RUN state The DBDMA controller can not change its command stream while it's actively streaming data, true. But the fact that it's in RUN state doesn't actually indicate anything. It could just as well be in WAIT while in RUN. And then it's legal to change commands. This fixes a real world issue I've encountered with Mac OS X. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 58c0c311838dd2c6622a156b4d261aa127c510dd Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:53:05 2013 +0200 PPC: dbdma: Fix debug print There was a debug print that didn't compile for me because the format and the arguments weren't in sync. Fix it up. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 33ce36bb33cc00ac3070d49e17b4afed62b412a8 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:23:45 2013 +0200 PPC: Mac: Add debug prints in macio and dbdma code The macio code is basically undebuggable as it stands today, with no debug prints anywhere whatsoever. DBDMA was better, but I needed a few more to create reasonable logs that tell me where breakage is. Add a DPRINTF macro in the macio source file and add a bunch of debug prints that are all disabled by default of course. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9e232428784641b8e48a237a4cb2ffe84450d15c Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:45:22 2013 +0200 PPC: dbdma: Replace tabs with spaces s/^I/ /g on the file with a few manual tweaks to align things. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8aef291fb876670b264297ab333f5072cddbf625 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:43:17 2013 +0200 PPC: Macio: Replace tabs with spaces s/^I/ /g on the file. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 14eefd0ec3b4720faddf4cc7682d7ac8c82a3a45 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jun 24 21:40:50 2013 +0200 PPC: g3beige: Move secondary IDE bus to mac-io On a real G3 Beige the secondary IDE bus lives on the mac-io chip, not on some random PCI device. Move it there to become more compatible. While at it, also clean up the IDE channel connection logic. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 536d8cda4adef3d202a800688ed5f63dae1f0f88 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jun 29 17:34:58 2013 +0200 PPC: Mac: Fix guest exported tbfreq values We can tell the guest the frequency of its time base through fwcfg. However, we tell it a different value from the speed tb actually runs at. Let's fix it and make the tbfreq initialization and the fwcfg exposure use the same values. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8d43ea1c97d0d611f9cf868fe78b17f2a1031298 Author: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 4 12:12:32 2013 +0530 target-ppc: Add POWER8 v1.0 CPU model This patch adds CPU PVR definition for POWER8, and enables QEMU to launch guests on POWER8 hardware. Signed-off-by: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Paul Mackerras <paulus@xxxxxxxxx> Reviewed-by: Andreas Farber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 42e5b4c9884c2c69825d6b6c6ddfbf25290856db Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Sat Jul 6 23:53:58 2013 +1000 pseries: move interrupt controllers to hw/intc/ Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8e7ea787a20e30d44232cafb5a6e9a9fea364c66 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 21:26:50 2013 +0200 spapr: Respect -bios command line option for SLOF Allow the user to override the firmware file name rather than always using "slof.bin". Reported-by: Dinar Valeev <k0da@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a3801402aa01e2ecb617f89b2e11f212d948b5af Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 24 19:48:47 2013 +0200 spapr: Use named enum for function remove_hpte The function returned a target_ulong which was made from unnamed enum values. The target_ulong was then assigned to an int variable which was used in a switch statement. Using a named enum in both cases makes reviews easier. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9a39970df783cf8317e7dbf00a8af184ce868b1b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jun 29 15:47:26 2013 +0200 spapr: Fix compiler warnings for some versions of gcc i686-w64-mingw32-gcc (GCC) 4.6.3 from Debian wheezy reports these warnings: hw/ppc/spapr_hcall.c:188:1: warning: control reaches end of non-void function [-Wreturn-type] hw/ppc/spapr_pci.c:454:1: warning: control reaches end of non-void function [-Wreturn-type] Both warnings are fixed by using g_assert_not_reached instead of assert. A second line with assert(0) in spapr_pci.c which did not raise a compiler warning was modified, too, because g_assert_not_reached documents the purpose of that statement and is not removed in release builds. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7162bdea75e9f63afdd2cacfe26ee4b472a59362 Author: Julio Guerra <guerr@xxxxxxxx> Date: Mon Jun 24 23:15:54 2013 +0200 e600 core for MPC86xx processors MPC86xx processors are based on the e600 core, which is not the case in qemu where it is based on the 7400 processor. This patch creates the e600 core and instantiates the MPC86xx processors based on it. Therefore, adding the high BATs, the SPRG 4..7 registers, which are e600-specific [1], and a HW MMU model (as 7400). This allows to define the MPC8610 processor too. Tested with a kernel using the HW TLB misses. [1] http://cache.freescale.com/files/32bit/doc/ref_manual/E600CORERM.pdf Signed-off-by: Julio Guerra <guerr@xxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c170a23ca0097a95b44fc7cc604018cd3c3b7d44 Merge: 51455c5... 5e2ac51... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 14:34:32 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Kevin Wolf (4) and others # Via Luiz Capitulino * luiz/queue/qmp: add timestamp to error_report() qapi-schema: Use existing type for drive-backup arguments qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync qapi.py: Allow top-level type reference for command definitions qapi.py: Avoid code duplication qemu-char: Fix ringbuf option size Message-id: 1373478767-20965-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5e2ac5191772dea782ff78e95edd395985273019 Author: Seiji Aguchi <seiji.aguchi@xxxxxxx> Date: Wed Jul 3 23:02:46 2013 -0400 add timestamp to error_report() [Issue] When we offer a customer support service and a problem happens in a customer's system, we try to understand the problem by comparing what the customer reports with message logs of the customer's system. In this case, we often need to know when the problem happens. But, currently, there is no timestamp in qemu's error messages. Therefore, we may not be able to understand the problem based on error messages. [Solution] Add a timestamp to qemu's error message logged by error_report() with g_time_val_to_iso8601(). Signed-off-by: Seiji Aguchi <seiji.aguchi@xxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit f53cae50f81449596e55159cfe61efbef9246b2e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 9 10:05:35 2013 +0200 qapi-schema: Use existing type for drive-backup arguments This removes duplicated definitions and documentation by reusing the existing data type. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 852ad1a900a4ae23514e1a53c86632543592c31b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 1 16:31:52 2013 +0200 qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync We don't have to duplicate the definition any more now that we may refer to a type instead. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit b35284ea207a0ae1c0b162344cdef2a83304befc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 1 16:31:51 2013 +0200 qapi.py: Allow top-level type reference for command definitions If 'data' for a command definition isn't a dict, but a string, it is taken as a (struct) type name and the fields of this struct are directly used as parameters. This is useful for transactionable commands that can use the same type definition for both the transaction action and the arguments of the standalone command. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit bd9927fee4e63b451b4ef67a4c49729070d8b05d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 1 16:31:50 2013 +0200 qapi.py: Avoid code duplication The code that interprets the read JSON expression and appends types to the respective global variables was duplicated. We can avoid that by splitting off the part that reads from the file. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 0f953051178f2e3df36efa5158a71f33d35fa812 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 27 16:22:07 2013 +0200 qemu-char: Fix ringbuf option size Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER" assertion. Broken in commit 1da48c65. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 51455c59ddc370612f6e070d8eb0e594aaa7ef24 Merge: 9f9a03b... 91b1df8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 10:54:16 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix for OpenRISCCPU subclasses * Fix for gdbstub CPU selection * Move linux-user CPU functions into new header * CPUState part 10 refactoring: first_cpu, next_cpu, cpu_single_env et al. * Fix some targets to consistently inline TCG code generation * Centrally log CPU reset # gpg: Signature made Wed 10 Jul 2013 07:52:39 AM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (41) and others # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: (43 commits) cpu: Move reset logging to CPUState target-ppc: Change LOG_MMU_STATE() argument to CPUState target-i386: Change LOG_PCALL_STATE() argument to CPUState log: Change log_cpu_state[_mask]() argument to CPUState target-i386: Change do_smm_enter() argument to X86CPU target-i386: Change do_interrupt_all() argument to X86CPU target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU target-unicore32: Change gen_intermediate_code_internal() signature target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU target-s390x: Change gen_intermediate_code_internal() argument to S390CPU target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU target-microblaze: Change gen_intermediate_code_internal() argument types target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU target-i386: Change gen_intermediate_code_internal() argument to X86CPU target-cris: Change gen_intermediate_code_internal() argument to CRISCPU target-arm: Change gen_intermediate_code_internal() argument to ARMCPU target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU ... commit 9f9a03b9818194da39c6759d9b0cbee5d7ace4e1 Merge: 6272d17... 8384274... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 10:54:09 2013 -0500 Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging # By Andreas Schwab (2) and others # Via Riku Voipio * riku/linux-user-for-upstream: linux-user: Do not ignore mmap failure from host linux-user: improve target_to_host_sock_type conversion user-exec.c: Set is_write correctly in the ARM cpu_signal_handler() linux-user: Fix sys_utimensat (would not compile on old glibc) linux-user: fix signal number range check linux-user: add SIOCADDRT/SIOCDELRT support linux-user: handle /proc/$$ like /proc/self Message-id: cover.1373051589.git.riku.voipio@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6272d17c420b8cdd6af1784edd34f0b3e9f26b76 Merge: 9d6a3d5... 0caa91f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 10:53:55 2013 -0500 Merge remote-tracking branch 'rth/tcg-next' into staging # By Richard Henderson # Via Richard Henderson * rth/tcg-next: tcg-arm: Implement tcg_register_jit tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size tcg: Move the CIE and FDE header definitions to common code tcg: Fix high_pc fields in .debug_info tcg-arm: Use AT_PLATFORM to detect the host ISA tcg-arm: Simplify logic in detecting the ARM ISA in use tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions tcg-arm: Make use of conditional availability of opcodes for divide tcg: Simplify logic using TCG_OPF_NOT_PRESENT tcg: Allow non-constant control macros tcg-ppc64: Don't implement rem tcg-ppc: Don't implement rem tcg-arm: Don't implement rem tcg: Split rem requirement from div requirement tcg: Add myself to general TCG maintainership Message-id: 1373379515-28596-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9d6a3d58e4d1431ab3809ff621cfd1f9ec75eef5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 19:18:59 2013 +1000 qom: Fix class cast of NULL classes Its clear from the implementation that class casting is supposed to work with a NULL class argument. Guard all dereferences of the class argument against NULL accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 94cd5ba46b74eea289a7e582635820c1c54e66fa.1371546907.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4268b096272657b129a014f6f019625c4c8df2c1 Author: Don Koch <dkoch@xxxxxxxxxxx> Date: Tue Jul 9 13:36:05 2013 -0400 pci: fix BRDIGE typo Fix typo in macro name: PCI_CLASS_BRDIGE_PCI_INF_SUB. Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e78e9ae4a933504d383703870d491615b0261801 Author: Don Koch <dkoch@xxxxxxxxxxx> Date: Tue Jul 9 11:40:02 2013 -0400 pci-bridge: update mappings for migration/restore Fix for LP#1187529: Devices on PCI bridge stop working when live-migrated. Update bridge mappings for all PCI bridge devices in get_pci_config_device(). Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 91b1df8cf9e1ecaa8679c9ea8713d1e25c28e6c4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 07:49:48 2013 +0200 cpu: Move reset logging to CPUState x86 was using additional CPU_DUMP_* flags, so make that configurable in CPUClass::reset_dump_flags. This adds reset logging for alpha, unicore32 and xtensa. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 77710e7aec1e5ae0195cf6ebae6864e3ccb5693a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 00:52:23 2013 +0200 target-ppc: Change LOG_MMU_STATE() argument to CPUState Choose CPUState rather than PowerPCCPU since doing a CPU() cast on the macro argument would hide type mismatches. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8995b7a083e0fda9fac1db3888b3dafe14bd033c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 01:07:10 2013 +0200 target-i386: Change LOG_PCALL_STATE() argument to CPUState Since log_cpu_state_mask() argument was changed to CPUState, CPUArchState is no longer needed. Choose CPUState rather than X86CPU to not hide type mismatches with CPU(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a0762859ae2aae2e221c59e2541f964f1350d68b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 07:28:50 2013 +0200 log: Change log_cpu_state[_mask]() argument to CPUState Since commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 (cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no longer needed. Add documentation and make the functions available through qemu/log.h outside NEED_CPU_H to allow use in qom/cpu.c. Moving them to qom/cpu.h was not yet possible due to convoluted include paths, so that some devices grow an implicit and unneeded dependency on qom/cpu.h for now. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> [AF: Simplified mb_cpu_do_interrupt() and do_interrupt_all() changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 518e9d7d486273f4ee8d38946e73a7483aca4a92 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 02:45:17 2013 +0200 target-i386: Change do_smm_enter() argument to X86CPU Prepares for log_cpu_state_mask() changing argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca4c810aab853788e907a791f8edea68ac30b0e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 02:00:09 2013 +0200 target-i386: Change do_interrupt_all() argument to X86CPU Prepares for log_cpu_state() changing argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90b85b7706e2f80a1f0aa148e180ed70e4093846 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:33:01 2013 +0200 target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 62a80559368de7b2dedc91039d8d11650e31ba4c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:29:57 2013 +0200 target-unicore32: Change gen_intermediate_code_internal() signature Use UniCore32CPU and bool. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 68a471556d911a0adcf639e5fd5af2a2be4c4cb1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:27:28 2013 +0200 target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38e308103d40d859e2da74166fd4a1a80d78106d Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:24:41 2013 +0200 target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d9916c23d3024ce2ae7f6300a7b4e62780e4632b Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:22:09 2013 +0200 target-s390x: Change gen_intermediate_code_internal() argument to S390CPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 213fe1f5135abe052b634e08fddf6e9945f0eeed Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:19:32 2013 +0200 target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6429db34c11f8cbb2af446a9c1c80395794e6113 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:17:17 2013 +0200 target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4a274212f03adaf8b5971cc39d460335392a97f6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:14:44 2013 +0200 target-microblaze: Change gen_intermediate_code_internal() argument types Use MicroBlazeCPU and bool. Prepares for changing log_cpu_state() argument to CPUState and for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c296b15b7c2425a2973ad0e63810029913511b51 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:11:36 2013 +0200 target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cd0db97ee050ccea7082361a1193a3bef5648454 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:09:30 2013 +0200 target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 467215c20f4befed253696dd6910839bacf75837 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:09:01 2013 +0200 target-i386: Change gen_intermediate_code_internal() argument to X86CPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7fd2592dbcc0130e9999a739867a1b539c5ee853 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:04:49 2013 +0200 target-cris: Change gen_intermediate_code_internal() argument to CRISCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5639c3f224bbe3095ce6584bc8a5ace68b6d8197 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 21:57:04 2013 +0200 target-arm: Change gen_intermediate_code_internal() argument to ARMCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 86a35f7c4608b1961a1a459659a97033cc14d274 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:01:20 2013 +0200 target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU Also use bool argument while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ae06d4988d6799f0bd16f27c2bcf80fa1cd2cfd7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 20:05:21 2013 +0200 target-xtensa: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13cccc692818a570d1fb1326c84d3edae68987aa Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 20:04:28 2013 +0200 target-moxie: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fd327f48f7e5892318b6dca2c9c6030618f65728 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 20:03:00 2013 +0200 target-microblaze: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 28014bcab244e968cb03f20384943494bd069ee0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 19:35:02 2013 +0200 target-lm32: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6f47ec50db92b4bc77de06661a9e7a3eb538b660 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 19:30:14 2013 +0200 target-cris: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 369ff018fee40ffb8f6721e5d7f6b56bea74176c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 26 17:51:27 2013 +0200 target-i386: Don't overuse CPUArchState Use CPUX86State instead in dump support code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4fd6dd06e66a93fce31b05909ad8d9f0f9dba06e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 17:17:00 2013 +0200 target-s390x: Change handle_{hypercall,diag}() argument to S390CPU This allows to get rid of the last remaining ENV_GET_CPU() in target-s390x/ by using CPU() cast directly on the argument. Cc: Jason J. Herne <jjherne@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19079e460520053114127f812ddc488b974c2117 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 17:04:45 2013 +0200 target-s390x: Don't overuse ENV_GET_CPU() Commit 3474b679486caa8f6448bae974e131370f360c13 (Utilize selective runtime reg sync for hot code paths) introduced two uses of ENV_GET_CPU() inside target-s390x/ KVM code. In one case we can use a direct CPU() cast instead. Cc: Jason J. Herne <jjherne@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 09c6a63a6144bbfe2fe434e84d16dd4db6028b6a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 17:00:04 2013 +0200 target-ppc: Don't overuse ENV_GET_CPU() Commit b632a148b677b773ff155f9de840b37a653567b9 (target-ppc: QOM method dispatch for MMU fault handling) introduced a use of ENV_GET_CPU() inside target-ppc/ code. Use ppc_env_get_cpu() instead. Purely cosmetic, non-functional change to aid in locating and removing ENV_GET_CPU() usages. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit de6db419e5cfe604464a7612b5a5f9214d0af837 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 17:10:28 2013 +0200 timer/arm_mptimer: Build arm_mptimer only once Since current_cpu is CPUState it no longer depends on CPUARMState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2b927571ccdb79deda74ba84ef493e6cb37eacbe Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 17:04:21 2013 +0200 intc/openpic: Build openpic only once Since current_cpu is CPUState it no longer depends on CPUPPCState. Move ppce500_set_mpic_proxy() to a new hw/ppc/ppc_e500.h because hw/ppc/ppc.h is too heavily using CPUPPCState and PowerPCCPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dfc080791dfb9dd8907a15e6d45b6cc4969b986f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 16:42:03 2013 +0200 intc/arm_gic: Build arm_gic only once Since current_cpu is CPUState it no longer needs CPUArchState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dca1173c20e7e7366a9c36f88ae4234e5387ed28 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 19:51:23 2013 +0200 bsd-user: Change thread_env to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a2247f8ec919c51c5749c2e3659841f1a733cce3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 19:47:04 2013 +0200 linux-user: Change thread_env to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 182735efaf956ccab50b6d74a4fed163e0f35660 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 22:29:20 2013 +0200 cpu: Make first_cpu and next_cpu CPUState Move next_cpu from CPU_COMMON to CPUState. Move first_cpu variable to qom/cpu.h. gdbstub needs to use CPUState::env_ptr for now. cpu_copy() no longer needs to save and restore cpu_next. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> [AF: Rebased, simplified cpu_copy()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9b056fcc5becd183fa2bdec9d259bf26b5f71207 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 24 23:53:10 2013 +0200 linux-user: Clean up do_syscall() Coding Style for TARGET_NR_exit In particular fix 6-/10-char indentation. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d5791f4a67048591c1b038e47c85ccb2c023214 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 14:40:48 2013 +0200 kvm: Change kvm_remove_all_breakpoints() argument to CPUState Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4917cf44326a1bda2fd7f27303aff7a25ad86518 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 05:17:50 2013 +0200 cpu: Replace cpu_single_env with CPUState current_cpu Move it to qom/cpu.h. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 80b7cd735417b0883a026d79a513629a2817cdb4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 19 17:37:31 2013 +0200 kvm: Free current_cpu identifier Since CPU loops are done as last step in kvm_{insert,remove}_breakpoint() and kvm_remove_all_breakpoints(), we do not need to distinguish between invoking CPU and iterated CPUs and can thereby free the identifier for use as a global variable. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 10 16:34:06 2013 +0200 cpu: Drop unnecessary dynamic casts in *_env_get_cpu() A transition from CPUFooState to FooCPU can be considered safe, just like FooCPU::env access in the opposite direction. The only benefit of the FOO_CPU() casts would be protection against bogus CPUFooState pointers, but then surrounding code would likely break, too. This should slightly improve interrupt etc. performance when going from CPUFooState to FooCPU. For any additional CPU() casts see 3556c233d931ad5ffa46a35cb25cfc057732ebb8 (qom: allow turning cast debugging off). Reported-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6291ad77d7c57dfc52a6a938d1a77ec3ec3ad16c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 14:22:32 2013 +0100 linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user The functions cpu_clone_regs() and cpu_set_tls() are not purely CPU related -- they are specific to the TLS ABI for a a particular OS. Move them into the linux-user/ tree where they belong. target-lm32 had entirely unused implementations, since it has no linux-user target; just drop them. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aa48dd9319dcee78ec17f4d516fb7bfc62b1a4d2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 9 20:50:52 2013 +0200 Revert "gdbstub: Simplify find_cpu()" This reverts commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3, which replaced cpu_index() with cpu_index field, leading to deviation from thread ID for NTPL and off-by-one otherwise. Reported-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c1b71b0c03df575c72ea413b2f2c27a7a477c05a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:23 2013 +0200 vl: Tighten parsing of -machine option phandle_start Make it QEMU_OPT_NUMBER, so it gets parsed by generic code, which actually bothers to check for errors, rather than its user, which doesn't. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Message-id: 1372943363-24081-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ff3de685a875ece3ee21256736c0a9dbf39dc4c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:22 2013 +0200 Simplify -machine option queries with qemu_get_machine_opts() The previous two commits fixed bugs in -machine option queries. I can't find fault with the remaining queries, but let's use qemu_get_machine_opts() everywhere, for consistency, simplicity and robustness. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7bccd9402691e712305bc3b5cc6cf2fa1cc27631 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:21 2013 +0200 microblaze: Fix latent bug with default DTB lookup microblaze_load_kernel() fails to call qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename) when no -machine options are given. This can't normally happen, because -machine option kernel is mandatory for this target. Fix it anyway, by using qemu_get_machine_opts(). Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 36ad0e948e15d8d86c8dec1c17a8588d87b0107d Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:20 2013 +0200 Fix -machine options accel, kernel_irqchip, kvm_shadow_mem Multiple -machine options with the same ID are merged. All but the one without an ID are to be silently ignored. In most places, we query these options with a null ID. This is correct. In some places, we instead query whatever options come first in the list. This is wrong. When the -machine processed first happens to have an ID, options are taken from that ID, and the ones specified without ID are silently ignored. Example: $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine id=foo -machine accel=kvm,usb=on $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine id=foo,accel=kvm,usb=on -machine accel=xen $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine accel=xen -machine id=foo,accel=kvm,usb=on $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine accel=kvm,usb=on QEMU 1.5.50 monitor - type 'help' for more information (qemu) info kvm kvm support: enabled (qemu) info usb (qemu) q $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine id=foo -machine accel=kvm,usb=on QEMU 1.5.50 monitor - type 'help' for more information (qemu) info kvm kvm support: disabled (qemu) info usb (qemu) q $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine id=foo,accel=kvm,usb=on -machine accel=xen QEMU 1.5.50 monitor - type 'help' for more information (qemu) info kvm kvm support: enabled (qemu) info usb USB support not enabled (qemu) q $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine accel=xen -machine id=foo,accel=kvm,usb=on xc: error: Could not obtain handle on privileged command interface (2 = No such file or directory): Internal error xen be core: can't open xen interface failed to initialize Xen: Operation not permitted Option usb is queried correctly, and the one without an ID wins, regardless of option order. Option accel is queried incorrectly, and which one wins depends on option order and ID. Affected options are accel (and its sugared forms -enable-kvm and -no-kvm), kernel_irqchip, kvm_shadow_mem. Additionally, option kernel_irqchip is normally on by default, except it's off when no -machine options are given. Bug can't bite, because kernel_irqchip is used only when KVM is enabled, KVM is off by default, and enabling always creates -machine options. Downstreams that enable KVM by default do get bitten, though. Use qemu_get_machine_opts() to fix these bugs. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7f9d6e540ec4f3bf4dc3501c4a1405998c2be4e7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:19 2013 +0200 vl: New qemu_get_machine_opts() To be used in the next few commits to fix or clean up queries of "machine" options (-machine and its sugared forms). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d4cd408686f5ae60b2b3b94b79f48ddedc2f39d Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:18 2013 +0200 qemu-option: Fix qemu_opts_set_defaults() for corner cases Commit 4f6dd9a changed the initialization of opts in opts_parse() to this: if (defaults) { if (!id && !QTAILQ_EMPTY(&list->head)) { opts = qemu_opts_find(list, NULL); } else { opts = qemu_opts_create(list, id, 0); } } else { opts = qemu_opts_create(list, id, 1); } Same as before for !defaults. If defaults is true, and params has no ID, and options exist, we use the first assignment. It sets opts to null if all options have an ID. opts_parse() then returns null. qemu_opts_set_defaults() asserts the value is non-null. It's the only caller that passes true for defaults. To reproduce, try "-M xenpv -machine id=foo" (yes, "id=foo" is silly, but it shouldn't crash). I believe the function attempts to do the following: If options don't yet exist, create new options Else, if defaults, modify the existing options Else, if list->merge_lists, modify the existing options Else, fail A straightforward call of qemu_opts_create() does exactly that. Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96bc97ebf350ec480b69082819cedb8850f46a0f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:17 2013 +0200 qemu-option: Fix qemu_opts_find() for null id arguments Crashes when the first list member has an ID. Admittedly nonsensical reproducer: $ qemu-system-x86_64 -nodefaults -machine id=foo -machine "" Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372943363-24081-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 154bb106dc195b4fbb76df0452ab6e3e24e80d72 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 19:07:16 2013 +0200 exec: Remove unused global variable phys_ram_fd It seems to be unused since several years (commit be995c27640a82c7056b6f53d02ec823570114e5 in 2006). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1373044036-14443-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 92304bf3998cedcf3b1026a795edba7e1fd17c74 Author: M. Mohan Kumar <mohan@xxxxxxxxxx> Date: Thu Jul 4 14:51:18 2013 +0530 hw/9pfs: Fix memory leak in error path Fix few more memory leaks in virtio-9p-device.c detected using valgrind. Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Message-id: 1372929678-14341-1-git-send-email-mohan@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b58c86e1e4cdf59373aad2ec25f99f772766374c Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 12:02:40 2013 +0200 fsdev: Fix potential memory leak This leak was reported by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Message-id: 1371376960-18192-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit edb5092c245d34e05ca410d4bf32cf0c2786c8e8 Author: MRatnikov <m.o.ratnikov@xxxxxxxxx> Date: Mon Jul 8 01:03:02 2013 +0400 Extend support of SMBUS(module pm_smbus.c) HST_STS register. Previous realization doesn't consider flags in the status register. Add DS and INTR bits of HST_STS register set after transaction execution. Update bits resetting in HST_STS register. Update error processing: if DEV_ERR bit set transaction isn't execution. Signed-off-by: MRatnikov <m.o.ratnikov@xxxxxxxxx> Message-id: 1373230982-9190-1-git-send-email-m.o.ratnikov@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 02c4bdf1d2ca8c02a9bae16398f260b5c08d08bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 3 20:29:45 2013 +0400 trap signals for "-serial mon:stdio" With mon:stdio you can exit the VM by switching to the monitor and sending the "quit" command. It is then useful to pass Ctrl-C to the VM instead of exiting. This in turn lets us stop tying the default signal handling behavior to -nographic, removing gratuitous differences between "-display none" and "-nographic". This patch changes behavior for "-display none -serial mon:stdio", as expected, but not for "-display none -serial stdio". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372868986-25988-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 964c6fa16f50a607f9da5068d6bf15ccc93872c0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jun 21 19:10:16 2013 -0700 configure: Simplify alternate .text segment For bsd-user and linux-user emulation modes QEMU needs to be linked at an alternate .text segment address, so that it's out of the way of the guest executable. Instead of including modified linker scripts for each arch, just set the address with -Ttext-segment if supported, or by using sed to edit the default linker script. Cc: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Message-id: 1371867016-7660-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 071b3364e7995036816aa4ebf80ecfa04b1a31de Author: Dongxue Zhang <elta.era@xxxxxxxxx> Date: Tue Jul 2 17:11:55 2013 +0800 target-openrisc: Fix typename in openrisc_cpu_class_by_name() Commit 478032a93d908e59085c1ac56f10979942e7dc4f (target-openrisc: Rename CPU subtypes) suffixed CPU sub-types with "-or32-cpu" but forgot to update openrisc_cpu_class_by_name(), so that it was still looking for the types without suffix. Make target-openrisc running OK by adding the suffix to the model name. This means it is no longer possible to use -cpu or1200-or32-cpu or -cpu any-or32-cpu though. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx> Tested-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0caa91fe1f0a60269d7af032118639303e6eddd6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jun 5 07:55:33 2013 -0700 tcg-arm: Implement tcg_register_jit Allows unwinding past the code_gen_buffer. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b5cc476da7e71629d8d4ab77f691c70346368788 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jun 5 07:56:29 2013 -0700 tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size We can check the condition at compile time, rather than run time. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 497a22eb87da704c0a59ebebfde441849cd5189b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jun 5 07:39:57 2013 -0700 tcg: Move the CIE and FDE header definitions to common code These will necessarily be the same layout for all hosts. This limits the amount of boilerplate required to implement jit debug for a host. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 45aba097d24544ed2d3244b3268a071750e4499b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri May 24 14:16:14 2013 -0700 tcg: Fix high_pc fields in .debug_info I don't think the debugger actually looks at this for anything, using the correct .debug_frame contents, but might as well get it all correct. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1e709f38331ef5bab76cd454c61d4af982cadf0b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jun 6 10:46:35 2013 -0700 tcg-arm: Use AT_PLATFORM to detect the host ISA With this we can generate armv7 insns even when the OS compiles for a lower common denominator. The macros are arranged so that when we do compile for a given ISA, all of the runtime checks for that ISA are optimized away. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cb91021a4786efdd6e4ca1ebfd8729481466bbb8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jun 6 10:21:37 2013 -0700 tcg-arm: Simplify logic in detecting the ARM ISA in use GCC 4.8 defines a handy __ARM_ARCH symbol that we can use, which will make us nicely forward compatible with ARMv8 AArch32. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit fb82273851a855e72248fcabe93bc43ab3a8efe4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jul 4 11:20:26 2013 -0700 tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions As it really controls the availability of a thumb interworking instruction on armv5t. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 72e1ccfc0cf32005e23d308edfe2d06c7472154e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu May 2 12:18:38 2013 +0100 tcg-arm: Make use of conditional availability of opcodes for divide We can now detect and use divide instructions at runtime, rather than having to restrict their availability to compile-time. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c1a61f6c85f63d379b4a03d399986174371f5c2e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu May 2 11:57:40 2013 +0100 tcg: Simplify logic using TCG_OPF_NOT_PRESENT Expand the definition of "not present" to include "should not be present". This means we can simplify the logic surrounding the generic tcg opcodes for which the host backend ought not be providing definitions. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4ef76952bd702d29ee4c021f068d85b063fdb928 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu May 2 11:35:08 2013 +0100 tcg: Allow non-constant control macros This allows TCG_TARGET_HAS_* to be a variable rather than a constant, which allows easier support for differing ISA levels for the host. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5b9f72ab59ec9d57546cfc499ccc863327cb8a46 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 23:24:55 2013 -0700 tcg-ppc64: Don't implement rem Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 865a4671f97e3b52c3ba4167d4f2630e79927712 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 23:24:15 2013 -0700 tcg-ppc: Don't implement rem Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5e1108b3709d7bc04cae141f36d35cc11430a79b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 23:13:30 2013 -0700 tcg-arm: Don't implement rem Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ca675f46e695bd49a1c21a5e82c6b8c77ee12edf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 22:41:47 2013 -0700 tcg: Split rem requirement from div requirement There are several hosts with only a "div" insn. Remainder is computed manually from the quotient and inputs. We can do this generically. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cc7772bdbe4cb0ff1bac538bda86260b871d8b1a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jul 3 11:09:03 2013 -0700 tcg: Add myself to general TCG maintainership Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dc11549ec213f85f6a024c7df68d349464cd1688 Merge: 945dad6... 7588e2b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 8 08:00:23 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,misc enhancements This includes some pci enhancements: Better support for systems with multiple PCI root buses FW cfg interface for more robust pci programming in BIOS Minor fixes/cleanups for fw cfg and cross-version migration - because of dependencies with other patches Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Sun 07 Jul 2013 03:11:18 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By David Gibson (10) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: pci: Fold host_buses list into PCIHostState functionality pci: Remove domain from PCIHostBus pci: Simpler implementation of primary PCI bus pci: Add root bus parameter to pci_nic_init() pci: Add root bus argument to pci_get_bus_devfn() pci: Replace pci_find_domain() with more general pci_root_bus_path() pci: Use helper to find device's root bus in pci_find_domain() pci: Abolish pci_find_root_bus() pci: Move pci_read_devaddr to pci-hotplug-old.c pci: Cleanup configuration for pci-hotplug.c pvpanic: fix fwcfg for big endian hosts pvpanic: initialization cleanup MAINTAINERS: s/Marcelo/Paolo/ e1000: cleanup process_tx_desc pc_piix: cleanup init compat handling pc: pass PCI hole ranges to Guests pci: store PCI hole ranges in guestinfo structure range: add Range structure Message-id: 1373228271-31223-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7588e2b0559ae72d3c2952c7807fc05c03099970 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:54 2013 +1000 pci: Fold host_buses list into PCIHostState functionality The host_buses list is an odd structure - a list of pointers to PCI root buses existing in parallel to the normal qdev tree structure. This patch removes it, instead putting the link pointers into the PCIHostState structure, which have a 1:1 relationship to PCIHostBus structures anyway. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2b8cc89a5c4a8bccbef8c6862bae7371afbf3e76 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:53 2013 +1000 pci: Remove domain from PCIHostBus There are now no users of the domain field of PCIHostBus, so remove it from the structure, and as a parameter from the pci_host_bus_register() function which sets it. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 9bc473057db773dd24be381ccbde4c686595d2e7 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:52 2013 +1000 pci: Simpler implementation of primary PCI bus Currently pci_find_primary_bus() searches the list of root buses for one with domain 0. But since host buses are always registered with domain 0, this just amounts to finding the only PCI host bus. The only remaining users of pci_find_primary_bus() are in pci-hotplug-old.c, which implements the old style pci_add/pci_del commands. Therefore, this patch redefines pci_find_primary_bus() to find the only PCI root bus, returning an error if there are multiple roots. The callers in pci-hotplug-old.c are updated correspondingly, to produce sensible error messages. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 29b358f93a48a415853d11fc9b02f711b5ec8f76 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:51 2013 +1000 pci: Add root bus parameter to pci_nic_init() At present, pci_nic_init() and pci_nic_init_nofail() assume that they will only create a NIC under the primary PCI root. As we add support for multiple PCI roots, that may no longer be the case. This patch adds a root bus parameter to pci_nic_init() (and updates callers accordingly) to allow the machine init code using it to specify the right PCI root for NICs created by old-style -net nic parameters. NICs created new-style, with -device can of course be put anywhere. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 85c6e4fabb4c26e5cd8a024415ed2f5bcdd578db Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:50 2013 +1000 pci: Add root bus argument to pci_get_bus_devfn() pci_get_bus_devfn() interprets a full PCI address string to give a PCIBus * and device/function number within that bus. Currently it assumes it is working on an address under the primary PCI root bus. This patch extends it to allow the caller to specify a root bus. This might seem a little odd since the supplied address can (theoretically) include a PCI domain number. However, attempting to use a non-zero domain number there is currently an error, so that shouldn't really cause problems. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:49 2013 +1000 pci: Replace pci_find_domain() with more general pci_root_bus_path() pci_find_domain() is used in a number of places where we want an id for a whole PCI domain (i.e. the subtree under a PCI root bus). The trouble is that many platforms may support multiple independent host bridges with no hardware supplied notion of domain number. This patch, therefore, replaces calls to pci_find_domain() with calls to a new pci_root_bus_path() returning a string. The new call is implemented in terms of a new callback in the host bridge class, so it can be defined in some way that's well defined for the platform. When no callback is available we fall back on the qbus name. Most current uses of pci_find_domain() are for error or informational messages, so the change in identifiers should be harmless. The exception is pci_get_dev_path(), whose results form part of migration streams. To maintain compatibility with old migration streams, the PIIX PCI host is altered to always supply "0000" for this path, which matches the old domain number (since the code didn't actually support domains other than 0). For the pseries (spapr) PCI bridge we use a different platform-unique identifier (pseries machines can routinely have dozens of PCI host bridges). Theoretically that breaks migration streams, but given that we don't yet have migration support for pseries, it doesn't matter. Any other machines that have working migration support including PCI devices will need to be updated to maintain migration stream compatibility. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c473d18da1b73301c580115e527207b73dcd597f Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:48 2013 +1000 pci: Use helper to find device's root bus in pci_find_domain() Currently pci_find_domain() performs two functions - it locates the PCI root bus above the given bus, then looks up that root bus's domain number. This patch adds a helper function to perform the first task, finding the root bus for a given PCI device. This is then used in pci_find_domain(). This changes pci_find_domain()'s signature slightly, taking a PCIDevice instead of a PCIBus - since all callers passed something of the form dev->bus, this simplifies things slightly. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:47 2013 +1000 pci: Abolish pci_find_root_bus() pci_find_root_bus() takes a domain parameter. Currently PCI root buses with domain other than 0 can't be created, so this is more or less a long winded way of retrieving the main PCI root bus. Numbered domains don't actually properly cover the (non x86) possibilities for multiple PCI root buses, so this patch for now enforces the domain == 0 restriction in other places to replace pci_find_root_bus() with an explicit pci_find_primary_bus(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 945dad6d9d795f03fd839c6e36cc883b3839f5e5 Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 2 20:55:17 2013 +0800 MAINTAINERS: Add myself into MAINTAINERS file Add myself into MAINTAINERS file, I'll looking at target-openrisc and hw/openrisc. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Message-id: 1372769717-852-1-git-send-email-proljc@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e481d5754a3ff4170e995f6ea0d2f73c55ab072 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jun 24 11:49:32 2013 +0100 MAINTAINERS: fix bad F: patterns This patch fixes a number of incorrect F: patterns which didn't match any files in the source tree. This was caused by a mix of minor typos (- for _ and the like) and a few entries which hadn't been correctly updated following the rearrangement of hw/. Offending entries were located with the following shell rune: for pattern in $(sed -ne 's/^F: //p' MAINTAINERS); do if ! stat --printf='' $pattern 2>/dev/null; then echo bad pattern: $pattern fi done Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1372070972-30776-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9b4abb4677dd59a3bd83e65d2ca84414e7639a1a Merge: c3ab4c9... 58fda17... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Jul 7 11:28:01 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Fam Zheng (2) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/block: block: fix bdrv_flush() ordering in bdrv_close() curl: refuse to open URL from HTTP server without range support vmdk: Implement .bdrv_has_zero_init Message-id: 1373023972-3587-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3ab4c9cf24ec9efb9c6d82b6027c0587d3081fa Merge: ab8bf29... c7086b4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Jul 7 11:19:27 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (50) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: (66 commits) exec: change some APIs to take AddressSpaceDispatch exec: remove cur_map exec: put memory map in AddressSpaceDispatch exec: separate current radix tree from the one being built exec: move listener from AddressSpaceDispatch to AddressSpace memory: move MemoryListener declaration earlier exec: separate current memory map from the one being built exec: change well-known physical sections to macros qom: Use atomics for object refcounting memory: add reference counting to FlatView memory: use a new FlatView pointer on every topology update memory: access FlatView from a local variable add a header file for atomic operations hw/[u-x]*: pass owner to memory_region_init* functions hw/t*: pass owner to memory_region_init* functions hw/s*: pass owner to memory_region_init* functions hw/p*: pass owner to memory_region_init* functions hw/n*: pass owner to memory_region_init* functions hw/m*: pass owner to memory_region_init* functions hw/i*: pass owner to memory_region_init* functions ... Message-id: 1372950842-32422-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8384274eda1d7cb01f326143fa6118562c1eb5be Author: Jürg Billeter <j@xxxxxxxxx> Date: Sat Jun 29 11:41:32 2013 +0200 linux-user: Do not ignore mmap failure from host File mapping may fail with EACCES. Signed-off-by: Jürg Billeter <j@xxxxxxxxx> Message-id: 1372498892-23676-1-git-send-email-j@xxxxxxxxx Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f651e6ae55b047a8ac4b6b5891fe69ba4c66c57c Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 1 02:44:14 2013 +0200 linux-user: improve target_to_host_sock_type conversion Previous implementation has failed to take into account different value of SOCK_NONBLOCK on target and host, and existence of SOCK_CLOEXEC. The same conversion has to be applied both for do_socket and do_socketpair, so the code has been isolated in a static inline function. enum sock_type in linux-user/socket.h has been extended to include TARGET_SOCK_CLOEXEC and TARGET_SOCK_NONBLOCK, similar to definition in libc. The patch also includes necessary code style changes (tab to spaces) in the header file since most of the file has been touched by this change. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Message-id: 1372639454-7560-1-git-send-email-petar.jovanovic@xxxxxxxxx Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 023b0ae33be6ce2e60d75d2b54a3d2cea6b6020e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 4 14:31:45 2013 +0100 user-exec.c: Set is_write correctly in the ARM cpu_signal_handler() In the ARM implementation of cpu_signal_handler(), set is_write correctly using the FSR value which the kernel passes us in the error_code field of uc_mcontext. Since the WnR bit of the FSR was only introduced in ARMv6, this means that v5 cores will continue to behave as before this patch, but they are not really supported as hosts for linux-user mode anyway since they do not have the modern behaviour for unaligned accesses. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1370352705-27590-1-git-send-email-peter.maydell@xxxxxxxxxx commit 1acae9f22380a03b468a29a3cc035b280610b5e4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: Fix sys_utimensat (would not compile on old glibc) Commit c0d472b12e accidentally dropped the definition of __NR_SYS_utimensat even though its use is guarded by CONFIG_UTIMENSAT, not CONFIG_ATFILE. Some older glibc don't have utimensat() (even if they have the other *at() functions). Fix this by correctly cleaning up the sys_utimensat() implementation and #defines, so that we always provide the syscall if needed whether we're doing it via glibc or not. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx> Message-id: 1371743841-26110-1-git-send-email-peter.maydell@xxxxxxxxxx commit 167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: fix signal number range check When translating between host and target signal numbers keep negative numbers unchanged, avoiding access beyond array bounds. Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 878v2b8sek.fsf@xxxxxxxxx commit 7ff7b666186a86f0121e6e7db6784222cefe22a2 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: add SIOCADDRT/SIOCDELRT support This allows to pass the device name. You can test this with the "route" command. WITHOUT this patch: $ sudo route add -net default gw 10.0.3.1 eth0 SIOCADDRT: Bad address $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Ifa 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth WITH this patch: $ sudo route add -net default gw 10.0.3.1 eth0 $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Ifa 0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0 eth 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 463d8e7393681b300946d6bf9f9d5b7035d718c6 Author: Andreas Schwab <schwab@xxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: handle /proc/$$ like /proc/self Some applications use /proc/$$/... (where $$ is the own pid) instead of /proc/self/... to refer to their own proc files. Extend the interception for open and readlink to handle this case. Also, do the same interception in readlinkat. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 58fda173e1156d24e5ff62361774715152188a07 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jul 2 15:36:25 2013 +0200 block: fix bdrv_flush() ordering in bdrv_close() Since 80ccf93b we flush the block device during close. The bdrv_drain_all() call should come before bdrv_flush() to ensure guest write requests have completed. Otherwise we may miss pending writes when flushing. Call bdrv_drain_all() again for safety as the final step after bdrv_flush(). This should not be necessary but we can be paranoid here in case bdrv_flush() left I/O pending. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3494d650273e619606c6cb2c38aa9b8b7bed98e2 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Jul 2 15:19:21 2013 +0800 curl: refuse to open URL from HTTP server without range support CURL driver requests partial data from server on guest IO req. For HTTP and HTTPS, it uses "Range: ***" in requests, and this will not work if server not accepting range. This patch does this check when open. * Removed curl_size_cb, which is not used: On one hand it's registered to libcurl as CURLOPT_WRITEFUNCTION, instead of CURLOPT_HEADERFUNCTION, which will get called with *data*, not *header*. On the other hand the s->len is assigned unconditionally later. In this gone function, the sscanf for "Content-Length: %zd", on (void *)ptr, which is not guaranteed to be zero-terminated, is potentially a security bug. So this patch fixes it as a side-effect. The bug is reported as: https://bugs.launchpad.net/qemu/+bug/1188943 (Note the bug is marked "private" so you might not be able to see it) * Introduced curl_header_cb, which is used to parse header and mark the server as accepting range if "Accept-Ranges: bytes" line is seen from response header. If protocol is HTTP or HTTPS, but server response has no not this support, refuse to open this URL. Note that python builtin module SimpleHTTPServer is an example of not supporting range, if you need to test this driver, get a better server or use internet URLs. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit da7a50f938516d0f2302965eeb82940c32028ed8 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Mon Jul 1 11:33:17 2013 +0800 vmdk: Implement .bdrv_has_zero_init Depending on the subformat, has_zero_init queries underlying storage for flat extent. If it has a flat extent and its underlying storage doesn't have zero init, return 0. Otherwise return 1. Aligns the operator assignments. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c7086b4a237520d2bbe5146d8b1ace1894c2b2bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jun 2 15:27:39 2013 +0200 exec: change some APIs to take AddressSpaceDispatch Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6092666ebdc68b2634db050689292c71a5c368c0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:30:26 2013 +0200 exec: remove cur_map cur_map is not used anymore; instead, each AddressSpaceDispatch has its own nodes/sections pair. The priorities of the MemoryListeners, and in the future RCU, guarantee that the nodes/sections are not freed while they are still in use. (In fact, next_map itself is not needed except to free the data on the next update). To avoid incorrect use, replace cur_map with a temporary copy that is only valid while the topology is being updated. If you use it, the name prev_map makes it clear that you're doing something weird. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0475d94fffe4e5fda59e0334b6dd53df00c5deb6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:28:21 2013 +0200 exec: put memory map in AddressSpaceDispatch After this patch, AddressSpaceDispatch holds a constistent tuple of (phys_map, nodes, sections). This will be important when updates of the topology will run concurrently with reads. cur_map is not used anymore except for freeing it at the end of the topology update. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0075270317fbd37160bc40e481a1e9cb5cbdc2f6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:13:54 2013 +0200 exec: separate current radix tree from the one being built This same treatment previously done to phys_node_map and phys_sections is now applied to the dispatch field of AddressSpace. Topology updates use as->next_dispatch while accesses use as->dispatch. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 89ae337acbe4dba5b2481007aec1277252d2b86c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jun 2 10:39:07 2013 +0200 exec: move listener from AddressSpaceDispatch to AddressSpace This will help having two copies of AddressSpaceDispatch during the recreation of the radix tree (one being built, and one that is complete and will be protected by RCU). We do not want to have to unregister and re-register the listener. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c2fc83e83d4fbc6f63b2b0f0be898374e6ddc78f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jun 2 15:20:47 2013 +0200 memory: move MemoryListener declaration earlier Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9affd6fc0e7904fb36d58d1992bbd7cae3649197 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:09:47 2013 +0200 exec: separate current memory map from the one being built Currently, phys_node_map and phys_sections are shared by all of the AddressSpaceDispatch. When updating mem topology, all AddressSpaceDispatch will rebuild dispatch tables sequentially on them. In order to prepare for RCU access, leave the old memory map alive while the next one is being accessed. When rebuilding, the new dispatch tables will build and lookup next_map; after all dispatch tables are rebuilt, we can switch to next_* and free the previous table. Based on a patch from Liu Ping Fan. Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b41aac4f0d17000babd815e088699d58e59917b8 Author: Liu Ping Fan <qemulist@xxxxxxxxx> Date: Wed May 29 11:09:17 2013 +0200 exec: change well-known physical sections to macros Sections like phys_section_unassigned always have fixed address in phys_sections. Declared as macro, so we can use them when having more than one phys_sections array. Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f08c03f3c404e85a2b81890191ccb48dc1ecc157 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Jul 2 11:36:39 2013 +0200 qom: Use atomics for object refcounting Object reference counts will soon be changed outside the BQL. So we need to use atomics in object_ref/unref. Based on a patch by Liu Ping Fan. Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 856d72454f03aea26fd61c728762ef9cd1d71512 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 11:57:21 2013 +0200 memory: add reference counting to FlatView With this change, a FlatView can be used even after a concurrent update has replaced it. Because we do not yet have RCU, we use a mutex to protect the small critical sections that read/write the as->current_map pointer. Accesses to the FlatView can be done outside the mutex. If a MemoryRegion will be used after the FlatView is unref-ed (or after a MemoryListener callback is returned), a reference has to be added to that MemoryRegion. memory_region_find already does it for the region that it returns. The same will be done for address_space_translate as soon as the dispatch tree is also converted to RCU-style. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a9a0c06dd750cca982f21089099207874b960656 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 10:29:07 2013 +0200 memory: use a new FlatView pointer on every topology update This is the first step towards converting as->current_map to RCU-style updates, where the FlatView updates run concurrently with uses of an old FlatView. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99e86347fe960b95514531f84282438ae4e6ca64 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 10:26:13 2013 +0200 memory: access FlatView from a local variable We will soon require accesses to as->current_map to be placed under a lock (with reference counting so as to keep the critical section small). To simplify this change, always fetch as->current_map into a local variable and access it through that variable. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5444e768ee1abe6e021bece19a9a932351f88c88 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 13:29:47 2013 +0200 add a header file for atomic operations We're already using them in several places, but __sync builtins are just too ugly to type, and do not provide seqcst load/store operations. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 22fc860b0a0b689eacf4a01f5aa2ccbf36043a12 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/[u-x]*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 853dca12055ea74994629d06798165d811c5e1e2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/t*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2977673992b7d363d0f402ee7c4217795fe13809 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/s*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 40c5dce99bac2d1d5f240c8c8ec53dc23ea46a89 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/p*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eedfac6f38b2ba8be827088cd3facd19d21af1e1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/n*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3c16154210ce6277bee553e72f7c7b2b2fecefbf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/m*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1437c94b2689c2010362f84d14f14feaa1d8dba3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/i*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b716368778aebdb523546d72a28706420a8c32ae Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/gpio: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3eadad551d3d5901b75f8c53dbd57b9bec2f2b01 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/d*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 300b1fc68c47478f36705f23a93dce77ac3e429a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/c*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2d256e6f652b519c59d0bea926ebb1cb866d4241 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/block: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 64bde0f3e7170cc8a9b60da835b9b3cefd03a7a5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/a*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit db10ca9057b11222408f708d5d99a3888eca4feb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:19:53 2013 -0400 piolist: add owner argument to initialization functions and pass devices Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3cd2cf4375993494bcf6195c1637a3d009aa6fae Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 12:33:01 2013 +0200 pam: pass device to init_pam and use it to set owner Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 84af6d9f97bb144bbebe688364431804a190074a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 12:32:25 2013 +0200 spapr_iommu: pass device to spapr_tce_new_table and use it to set owner Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5cb022a1bfaa0c15a13d3266bc6d683cc1f44d7f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 12:31:46 2013 +0200 vfio: pass device to vfio_mmap_bar and use it to set owner Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dcb117bfda5af6f6ceb7231778d36d8bce4aee93 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 15:04:35 2013 +0200 ne2000: pass device to ne2000_setup_io, use it as owner Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42e038fe918f4eecdd84ef9ee406bba1deb15cec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: set owner in vga_update_memory_access Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c84b28eeea1ab3f90e619b6af63e7db770c579ec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_init_io Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 831183277318395ecd02f2fe2423f5fe983ed96a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_init_vbe Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9eb58a473b615d9d6d26ee8e568eeb2e67d8e274 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to cirrus_init_common Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 270327feb2535f74379030e028b96b57fd60ca39 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_common_init Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 712f0cc777dc8abc1f43b8e2a5e65ab3ae563cbd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_init Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3cf63ff25c6f1bdac7cb153f87ff830e932ac2f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 15:02:38 2013 +0200 escc: rename struct to ESCCState We are using the same struct name for two devices. 8250 is widespread enough that this causes some confusion, rename the other instance. Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d3e71559a81ca7b6221465dd19282429101f983d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jun 28 17:33:29 2013 +0200 memory: ref/unref memory across address_space_map/unmap The iothread mutex might be released between map and unmap, so the mapped region might disappear. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e3127ae0cdcde6b10a8643836f5bec197f2eff1a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jun 28 17:29:27 2013 +0200 exec: reorganize address_space_map First of all, rename "todo" to "done". Second, clearly separate the case of done == 0 with the case of done != 0. This will help handling reference counting in the next patch. Third, this test: if (memory_region_get_ram_addr(mr) + xlat != raddr + todo) { does not guarantee that the memory region is the same across two iterations of the while loop. For example, you could have two blocks: A) size 640 K, mapped at physical address 0, ram_addr_t 0 B) size 64 K, mapped at physical address 0xa0000, ram_addr_t 0xa0000 then mapping 1 M starting at physical address zero will erroneously treat B as the continuation of block A. qemu_ram_ptr_length ensures that no invalid memory is accessed, but it is still a pointless complication of the algorithm. The patch makes the logic clearer with an explicit test that the memory region is the same. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1b5ec2346703c060d26ada7d95fe9aaf476b1947 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 14:36:15 2013 +0200 memory: return MemoryRegion from qemu_ram_addr_from_host It will be needed in the next patch. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7443b43758ba5eeca8f81ca15fe9fced8983be26 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 12:44:02 2013 +0200 exec: move qemu_ram_addr_from_host_nofail to cputlb.c After the next patch it would not be used elsewhere anyway. Also, the _nofail and the standard versions of this function return different things, which is confusing. Removing the function from the public headers limits the confusion. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 23887b79df2be53dc49166e1b677469abfb92147 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 14:28:39 2013 +0200 exec: check MRU in qemu_ram_addr_from_host This function is not used outside the iothread mutex, so it can use ram_list.mru_block. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dfde4e6e1a868f60033ece0590b1f75e6c57fa16 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 10:46:11 2013 +0200 memory: add ref/unref calls Add ref/unref calls at the following places: - places where memory regions are stashed by a listener and used outside the BQL (including in Xen or KVM). - memory_region_find callsites - creation of aliases and containers (only the aliased/contained region gets a reference to avoid loops) - around calls to del_subregion/add_subregion, where the region could disappear after the first call Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3ce10901ca8da9142dcdcde198fda1a4c290934c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jul 2 13:40:48 2013 +0200 memory: introduce memory_region_present This new API will avoid having too many memory_region_ref/unref in paths that currently use memory_region_find. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 46637be269aaaceb9867ffdf176e906401138fff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 09:06:00 2013 +0200 memory: add ref/unref Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 803c0816a7d3ab35460991ba5b7d1fccc070332b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 06:59:09 2013 +0200 memory: add getter for owner Whenever memory regions are accessed outside the BQL, they need to be preserved against hot-unplug. MemoryRegions actually do not have their own reference count; they piggyback on a QOM object, their "owner". The owner is set at creation time, and there is a function to retrieve the owner. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b7e95164d1a9969aa591b8a72e05b94d08c49738 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:07:03 2013 +0200 exec: simplify destruction of the phys map Do not bother visiting the radix tree when an address space is destroyed. After the previous patch, this has become a pointless exercise. When called from address_space_destroy_dispatch, all you're doing is zeroing out a structure that will be freed as soon as you come back. When called from mem_begin, when phys_page_set_level will call phys_map_node_alloc the radix tree's array will be zeroed too. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 058bc4b57f9d6b39d9a6748b4049e1be3fde3dac Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 09:30:48 2013 +0200 memory: destroy phys_sections one by one phys_sections_clear is invoked after the dispatch tree has been destroyed. This leaves a window where phys_sections_nb > 0 but the subpages are not valid anymore, which is a recipe for use-after-free bugs. Move the destruction of subpages in phys_sections_clear. We will still destroy the subpages when an address space is cleaned up, because address_space_destroy will clear as->root and commit the change before it calls address_space_destroy_dispatch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2c9b15cab12c21e32dffb67c5e18f3dc407ca224 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 05:41:28 2013 -0400 memory: add owner argument to initialization functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5767e4e19835cd39de9945bba17438e368e253bb Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:07 2013 +0200 ioport: Move portio types to ioport.h This decouples memory.h from ioport.h, concentrating all portio related types in a single header. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d67f679d99778d9e07ec470ebf803249c2bea625 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:06 2013 +0200 vmport: Disentangle read handler type from portio In case the latter may vanish one day, make sure the vmport read handler type will remain unaffected. This is also conceptually cleaner. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0659097de2b47470b4d706c2634240f54700c807 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:05 2013 +0200 ioport: Remove unused old dispatching services Remove unused ioport_register and isa_unassign_ioport along with everything that only those services used. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b40acf99bef69fa8ab0f9092ff162fde945eec12 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Jun 24 10:45:09 2013 +0200 ioport: Switch dispatching to memory core layer The current ioport dispatcher is a complex beast, mostly due to the need to deal with old portio interface users. But we can overcome it without converting all portio users by embedding the required base address of a MemoryRegionPortio access into that data structure. That removes the need to have the additional MemoryRegionIORange structure in the loop on every access. To handle old portio memory ops, we simply install dispatching handlers for portio memory regions when registering them with the memory core. This removes the need for the old_portio field. We can drop the additional aliasing of ioport regions and also the special address space listener. cpu_in and cpu_out now simply call address_space_read/write. And we can concentrate portio handling in a single source file. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 962b03fcf509db25c847aa67c4eff574c240dcfe Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:03 2013 +0200 xen: Mark fixed platform I/O as unaligned Before switching to the memory core dispatcher, we need to make sure that this pv-device will continue to receive unaligned portio accesses. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 04e8cd506a2a7b57084d7d7b823540c2baf9a1da Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:02 2013 +0200 vmware-vga: Accept unaligned I/O accesses Before switching to the memory core dispatcher, we need to make sure that this pv-device will continue to receive unaligned portio accesses. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b6f3296292f027c9a87a12dddd736a7c344d0206 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:01 2013 +0200 isa: implement isa_is_ioport_assigned via memory_region_find Open-code isa_is_ioport_assigned via a memory region lookup. As all IO ports are now directly or indirectly registered via the memory API, this becomes possible and will finally allow us to drop the ioport tables. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8ab9b41876c0ead43648b55576a8f17aa2c8b027 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:00 2013 +0200 Privatize register_ioport_read/write No more users outside of ioport.c. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bcc37e24bda4666e1ddd75e9c523641f8b8a1b7e Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:59 2013 +0200 vt82c686: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd533eb510bace3efabe3378caae4002eb941508 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:58 2013 +0200 prep: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f94b64acb6ec2871676990ea5ba956a91b20cc75 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:57 2013 +0200 i82374: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0c6c4e28b3e6a2d0d87b7ca87ffb19e03d44267b Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:56 2013 +0200 wdt_ib700: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e3914e3ad883cff0247da8471e9cb3051e88ab38 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:55 2013 +0200 applesmc: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a8aec29569e8baa4d86ea2aac16f8c4d78ab2a2a Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:54 2013 +0200 adlib: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. CC: malc <av1474@xxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f487b677c2dc15786dbe7c61326cc49e7c64daea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 14:17:19 2013 +0200 dma: keep a device alive while it has SGLists Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cac3c384bb986f06a308e551641284586924813c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 14:09:39 2013 +0200 scsi: keep device alive while it has requests Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6ac363b50c569815786a795d806e068b3f6a07eb Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:46 2013 +1000 pci: Move pci_read_devaddr to pci-hotplug-old.c pci_read_devaddr() is only used by the legacy functions for the old PCI hotplug interface in pci-hotplug-old.c. So we move the function there, and make it static. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 79ca616f291124d166ca173e512c4ace1c2fe8b2 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:45 2013 +1000 pci: Cleanup configuration for pci-hotplug.c pci-hotplug.c and the CONFIG_PCI_HOTPLUG variable which controls its compilation are misnamed. They're not about PCI hotplug in general, but rather about the pci_add/pci_del interface which are now deprecated in favour of the more general device_add/device_del interface. This patch therefore renames them to pci-hotplug-old.c and CONFIG_PCI_HOTPLUG_OLD. CONFIG_PCI_HOTPLUG=y was listed twice in {i386,x86_64}-softmmu.make for no particular reason, so we clean that up too. In addition it was included in ppc64-softmmu.mak for which the old hotplug interface was never used and is unsuitable, so we remove that too. Most of pci-hotplug.c was additionaly protected by #ifdef TARGET_I386. The small piece which wasn't is only called from the pci_add and pci_del hooks in hmp-commands.hx, which themselves were protected by #ifdef TARGET_I386. This patch therefore also removes the #ifdef from pci-hotplug-old.c, and changes the ifdefs in hmp-commands.hx to use CONFIG_PCI_HOTPLUG_OLD. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit fea7d5966a54a5e5400cd38897a95ea576b5af4d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jun 16 23:48:42 2013 +0300 pvpanic: fix fwcfg for big endian hosts Convert port number to little endian when exposing it in fw cfg. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jun 16 18:31:30 2013 +0300 pvpanic: initialization cleanup Avoid use of static variables: PC systems initialize pvpanic device through pvpanic_init, so we can simply create the fw_cfg file at that point. This also makes it possible to skip device creation completely if fw_cfg is not there, e.g. for xen - so the ports it reserves are not discoverable by guests. Also, make pvpanic_init void since callers ignore return status anyway. Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c6d559d9cf8687d8378e888e7570c07ce53b94e2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 4 16:06:37 2013 +0300 MAINTAINERS: s/Marcelo/Paolo/ Marcelo doesn't maintain kvm anymore, Paolo is taking over the job. Update MAINTAINERS to stop flooding Marcelo with mail. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a0ae17a63e08a57a644eacc1f0fd89d535ed36bf Author: Andrew Jones <drjones@xxxxxxxxxx> Date: Tue Jun 4 10:49:48 2013 +0200 e1000: cleanup process_tx_desc Coverity complains about two overruns in process_tx_desc(). The complaints are false positives, but we might as well eliminate them. The problem is that "hdr" is defined as an unsigned int, but then used to offset an array of size 65536, and another of size 256 bytes. hdr will actually never be greater than 255 though, as it's assigned only once and to the value of tp->hdr_len, which is an uint8_t. This patch simply gets rid of hdr, replacing it with tp->hdr_len, which makes it consistent with all other tp member use in the function. v2: - also cleanup coding style issues in the touched lines Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit fcbe0a707a227ea25f06382e61ff9b2761c77661 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 18 17:11:42 2013 +0300 pc_piix: cleanup init compat handling Make sure 1.4 calls 1.5, 1.3 calls 1.4 etc. This way it's enough to add enough new compat hook in a single place in piix. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 20:00:23 2013 +0300 pc: pass PCI hole ranges to Guests Guest currently has to jump through lots of hoops to guess the PCI hole ranges. It's fragile, and makes us change BIOS each time we add a new chipset. Let's report the window in a ROM file, to make BIOS do exactly what QEMU intends. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 3459a625215449b67b9c67d9151ff72892d0a42a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 12:57:26 2013 +0300 pci: store PCI hole ranges in guestinfo structure Will be used to pass hole ranges to guests. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 620ac82eb0fc4218fb6a4937bcef3fdab3126703 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 17:13:15 2013 +0300 range: add Range structure Sometimes we need to pass ranges around, add a handy structure for this purpose. Note: memory.c defines its own concept of AddrRange structure for working with 128 addresses. It's necessary there for doing range math. This is not needed for most users: struct Range is much simpler, and is only used for passing the range around. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf Merge: 1acd5a3... 00f4d64... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 3 08:36:59 2013 -0500 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging # By Michael S. Tsirkin (2) and others # Via Paolo Bonzini * qemu-kvm/uq/master: kvmclock: clock should count only if vm is running pci-assign: remove the duplicate function name in debug message kvm: skip system call when msi route is unchanged kvm: zero-initialize KVM_SET_GSI_ROUTING input kvm: add detail error message when fail to add ioeventfd Message-id: 1372841072-22265-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1f6dc0d2a03f0e114cc5ff08b0a133e24fd55ad Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Tue Jun 11 10:14:09 2013 +0200 tcg/aarch64: implement ldst 12bit scaled uimm offset implement the 12bit scaled unsigned immediate offset variant of LDR/STR. This improves code size by avoiding the movi + ldst_r for naturally aligned offsets in range. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> commit 00f4d64ee76e873be881a82d893a591487aa7950 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Tue Jun 18 20:38:25 2013 -0300 kvmclock: clock should count only if vm is running kvmclock should not count while vm is paused, because: 1) if the vm is paused for long periods, timekeeping math can overflow while converting the (large) clocksource delta to nanoseconds. 2) Users rely on CLOCK_MONOTONIC to count run time, that is, time which OS has been in a runnable state (see CLOCK_BOOTTIME). Change kvmclock driver so as to save clock value when vm transitions from runnable to stopped state, and to restore clock value from stopped to runnable transition. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bd50cbaa0f34e47c5b82eba1cd1e88143018fa19 Author: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Date: Wed Jun 19 11:18:39 2013 +0800 pci-assign: remove the duplicate function name in debug message While DEBUG() already includes the function name. Signed-off-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 40509f7f52672fe41c2cce895e187352fc09f53a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 4 14:52:35 2013 +0300 kvm: skip system call when msi route is unchanged Some guests do a large number of mask/unmask calls which currently trigger expensive route update system calls. Detect that route in unchanged and skip the system call. Reported-by: "Zhanghaoyu (A)" <haoyu.zhang@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 0fbc20740342713f282b118b4a446c4c43df3f4a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 4 14:52:32 2013 +0300 kvm: zero-initialize KVM_SET_GSI_ROUTING input kvm_add_routing_entry makes an attempt to zero-initialize any new routing entry. However, it fails to initialize padding within the u field of the structure kvm_irq_routing_entry. Other functions like kvm_irqchip_update_msi_route also fail to initialize the padding field in kvm_irq_routing_entry. It's better to just make sure all input is initialized. Once it is, we can also drop complex field by field assignment and just do the simple *a = *b to update a route entry. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit fa4ba923bd539647ace9d70d226a848bd6a89dac Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed May 22 12:57:35 2013 +0800 kvm: add detail error message when fail to add ioeventfd I try to hotplug 28 * 8 multiple-function devices to guest with old host kernel, ioeventfds in host kernel will be exhausted, then qemu fails to allocate ioeventfds for blk/nic devices. It's better to add detail error here. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 6046c620866f6f5c53eaece9f4ad8d44a12e1185 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 20 16:19:32 2013 +0200 int128: optimize and add test cases For add, the carry only requires checking one of the arguments. For sub and neg, we can similarly optimize computation of the carry. For ge, we can just do lexicographic order. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1acd5a373905ddb28957842256a038956941f332 Merge: f7d1f9d... 2345f1c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 1 09:03:04 2013 -0500 Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging # By Alexander Graf (12) and others # Via Alexander Graf * agraf/ppc-for-upstream: (32 commits) PPC: Ignore writes to L2CR mac-io: Add escc-legacy memory alias region PPC: Newworld: Add second uninorth control register set PPC: Newworld: Add uninorth token register PPC: Add clock-frequency export for Mac machines PPC: Introduce an alias cache for faster lookups PPC: Fix GDB read on code area for PPC6xx PPC: Add dump_mmu() for 6xx target-ppc: Introduce unrealizefn for PowerPCCPU booke_ppc: limit booke timer to max when timeout overflow Graphics: Switch to 800x600x32 as default mode pseries: Update MAINTAINERS information target-ppc kvm: save cr register pseries: Fix compiler warning (conversion of pointer to integral value) spapr-rtas: add CPU argument to RTAS calls target-ppc: Change default machine for 64-bit ppc: do not register IABR SPR twice for 603e target-ppc: Drop redundant flags assignments from CPU families mpc8544_guts: Turn qdev initfn into instance_init mpc8544_guts: QOM'ify ... Message-id: 1372556709-23868-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7d1f9d4e74d66cc7c72de46575a61bd6b433360 Merge: d75416e... cc3ac9c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 1 09:02:30 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: fix build breakage on windows Message-id: 1372669523-4039-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d75416ef29e477ebeadf9da41677be6f8166e8be Merge: ffeec22... fbe2e26... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 1 09:02:25 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Kevin Wolf # Via Luiz Capitulino * luiz/queue/qmp: hmp: Make "info block" output more readable Message-id: 1372452199-23237-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc3ac9c4a6fd0574b767c599e4a582be8f23260d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Jun 28 09:28:06 2013 +0200 virtio-ccw: fix build breakage on windows event_notifier_get_fd() is not available on windows hosts. Fix this by moving the calls to event_notifier_get_fd() to the kvm code. Reported-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 2345f1c0146672ce6eb0025bd2cfa4afabdef5fd Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jun 27 00:31:42 2013 +0200 PPC: Ignore writes to L2CR The L2CR register contains a number of bits that either impose configuration which we can't deal with or mean "something is in progress until the bit is 0 again". Since we don't model the former and we do want to accomodate guests using the latter semantics, let's just ignore writes to L2CR. That way guests always read back 0 and are usually happy with that. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0d54a5024f846ce7d53db25012fb4c7481e971ff Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Jun 26 13:58:31 2013 +0200 mac-io: Add escc-legacy memory alias region Mac OS X's debugging serial driver accesses the ESCC through a different register layout, called "escc-legacy". This layout differs from the normal escc register layout purely by the location of the respective registers. This patch adds a memory alias region that takes normal escc registers and maps them into the escc-legacy register space. With this patch applied, a Mac OS X guest successfully emits debug output on the serial port when run with debug parameters set, for example by running: $ qemu-system-ppc -prom-env -'boot-args=-v debug=0x8 io=0xff serial=0x3' \ -cdrom 10.4.iso -boot d Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 593c18116090237db96af6e50b902d790265ebc5 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jun 25 03:46:33 2013 +0200 PPC: Newworld: Add second uninorth control register set Mac OS X requires a second uninorth register set to be mapped a few bytes above the first one. Let's just expose it to make it happy. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4e46dcdbd31314c66fc19f73d9358852f77e8e2e Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jun 25 03:39:21 2013 +0200 PPC: Newworld: Add uninorth token register Mac OS X expects the uninorth control register set to contain one register that always reads back what it writes in. Expose that. This is just a temporary hack. Eventually, we want to expose the uninorth (/uni-n in device tree) as a separate QOM device. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a1014f25ef54bbbdaf571873a1254f85d6dcf132 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 23 00:22:50 2013 +0200 PPC: Add clock-frequency export for Mac machines Support in fwcfg has been around for exposure of the clock-frequency CPU property. OpenBIOS reads it, we just never exposed it. Since Mac OS X is very picky about its clock frequency values, let's just take a known good value and always expose that. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9761ad757182be663fa31af99abad959ac63b17f Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jun 22 03:53:35 2013 +0200 PPC: Introduce an alias cache for faster lookups When running QEMU with "-cpu ?" we walk through every alias for every target CPU we know about. This takes several seconds on my very fast host system. Let's introduce a class object cache in the alias table. Using that we don't have to go through the tedious work of finding our target class. Instead, we can just go directly from the alias name to the target class pointer. This patch brings -cpu "?" to reasonable times again. Before: real 0m4.716s After: real 0m0.025s Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b177d8b77c7301da9b51b829b0edcff367e92023 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Jun 18 16:53:01 2013 +0200 PPC: Fix GDB read on code area for PPC6xx On PPC 6xx, data and code have separated TLBs. Until now QEMU was only looking at data TLBs, which is not good when GDB wants to read code. This patch adds a second call to get_physical_address() with an ACCESS_CODE type of access when the first call with ACCESS_INT fails. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 886b75779104f38c30cc2594fcf2b214615a242d Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Fri Jun 21 15:26:57 2013 +0200 PPC: Add dump_mmu() for 6xx "(qemu) info tlb" is a very useful tool for debugging, so I implemented the missing 6xx version. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> [agraf: fix printfs on hwaddr to PRI] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b048960f15dbedeceb4e1d7e469080cf68d4cf67 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:11:49 2013 +0200 target-ppc: Introduce unrealizefn for PowerPCCPU Use it to clean up the opcode table, resolving a former TODO from Jocelyn. Also switch from malloc() to g_malloc(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ab8131afee34d6aa427bd56ac18c4d3b6df80728 Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Wed Jun 12 18:00:50 2013 +0530 booke_ppc: limit booke timer to max when timeout overflow Limit watchdog and fit timer to maximum timeout value which qemu timer can support (INT64_MAX). This maximum timeout will be hundreds of years, so limiting to max timeout is pretty safe. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f1ff0e89c8287de79c804ec7a50d43f39a9f65dc Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jun 20 14:06:27 2013 +0200 Graphics: Switch to 800x600x32 as default mode We have stayed at 800x600x15 as default graphics mode for the last 9 years. If there ever was a reason to be there, surely nobody remembers it. However, recently non-Linux PPC guests started to show bad effects on 15 bit color mode. They do work just fine with 32 bits however. So let's switch to 32 bit color as the default graphic mode. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f9de2da728d885c5c246d6ba94edea067ad00434 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 15 11:51:52 2013 +1000 pseries: Update MAINTAINERS information I'm no longer at IBM, and therefore no long actively working on the pseries (aka sPAPR) qemu machine type. This patch removes my information in the MAINTAINERS file. While we're at it, I've added some extra file patterns for pseries specific files that weren't included in the existing pattern. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: Remove new maintainer addition] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4bddaf552c3a05e1fdd2c82d6b28ebc8f99269c9 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Sat Jun 15 11:51:51 2013 +1000 target-ppc kvm: save cr register This adds a missing code to save CR (condition register) via kvm_arch_put_registers(). kvm_arch_get_registers() already has it. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ec4936e1a49ef2d7129a1813ed7a3ca826698bfb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jun 19 23:08:29 2013 +0200 pseries: Fix compiler warning (conversion of pointer to integral value) This kind of type cast must use uintptr_t or target_ulong to be portable for hosts with sizeof(void *) != sizeof(long). Here the value is assigned to a variable of type target_ulong. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> [agraf: fix compilation on 32bit hosts] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 210b580b106fa798149e28aa13c66b325a43204e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jun 19 15:40:30 2013 -0500 spapr-rtas: add CPU argument to RTAS calls RTAS is a hypervisor provided binary blob that a guest loads and calls into to execute certain functions. It's similar to the vsyscall page in Linux or the short lived VMCI paravirt interface from VMware. The QEMU implementation of the RTAS blob is simply a passthrough that proxies all RTAS calls to the hypervisor via an hypercall. While we pass a CPU argument for hypercall handling in QEMU, we don't pass it for RTAS calls. Since some RTAs calls require making hypercalls (normally RTAS is implemented as guest code) we have nasty hacks to allow that. Add a CPU argument to RTAS call handling so we can more easily invoke hypercalls just as guest code would. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 159f8286b760deace1008f5f68a46cadba337780 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 15 11:51:50 2013 +1000 target-ppc: Change default machine for 64-bit Currently, for qemu-system-ppc64, the default machine type is 'mac99'. The mac99 machine is not being actively maintained, and represents a bizarre hybrid of components that never actually existed as a real system. This patch changes the default machine to 'pseries', which is actively maintained and works well with most modern ppc64 Linux distributions as a guest. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: adjust commit message] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9fea2ae25080ad790d7d904d01a1300a45a634eb Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat May 11 21:03:50 2013 +0200 ppc: do not register IABR SPR twice for 603e IABR SPR is already registered in gen_spr_603(), called from init_proc_603E(). Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1e3438df5a9e75355b36200f3bd8b94d1a32cc24 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 22 18:35:46 2013 +0100 target-ppc: Drop redundant flags assignments from CPU families Previous code has #define POWERPC_INSNS2_<family> PPC_NONE in some places for macrofied assignment to insns_flags2 field. PPC_NONE is defined as zero though and QOM classes are zero-initialized, so drop any pcc->insns_flags2 = PPC_NONE; assignments. PPC_NONE itself is still in use in translate.c. Suggested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7587ea5bcbdeb08a204b4c1d5afe039d47d613fa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:47:35 2013 +0200 mpc8544_guts: Turn qdev initfn into instance_init SysBus can deal with NULL SysBusDeviceClass::init since 4ce5dae. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 43f691e9e248edca7b70680fd87b5be786cc4e01 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:47:34 2013 +0200 mpc8544_guts: QOM'ify Introduce type constant, cast macro and rename parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1f1a83f459dab7fbec9c5866a4d6a1ae16549edd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:47:33 2013 +0200 mpc8544_guts: Fix MemoryRegion name 6544 -> 8544 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dd49c038c373329dc9e98e591677978ff2277d9f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 21:30:40 2013 +0200 intc/openpic_kvm: Fix QOM and build issues Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cbe72019b1432b368dde7c6cd3e270fc221de085 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 03:58:08 2013 +0200 intc/openpic: Convert to QOM realize Split qdev initfn into instance_init and realize functions. Change one occurrence of "klass" while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1766344fd1d3cb7421f734f89a9356fdec98398 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 03:58:07 2013 +0200 intc/openpic: QOM'ify Introduce type constant and cast macro. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d85937e683f6ff4d68293cb24c780fb1f6820d2c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jun 12 15:32:51 2013 -0500 kvm/openpic: in-kernel mpic support Enables support for the in-kernel MPIC that thas been merged into the KVM next branch. This includes irqfd/KVM_IRQ_LINE support from Alex Graf (along with some other improvements). Note from Alex regarding kvm_irqchip_create(): On x86, one would call kvm_irqchip_create() to initialize an in-kernel interrupt controller. That function then goes ahead and initializes global capability variables as well as the default irq routing table. On ppc, we can't call kvm_irqchip_create() because we can have different types of interrupt controllers. So we want to do all the things that function would do for us in the in-kernel device init handler. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: squash in kvm_irqchip_commit_routes patch, fix non-kvm build, fix ppcemb] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4be1db86060d803f2335c08a483218eb6a8bd9eb Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jun 28 13:47:15 2013 +0200 PPC: Add non-kvm stub file There are cases where a kvm provided function is called from generic hw code that doesn't know whether kvm is available or not. Provide a stub file which can provide simple replacement functions for those cases. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb925cf9230f77c096dae4b159a9449bc306256c Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Apr 17 01:11:55 2013 +0200 KVM: PIC: Only commit irq routing when necessary The current logic updates KVM's view of our interrupt map every time we change it. While this is nice and bullet proof, it slows things down badly for me. QEMU spends about 3 seconds on every start telling KVM what news it has on its routing maps. Instead, let's just synchronize the whole irq routing map as a whole when we're done constructing it. For things that change during runtime, we can still update the routing table on demand. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 82fc73b65c19fed0ee28aeb655d27de5ac9e78d5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Apr 15 13:19:33 2013 +0000 PPC: e500: factor out mpic init code KVM in-kernel MPIC support is going to expand this even more, so let's keep it contained. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8935a442cd3cf94f21fcc4386c1c07a7a5dd6887 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Apr 15 13:19:32 2013 +0000 openpic: factor out some common defines into openpic.h ...for use by the KVM in-kernel irqchip stub. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d07cc1f12d8e15c167857852c39190d770763824 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Apr 16 15:05:22 2013 +0200 KVM: MSI: Swap payload to native endianness The usual MSI injection mechanism writes msi.data into memory using an le32 wrapper. So on big endian guests, this swaps msg.data into the expected byte order. For irqfd however, we don't swap the payload right now, rendering in-kernel MPIC emulation broken on PowerPC. Swap msg.data to the correct endianness whenever we touch it. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b7745930b1f14057b41a257524c559e62c5faa7 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Apr 16 15:58:13 2013 +0200 KVM: Export kvm_init_irq_routing On PPC, we can have different types of interrupt controllers, so we really only know that we are going to use one when we created it. Export kvm_init_irq_routing() to common code, so that we don't have to call kvm_irqchip_create(). Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 215e79c01c4e6f766eb9add56c56453e9ea1d948 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Apr 24 22:24:12 2013 +0200 KVM: Don't assume that mpstate exists with in-kernel PIC always On PPC, we don't support MP state. So far it's not necessary and I'm not convinced yet that we really need to support it ever. However, the current idle logic in QEMU assumes that an in-kernel PIC also means we support MP state. This assumption is not true anymore. Let's split up the two cases into two different variables. That way PPC can expose an in-kernel PIC, while not implementing MP state. Signed-off-by: Alexander Graf <agraf@xxxxxxx> CC: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit ffeec223b55ea696567ed544016824199cd7c7bc Merge: 2ea3e2c... a8ad415... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 28 15:48:35 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Gerd Hoffmann (13) and Michael Tokarev (1) # Via Michael Tokarev * mjt/trivial-patches: doc: we use seabios, not bochs bios qemu-socket: don't leak opts on error qemu-char: report udp backend errors qemu-char: add -chardev mux support qemu-char: minor mux chardev fixes qemu-char: use ChardevBackendKind in CharDriver qemu-char: don't leak opts on error qemu-char: fix documentation for telnet+wait socket flags qemu-char: print notification to stderr qemu-char: use more specific error_setg_* variants qemu-char: check optional fields using has_* qemu-socket: catch monitor_get_fd failures qemu-socket: drop pointless allocation qemu-socket: zero-initialize SocketAddress Message-id: 1372443465-22384-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fbe2e26c15af35e4d157874dc80f6a19eebaa83b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 16:10:55 2013 +0200 hmp: Make "info block" output more readable HMP is meant for humans and you should notice it. This changes the output format to use a bit more space to display the information more readable and leaves out irrelevant information (e.g. mention only that an image is encrypted, but not when it's not; display I/O limits only if throttling is in effect; ...) Before: (qemu) info block ide0-hd0: removable=0 io-status=ok file=/tmp/overlay.qcow2 backing_file=/tmp/backing.img backing_file_depth=1 ro=0 drv=qcow2 encrypted=1 bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0 iops_wr=0 ide1-cd0: removable=1 locked=0 tray-open=0 io-status=ok file=/home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso ro=1 drv=raw encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0 floppy0: removable=1 locked=0 tray-open=0 [not inserted] sd0: removable=1 locked=0 tray-open=0 [not inserted] After: (qemu) info block ide0-hd0: /tmp/overlay.qcow2 (qcow2, encrypted) Backing file: /tmp/backing.img (chain depth: 1) I/O limits: bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0 iops_wr=0 ide1-cd0: /home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso (raw, read-only) Removable device: not locked, tray closed floppy0: [not inserted] Removable device: not locked, tray closed sd0: [not inserted] Removable device: not locked, tray closed Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Fam Zheng <famz@xxxxxxxxxx> Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 2ea3e2c1e85097c45a882dbc1fbba4a7fdb3ff1c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 27 15:25:12 2013 +0200 qemu-char: Fix ID reuse after chardev-remove for qapi-based init Commit 2c5f488 introduced qapi-based character device initialization as a new code path in qemu_chr_new_from_opts(). Unfortunately, it failed to store parameter opts in the new chardev. Therefore, qemu_chr_delete() doesn't delete it. Even though the device is gone, its options linger, and any attempt to create another one with the same ID fails. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1372339512-28149-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 43f420f8419866619bd107d5ee84c727b46967b8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jun 25 10:49:31 2013 +0200 console: Hook QemuConsoles into qom tree Put them named "console[$index]" below "/backend", so you can list & inspect them via QMP. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1372150171-8707-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f087553653152fdae16ed7066d238677734e4902 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jun 25 10:48:54 2013 +0200 gtk: add support for surface conversion Also use CAIRO_FORMAT_RGB24 unconditionally. DisplaySurfaces will never ever see 8bpp surfaces. And using CAIRO_FORMAT_RGB16_565 for the 16bpp case doesn't seem to be a good idea too. <quote src="/usr/include/cairo/cairo.h"> * @CAIRO_FORMAT_RGB16_565: This format value is deprecated. It has * never been properly implemented in cairo and should not be used * by applications. (since 1.2) </quote> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1372150134-8590-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 12b7f57e2cfcd665cf5a21b4ae3c23b9361c5c05 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Jun 24 15:06:52 2013 +0400 vl: convert -smp to qemu_opts_parse() This also introduces a new suboption, "cpus=", which is the default. So after this patch, -smp n,sockets=y is the same as -smp cpus=n,sockets=y (with "cpu" being some generic thing, referring to either cores, or threads, or sockets, as before). We still don't validate relations between different numbers, for example it is still possible to say -smp 1,sockets=10 and it will be accepted to mean sockets=1. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Message-id: 1372072012-30305-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8a27c6a067acd03cbd810585552df4818a4397f7 Author: Kevin Wolf <mail@xxxxxxxxxxxxx> Date: Sun Jun 23 22:07:46 2013 +0200 multiboot: Updated ROM binary Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1372018066-21822-4-git-send-email-mail@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26a8ec07616df8eeb7ae5e76a4eade6809c426e3 Author: Kevin Wolf <mail@xxxxxxxxxxxxx> Date: Sun Jun 23 22:07:45 2013 +0200 multiboot: Calculate upper_mem in the ROM The upper_mem field of the Multiboot information struct doesn't really contain the RAM size - 1 MB like we used to calculate it, but only the memory from 1 MB up to the first (upper) memory hole. In order to correctly retrieve this information, the multiboot ROM now looks at the mmap it creates anyway and tries to find the size of contiguous usable memory from 1 MB. Drop the multiboot.c definition of lower_mem and upper_mem because both are queried at runtime now. Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1372018066-21822-3-git-send-email-mail@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 390fb6b47144adbad453cdf95c130854728c56f8 Author: Kevin Wolf <mail@xxxxxxxxxxxxx> Date: Sun Jun 23 22:07:44 2013 +0200 multiboot: Don't forget last mmap entry When the BIOS returns ebx = 0, the current entry is still valid and needs to be included in the Multiboot memory map. Fixing this meant that using bx as the entry index doesn't work any more because it's 0 on the last entry (and it was SeaBIOS-specific anyway), so the whole loop had to change a bit and should be more generic as a result (ebx can be an arbitrary continuation number now, and the entry size returned by the BIOS is used instead of hard-coding 20 bytes). Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1372018066-21822-2-git-send-email-mail@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6bedfe94c96c5ba35fcb2a52b438fefcc682669e Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jun 27 21:00:06 2013 +0200 arch_init: Fix format string by using RAM_ADDR_FMT length is a ram_addr_t, so RAM_ADDR_FMT must be used instead of %ld. This fixes a recently introduced regression for w64 builds. Using RAM_ADDR_FMT also changes decimal output to sedecimal. This is good here because length and block->length should both use the same base in the error message. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1372359606-2759-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a8ad4159ed7d8a442a9c049a6fd0d47aa330c2aa Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Fri Jun 28 10:08:16 2013 +0400 doc: we use seabios, not bochs bios Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7a5b6af13a45ae7109900dee03a436819302126c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:56 2013 +0200 qemu-socket: don't leak opts on error Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 58a3714c529b1b97ee078ea25b58f731aabcbfff Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:55 2013 +0200 qemu-char: report udp backend errors Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit bb6fb7c0857aeda7982ac14460328edf3c29cfc8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:54 2013 +0200 qemu-char: add -chardev mux support Allow to explicitly create mux chardevs on the command line, like you can using QMP. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dc2c4eca89ec5ee7b7a4c2563c991a14a7c5ee84 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:53 2013 +0200 qemu-char: minor mux chardev fixes mux failure path has a memory leak. creating a mux chardev can't fail though, so just assert() that instead of fixing an error path which never ever runs anyway ... Also fix bid being leaked while being at it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 99aec0123ce5ba307dc357c5bf1e0f22d2be0931 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:52 2013 +0200 qemu-char: use ChardevBackendKind in CharDriver Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e668287d4413395be1a0f9ef292bb6d0c1006e29 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:51 2013 +0200 qemu-char: don't leak opts on error Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit ef993ba7bc631b57f9ea70a7f6fc8c0fcbdfa19d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:50 2013 +0200 qemu-char: fix documentation for telnet+wait socket flags Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit fdca2124adc293f84f2b7aaf0df43faa6b6bf420 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:49 2013 +0200 qemu-char: print notification to stderr Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 20c397607cb54905f452921259b4baa9c8a1d008 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:48 2013 +0200 qemu-char: use more specific error_setg_* variants Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e859eda58501cd20a2e6988fb4acc1756bc4d278 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:47 2013 +0200 qemu-char: check optional fields using has_* Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d1ec72a44e0a167f9e8254d6d1098d27f104571f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:46 2013 +0200 qemu-socket: catch monitor_get_fd failures Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c1204afc7c048cf58b0a8f1c11886f36ca73ef28 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:45 2013 +0200 qemu-socket: drop pointless allocation Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit afde3f8b9923892d21a735993f533e5d8b60e0b0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:44 2013 +0200 qemu-socket: zero-initialize SocketAddress Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8a9c98aedc1a3fb4dfbebeccc926e273df54f2ba Merge: 3612563... c658b94... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 28 11:48:09 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber # Via Andreas Färber * afaerber/qom-cpu: (24 commits) cpu: Turn cpu_unassigned_access() into a CPUState hook hwaddr: Make hwaddr type usable beyond softmmu cpu: Change qemu_init_vcpu() argument to CPUState cpus: Change qemu_dummy_start_vcpu() argument to CPUState cpus: Change qemu_kvm_start_vcpu() argument to CPUState cpus: Change cpu_handle_guest_debug() argument to CPUState gdbstub: Set gdb_set_stop_cpu() argument to CPUState kvm: Change kvm_cpu_exec() argument to CPUState kvm: Change kvm_handle_internal_error() argument to CPUState cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState kvm: Change kvm_set_signal_mask() argument to CPUState cpus: Change qemu_kvm_wait_io_event() argument to CPUState cpus: Change cpu_thread_is_idle() argument to CPUState cpu: Change cpu_exit() argument to CPUState kvm: Change cpu_synchronize_state() argument to CPUState kvm: Change kvm_cpu_synchronize_state() argument to CPUState gdbstub: Simplify find_cpu() cpu: Guard cpu_{save,load}() definitions target-openrisc: Register VMStateDescription for OpenRISCCPU ... commit 36125631e79d53ffb9365740f43f386e2171d116 Merge: ec3f8c9... 721da65... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 28 10:37:33 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (11) and others # Via Kevin Wolf * kwolf/for-anthony: cmd646: fix build when DEBUG_IDE is enabled. block: change default of .has_zero_init to 0 vpc: Implement .bdrv_has_zero_init vmdk: remove wrong calculation of relative path gluster: Return bdrv_has_zero_init = 0 block/ssh: Set bdrv_has_zero_init according to the file type. block: Make BlockJobTypes const qemu-iotests: add 055 drive-backup test case qemu-iotests: extract wait_until_completed() into iotests.py blockdev: add Abort transaction blockdev: add DriveBackup transaction blockdev: allow BdrvActionOps->commit() to be NULL blockdev: rename BlkTransactionStates to singular block: add drive-backup QMP command blockdev: use bdrv_getlength() in qmp_drive_mirror() blockdev: drop redundant proto_drv check block: add basic backup support to block driver block: add bdrv_add_before_write_notifier() notify: add NotiferWithReturn so notifier list can abort raw-posix: Fix /dev/cdrom magic on OS X Message-id: 1372429509-29642-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 721da65c6eba9c053d73744ecaa882b0f7cd634a Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Fri Jun 28 14:43:16 2013 +0100 cmd646: fix build when DEBUG_IDE is enabled. Make sure we use the correct TARGET/PRI macros in the debug statements. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> CC: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3ac216270a62418519c08e88c17005a8f1539cf2 Author: Peter Lieven <pl@xxxxxxx> Date: Fri Jun 28 12:47:42 2013 +0200 block: change default of .has_zero_init to 0 .has_zero_init defaults to 1 for all formats and protocols. this is a dangerous default since this means that all new added drivers need to manually overwrite it to 0 if they do not ensure that a device is zero initialized after bdrv_create(). if a driver needs to explicitly set this value to 1 its easier to verify the correctness in the review process. during review of the existing drivers it turned out that ssh and gluster had a wrong default of 1. both protocols support host_devices as backend which are not by default zero initialized. this wrong assumption will lead to possible corruption if qemu-img convert is used to write to such a backend. vpc and vmdk also defaulted to 1 altough they support fixed respectively flat extends. this has to be addresses in separate patches. both formats as well as the mentioned ssh and gluster are turned to the default of 0 with this patch for safety. a similar problem with the wrong default existed for iscsi most likely because the driver developer did oversee the default value of 1. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 06:49:53 2013 +0200 cpu: Turn cpu_unassigned_access() into a CPUState hook Use it for all targets, but be careful not to pass invalid CPUState. cpu_single_env can be NULL, e.g. on Xen. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce927ed9e40e25008453eb8f130661514b633341 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 14:02:38 2013 +0200 hwaddr: Make hwaddr type usable beyond softmmu While not normally needed for *-user, it can safely be used there since always based on uint64_t, to avoid ifdeffery. To avoid accidental uses, move the guards from exec/hwaddr.h to its inclusion sites. No need for them in include/hw/. Prepares for hwaddr use in qom/cpu.h. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c643bed99fcde661b034623722004562b7953669 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 03:23:24 2013 +0200 cpu: Change qemu_init_vcpu() argument to CPUState This allows to move the call into CPUState's realizefn. Therefore move the stub into libqemustub.a. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 10a9021dfd9d8ebdaf53100a8e216054ef4fa662 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:24:35 2013 +0200 cpus: Change qemu_dummy_start_vcpu() argument to CPUState Pass it to qemu_dummy_cpu_thread_fn(). Use CPUState::env_ptr for cpu_single_env. Prepares for changing qemu_init_vcpu() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 48a106bd144c60862e8b6116dc226885d1937d76 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:20:39 2013 +0200 cpus: Change qemu_kvm_start_vcpu() argument to CPUState Pass it on to qemu_kvm_cpu_thread_fn(). Prepares for changing qemu_init_vcpu() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 913250464f5ea5799d71ab033b51d1bf8ed84343 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:07:49 2013 +0200 cpus: Change cpu_handle_guest_debug() argument to CPUState CPUArchState is no longer needed. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 64f6b3469d5983141707dfc5ec2e8f5f60af1ba0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:06:09 2013 +0200 gdbstub: Set gdb_set_stop_cpu() argument to CPUState Use CPUState::env_ptr for now. Prepares for changing cpu_handle_guest_debug() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1458c363139a54f50ea336edc612d8c5e9142220 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:46:55 2013 +0200 kvm: Change kvm_cpu_exec() argument to CPUState It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5326ab5567c12bac0802b08b265f401fe84a4ad6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 01:55:29 2013 +0200 kvm: Change kvm_handle_internal_error() argument to CPUState It no longer uses CPUArchState. Prepares for changing kvm_cpu_exec() argument to CPUState. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 01:33:50 2013 +0200 cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks Make cpustats monitor command available unconditionally. Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec() arguments to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13618e058cf2d76bccc41251fa0095aae88a8249 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:41:00 2013 +0200 cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState CPUArchState is no longer needed. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 491d6e80ea5854d75ab7c19e32a0ba01d08f6df5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:38:10 2013 +0200 kvm: Change kvm_set_signal_mask() argument to CPUState CPUArchState is no longer needed. Prepares for changing qemu_kvm_init_cpu_signals() argument to CPUState. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fd529e8f465c0d6b2d5f01c58cee4746425d2734 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:24:55 2013 +0200 cpus: Change qemu_kvm_wait_io_event() argument to CPUState It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a98ae1d8f5ee09694c148b1787e02205ee908b53 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:21:08 2013 +0200 cpus: Change cpu_thread_is_idle() argument to CPUState It no longer needs CPUArchState. Prepares for changing all_cpu_threads_idle() CPU loop to CPUState and needed for changing qemu_kvm_wait_io_event() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 60a3e17a469e444a7bc4d9a14c2ecf3bdb5ec094 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 18:26:54 2013 +0200 cpu: Change cpu_exit() argument to CPUState It no longer depends on CPUArchState, so move it to qom/cpu.c. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cb446ecab714b2444a270be209e0533bcd2ee534 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 14:24:52 2013 +0200 kvm: Change cpu_synchronize_state() argument to CPUState Change Monitor::mon_cpu to CPUState as well. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd1750d7981cf9e38985c9dfa474dcdbbe236270 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 13:45:44 2013 +0200 kvm: Change kvm_cpu_synchronize_state() argument to CPUState It no longer relies on CPUArchState since 20d695a. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 17:49:10 2013 +0200 gdbstub: Simplify find_cpu() Use qemu_get_cpu() and CPUState::env_ptr. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d0f2baebe57ccdb09a21da80b2994b772854ad6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 15:51:06 2013 +0100 cpu: Guard cpu_{save,load}() definitions A few targets already managed to implement cpu_save() and cpu_load() without defining CPU_SAVE_VERSION that causes them to be registered. Guard the prototypes with CPU_SAVE_VERSION to avoid this happening again until all targets are converted to VMState (or QIDL). Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit da69721460e652072b6a3dd52b7693da21ffe237 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 13:59:05 2013 +0100 target-openrisc: Register VMStateDescription for OpenRISCCPU Since commit e67db06e9f6d7e514ee2a9b9b769ecd42977f6fb (target-or32: Add target stubs and QOM cpu) a VMStateDescription existed, but CPU_SAVE_VERSION was not set, so it was never registered. Drop cpu_{save,load}() and register VMStateDescription via DeviceState. Use a version_id of 1 and specify minimum versions as well. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fe31e7374299c0c6172ce618b29bf2fecbd881c7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 00:27:16 2013 +0100 target-alpha: Register VMStateDescription for AlphaCPU Commit b758aca1f6cdb175634812b79f5560c36c902d00 (target-alpha: Enable the alpha-softmmu target.) introduced cpu_{save,load}() functions but didn't define CPU_SAVE_VERSION, so they were never registered. Drop cpu_{save,load}() and register the VMStateDescription via DeviceClass. This operates on the AlphaCPU object instead of CPUAlphaState. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 17 04:09:11 2013 +0200 cpu: Introduce VMSTATE_CPU() macro for CPUState To be used to embed common CPU state into CPU subclasses. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19e3835cffbcae37ade8c3abcc4525895f7b528a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 02:23:36 2013 +0200 cpu: Introduce device_class_set_vmsd() helper It's the equivalent to cpu_class_set_vmsd(), to assign DeviceClass::vmsd. It wasn't needed before since only static, unmigratable VMStateDescriptions were assigned so far. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 76d5f0294a744fa6786683760aa33e2b7fae6d8f Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 02:22:13 2013 +0200 cpu: Fix cpu_class_set_vmsd() documentation It's CPUClass::vmsd, not CPUState::vmsd. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7483e7f15139603380c45ebcd8cc2a57dda5583c Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Fri Jun 28 11:23:16 2013 +0000 xen_disk: support "direct-io-safe" backend option Support backend option "direct-io-safe". This is documented as follows in the Xen backend specification: * direct-io-safe * Values: 0/1 (boolean) * Default Value: 0 * * The underlying storage is not affected by the direct IO memory * lifetime bug. See: * http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html * * Therefore this option gives the backend permission to use * O_DIRECT, notwithstanding that bug. * * That is, if this option is enabled, use of O_DIRECT is safe, * in circumstances where we would normally have avoided it as a * workaround for that bug. This option is not relevant for all * backends, and even not necessarily supported for those for * which it is relevant. A backend which knows that it is not * affected by the bug can ignore this option. * * This option doesn't require a backend to use O_DIRECT, so it * should not be used to try to control the caching behaviour. Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the default flags passed to the qemu block layer. The original proposal for a "cache" backend option has been dropped because it was believed too wide, especially considering that at the moment the backend doesn't have a way to tell the toolstack that it is capable of supporting it. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> commit 72c6cc94daa727f41ecfc2b2ff94aa6f0e459b7f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jun 28 10:21:00 2013 +0200 vpc: Implement .bdrv_has_zero_init Depending on the subformat, has_zero_init on VHD must behave like raw and query the underlying storage (fixed) or like other sparse formats that can always return 1 (dynamic, differencing). Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8ed610a1c983dd2ed1eed8841036af55751d115f Author: Fam Zheng <famz@xxxxxxxxxx> Date: Wed Jun 26 17:24:32 2013 +0800 vmdk: remove wrong calculation of relative path When creating image with backing file, the driver tries to calculate the relative path from created image file to backing file, but the path computation is incorrect. e.g.: $ qemu-img create -f vmdk -b vmdk-data-disk.vmdk vmdk-data-snapshot1 Formatting 'vmdk-data-snapshot1', fmt=vmdk size=10737418240 backing_file='vmdk-data-disk.vmdk' compat6=off zeroed_grain=off $ qemu-img info vmdk-data-snapshot1 image: vmdk-data-snapshot1 file format: vmdk virtual size: 10G (10737418240 bytes) disk size: 12K -> backing file: disk.vmdk The common part in file names, "vmdk-data-", is incorrectly forgotten by relative_path(). As the VMDK specification has no restriction on parentNameHint to be relative path, we simply remove this by using the backing_file option. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8ab6feec2c7500faafd9a4571fb40d03dd360a64 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 26 09:41:57 2013 +0200 gluster: Return bdrv_has_zero_init = 0 GlusterFS volumes can be backed by block devices, in which case bdrv_create() doesn't make sure that the image is zeroed out. It is currently not possibly to detect whether a given image is backed by a file or a block device, and incorrectly assuming that it is zeroed corrupts images during qemu-img convert, so let's err on the side of caution and always return 0. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0b3f21e6a99c025c829d342ee417f317fe2e03b2 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Jun 25 18:15:18 2013 +0100 block/ssh: Set bdrv_has_zero_init according to the file type. If the remote is a regular file, set it to true (ie. reads of uninitialized areas in a newly created file will return zeroes). If we can't prove that, return false (a safe default). Tested by adding a debugging print statement [not part of this commit] and creating a remote file and a remote block device: $ ./qemu-img create ssh://localhost/tmp/new 100M Formatting 'ssh://localhost/tmp/new', fmt=raw size=104857600 filename ssh://localhost/tmp/new: has_zero_init = 1 $ sudo lvcreate -L 1G -n tmp /dev/fedora Logical volume "tmp" created $ ./qemu-img create ssh://localhost/dev/fedora/tmp 1G Formatting 'ssh://localhost/dev/fedora/tmp', fmt=raw size=1073741824 filename ssh://localhost/dev/fedora/tmp: has_zero_init = 0 Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f59fee8d509b446df24843c1145a99b740492725 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 25 15:13:43 2013 +0200 block: Make BlockJobTypes const Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e5ca8fdd407431e281c6f303dc9f45f63a28048f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:20 2013 +0200 qemu-iotests: add 055 drive-backup test case Testing drive-backup is similar to image streaming and drive mirroring. This test case is based on 041. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0dbe8a1b042b5eb22c6587dcc9884ebe8cedcbb6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:19 2013 +0200 qemu-iotests: extract wait_until_completed() into iotests.py The 'drive-mirror' tests often issue 'block-job-complete' and wait for the QMP completion event. Other types of block jobs also want to wait for completion but they may not need to issue 'block-job-complete'. Extract wait_until_completed() from 041 and put it into iotests.py. Return the QMP event object so the caller can make additional assertions, if necessary. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 78b18b78aa89c28aecbd007ae1967c978d39bfd6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:18 2013 +0200 blockdev: add Abort transaction The Abort action can be used to test QMP 'transaction' failure. Add it as the last action to exercise the .abort() and .cleanup() code paths for all previous actions. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3037f36446eb3556c14757ac468463c3902f331b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:17 2013 +0200 blockdev: add DriveBackup transaction This patch adds a transactional version of the drive-backup QMP command. It allows atomic snapshots of multiple drives along with automatic cleanup if there is a failure to start one of the backup jobs. Note that QMP events are emitted for block job completion/cancellation and the block job will be listed by query-block-jobs. @device: the name of the device whose writes should be mirrored. @target: the target of the new image. If the file exists, or if it is a device, the existing file/device will be used as the new destination. If it does not exist, a new file will be created. @format: #optional the format of the new destination, default is to probe if @mode is 'existing', else the format of the source @mode: #optional whether and how QEMU should create a new image, default is 'absolute-paths'. @speed: #optional the maximum speed, in bytes per second @on-source-error: #optional the action to take on an error on the source, default 'report'. 'stop' and 'enospc' can only be used if the block device supports io-status (see BlockInfo). @on-target-error: #optional the action to take on an error on the target, default 'report' (no limitations, since this applies to a different block device than @device). Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f9ea81e82519f44071b3dd617de98f0d6d6cca0a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:16 2013 +0200 blockdev: allow BdrvActionOps->commit() to be NULL Some QMP 'transaction' types don't need to do anything on .commit(). Make .commit() optional just like .abort(). The "drive-backup" action will take advantage of this, it only needs to cancel the block job on .abort(). Other block job actions will probably follow the same pattern, so allow .commit() to be NULL. Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ba5d6ab68f7bc55520cddd5e00bd48b041c7aecd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:15 2013 +0200 blockdev: rename BlkTransactionStates to singular The QMP 'transaction' command keeps a list of in-flight transactions. The transaction state structure is called BlkTransactionStates even though it only deals with a single transaction. The only plural thing is the linked list of transaction states. I find it confusing to call the single structure "States". This patch renames it to "State", just like BlockDriverState is singular. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 99a9addf567e31244d934376060dd1d34f0f012c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:14 2013 +0200 block: add drive-backup QMP command @drive-backup Start a point-in-time copy of a block device to a new destination. The status of ongoing drive-backup operations can be checked with query-block-jobs where the BlockJobInfo.type field has the value 'backup'. The operation can be stopped before it has completed using the block-job-cancel command. @device: the name of the device which should be copied. @target: the target of the new image. If the file exists, or if it is a device, the existing file/device will be used as the new destination. If it does not exist, a new file will be created. @format: #optional the format of the new destination, default is to probe if @mode is 'existing', else the format of the source @mode: #optional whether and how QEMU should create a new image, default is 'absolute-paths'. @speed: #optional the maximum speed, in bytes per second @on-source-error: #optional the action to take on an error on the source, default 'report'. 'stop' and 'enospc' can only be used if the block device supports io-status (see BlockInfo). @on-target-error: #optional the action to take on an error on the target, default 'report' (no limitations, since this applies to a different block device than @device). Note that @on-source-error and @on-target-error only affect background I/O. If an error occurs during a guest write request, the device's rerror/werror actions will be used. Returns: nothing on success If @device is not a valid block device, DeviceNotFound Since 1.6 Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ac3c5d831aa0ff796659300e186be1a35862dbd3 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:13 2013 +0200 blockdev: use bdrv_getlength() in qmp_drive_mirror() Use bdrv_getlength() for its byte units and error return instead of bdrv_get_geometry(). Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cb78466ef60ccf707a6f38a1294c435b65a828e0 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:12 2013 +0200 blockdev: drop redundant proto_drv check It is not necessary to check that we can find a protocol block driver since we create or open the image file. This produces the error that we need anyway. Besides, the QERR_INVALID_BLOCK_FORMAT is inappropriate since the protocol is incorrect rather than the format. Also drop an empty line between bdrv_open() and checking its return value. This may be due to copy-pasting from earlier code that performed other operations before handling errors. Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 98d2c6f2cd80afaa2dc10091f5e35a97c181e4f5 Author: Dietmar Maurer <dietmar@xxxxxxxxxxx> Date: Mon Jun 24 17:13:11 2013 +0200 block: add basic backup support to block driver backup_start() creates a block job that copies a point-in-time snapshot of a block device to a target block device. We call backup_do_cow() for each write during backup. That function reads the original data from the block device before it gets overwritten. The data is then written to the target device. Currently backup cluster size is hardcoded to 65536 bytes. [I made a number of changes to Dietmar's original patch and folded them in to make code review easy. Here is the full list: * Drop BackupDumpFunc interface in favor of a target block device * Detect zero clusters with buffer_is_zero() and use bdrv_co_write_zeroes() * Use 0 delay instead of 1us, like other block jobs * Unify creation/start functions into backup_start() * Simplify cleanup, free bitmap in backup_run() instead of cb * function * Use HBitmap to avoid duplicating bitmap code * Use bdrv_getlength() instead of accessing ->total_sectors * directly * Delete the backup.h header file, it is no longer necessary * Move ./backup.c to block/backup.c * Remove #ifdefed out code * Coding style and whitespace cleanups * Use bdrv_add_before_write_notifier() instead of blockjob-specific hooks * Keep our own in-flight CowRequest list instead of using block.c tracked requests. This means a little code duplication but is much simpler than trying to share the tracked requests list and use the backup block size. * Add on_source_error and on_target_error error handling. * Use trace events instead of DPRINTF() -- stefanha] Signed-off-by: Dietmar Maurer <dietmar@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit d616b224745b2c522f965cf8de7da17b553b959a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:10 2013 +0200 block: add bdrv_add_before_write_notifier() The bdrv_add_before_write_notifier() function installs a callback that is invoked before a write request is processed. This will be used to implement copy-on-write point-in-time snapshots where we need to copy out old data before overwriting it. Note that BdrvTrackedRequest is moved to block_int.h since it is passed to .notify() functions. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5dae8e5fb803f53fadc116cefe353953b938cbe1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:09 2013 +0200 notify: add NotiferWithReturn so notifier list can abort notifier_list_notify() has no return value. This is fine when we just want to invoke side-effects. Sometimes it's useful for notifiers to produce a return value. This allows notifiers to "veto" an operation and will be used by the block layer before-write notifier. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a5c5ea3f60c000bf18c99435439533728a5f34a2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 11 10:44:58 2013 +0200 raw-posix: Fix /dev/cdrom magic on OS X The raw-posix driver has code to provide a /dev/cdrom on OS X even though it doesn't really exist. However, since commit c66a6157 the real filename is dismissed after finding it, so opening /dev/cdrom fails. Put the filename back into the options QDict to make this work again. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ec3f8c9913c1eeab78a02711be7c2a803dfb4d62 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 20:53:38 2013 +0100 linux-user: Fix compilation failure Fix compilation failures for linux-user targets following recent migration related commits bd2fa51fcd and 43487c67. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372362818-4740-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c394ace828a559be13ec0bde15b476970f186dad Merge: 3e50873... 60d9222... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jun 27 08:48:38 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Michael R. Hines (9) and others # Via Juan Quintela * quintela/migration.next: rdma: introduce capability x-rdma-pin-all rdma: new QEMUFileOps hooks rdma: introduce qemu_ram_foreach_block() rdma: export qemu_fflush() rdma: introduce qemu_file_mode_is_not_valid() rdma: export throughput w/ MigrationStats QMP rdma: export yield_until_fd_readable() rdma: introduce qemu_update_position() rdma: add documentation migration: do not overwrite zero pages Revert "migration: do not sent zero pages in bulk stage" arch_init/ram_load: add error message for block length mismatch Message-id: 1372329455-5995-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 60d9222c8f50c3e5dd3df9ee84ddd1d1c4b35389 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:36 2013 -0400 rdma: introduce capability x-rdma-pin-all This capability allows you to disable dynamic chunk registration for better throughput on high-performance links. For example, using an 8GB RAM virtual machine with all 8GB of memory in active use and the VM itself is completely idle using a 40 gbps infiniband link: 1. x-rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5 Gbps 2. x-rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps These numbers would of course scale up to whatever size virtual machine you have to migrate using RDMA. Enabling this feature does *not* have any measurable affect on migration *downtime*. This is because, without this feature, all of the memory will have already been registered already in advance during the bulk round and does not need to be re-registered during the successive iteration rounds. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 43487c678d6e4e7182bfa70d2bc75422578782aa Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:35 2013 -0400 rdma: new QEMUFileOps hooks These are the prototypes and implementation of new hooks that RDMA takes advantage of to perform dynamic page registration. An optional hook is also introduced for a custom function to be able to override the default save_page function. Also included are the prototypes and accessor methods used by arch_init.c which invoke funtions inside savevm.c to call out to the hooks that may or may not have been overridden inside of QEMUFileOps. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bd2fa51fcdba3408f308df1b08fae04053ecdee5 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:34 2013 -0400 rdma: introduce qemu_ram_foreach_block() This is used during RDMA initialization in order to transmit a description of all the RAM blocks to the peer for later dynamic chunk registration purposes. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit be903b2ae7ca750bde2549432c5536087436cf49 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:32 2013 -0400 rdma: export qemu_fflush() RDMA uses this to flush the control channel before sending its own message to handle page registrations. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bc1256f7f187cc7d491bfe3861249a60873adbbc Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:31 2013 -0400 rdma: introduce qemu_file_mode_is_not_valid() QEMUFileRDMA also has read and write modes. This function is now shared to reduce code duplication. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7e114f8cf24a01893226e3a4d22a288125515cfd Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:30 2013 -0400 rdma: export throughput w/ MigrationStats QMP This exposes throughput (in megabits/sec) through QMP. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9f05d0c3a4f9e8fcb13ed09cc350af45a627809a Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:29 2013 -0400 rdma: export yield_until_fd_readable() The RDMA event channel can be made non-blocking just like a TCP socket. Exporting this function allows us to yield so that the QEMU monitor remains available. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 2b0ce0797d6bfb13ebefe010da86abced0b7a9b3 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:28 2013 -0400 rdma: introduce qemu_update_position() RDMA writes happen asynchronously, and thus the performance accounting also needs to be able to occur asynchronously. This allows anybody to call into savevm.c to update both f->pos as well as into arch_init.c to update the acct_info structure with up-to-date values when the RDMA transfer actually completes. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f4abc9d621823b14a6cd508c66c1ecb21f96349e Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:27 2013 -0400 rdma: add documentation docs/rdma.txt contains full documentation, wiki links, github url and contact information. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 211ea74022f51164a7729030b28eec90b6c99a08 Author: Peter Lieven <pl@xxxxxxx> Date: Mon Jun 10 12:14:20 2013 +0200 migration: do not overwrite zero pages on incoming migration do not memset pages to zero if they already read as zero. this will allocate a new zero page and consume memory unnecessarily. even if we madvise a MADV_DONTNEED later this will only deallocate the memory asynchronously. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9ef051e5536b6368a1076046ec6c4ec4ac12b5c6 Author: Peter Lieven <pl@xxxxxxx> Date: Mon Jun 10 12:14:19 2013 +0200 Revert "migration: do not sent zero pages in bulk stage" Not sending zero pages breaks migration if a page is zero at the source but not at the destination. This can e.g. happen if different BIOS versions are used at source and destination. It has also been reported that migration on pseries is completely broken with this patch. This effectively reverts commit f1c72795af573b24a7da5eb52375c9aba8a37972. Conflicts: arch_init.c Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 87d2f8254347879f80b3a834834a6b934dea5ecc Author: Alon Levy <alevy@xxxxxxxxxx> Date: Sun May 12 14:16:28 2013 +0300 arch_init/ram_load: add error message for block length mismatch Makes it easier to debug situations where the source and target have different ram blocks in a device and migration fails due to that, for instance a BAR size change on a PCI device. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3e5087329489e0beceecf3426f1216619821937f Merge: 8c260b1... 7426aa7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:13 2013 -0500 Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging # By Peter Crosthwaite (3) and others # Via Peter Maydell * pmaydell/arm-devs.for-upstream: nand: Don't inherit from Sysbus block/nand: Convert Sysbus::init to Device::realize block/nand: QOM casting sweep i.MX31: Fix PRCS bit test arm/boot: Free dtb blob memory after use i.MX: Rework functions/types name and use new style initialization i.MX: Implement a more complete version of the GPT timer. ARM: Allow dumping of device tree Message-id: 1372184516-32397-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c260b1135b15dbfe8843de799eada596167016a Merge: 9e49c8c... bdcc150... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:09 2013 -0500 Merge remote-tracking branch 'pmaydell/target-arm.for-upstream' into staging # By Peter Maydell # Via Peter Maydell * pmaydell/target-arm.for-upstream: target-arm: Make LPAE feature imply V7MP target-arm: Use tuple list to sync cp regs with KVM target-arm: Reinitialize all KVM VCPU registers on reset target-arm: Initialize cpreg list from KVM when using KVM target-arm: Convert TCG to using (index,value) list for cp migration target-arm: mark up cpregs for no-migrate or raw access target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo target-arm: Allow special cpregs to have flags set Message-id: 1372181592-32170-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9e49c8c58c7aa0eb93e4c83314a07b5c7f6339fe Merge: 1e5b868... 320ce85... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:05 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck (2) and Christian Borntraeger (1) # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Wire up guest and host notifies. virtio-ccw: Wire up ioeventfd. s390/virtio-ccw: Fix virtio reset Message-id: 1372177538-9812-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1e5b86804ca34913cf5bec5c1240659645774a4e Merge: baf8673... 39ae497... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:00 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-20130625' into staging # By Paul Durrant (2) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-20130625: Move hardcoded initialization of xen-platform device. Allow use of pc machine type (accel=xen) for Xen HVM domains. Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" Message-id: alpine.DEB.2.02.1306251323220.4782@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7426aa72c36c908a7d0eae3e38568bb0a70de479 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:12:41 2013 +1000 nand: Don't inherit from Sysbus Nand chips are not sysbus devices - they do not have any sense of MMIO, nor interrupts. Re-parent to TYPE_DEVICE accordingly. Cc: afaerber@xxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit d47a5d9b9dda19f975320b72c386c581dad32c7a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:11:52 2013 +1000 block/nand: Convert Sysbus::init to Device::realize The prescribed transition from Sysbus::init function to a Device::realize. Cc: afaerber@xxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e12078cc62f2b4a947903efef803ab1b2e13cfa1 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:10:44 2013 +1000 block/nand: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST and direct -> style casting. Cc: afaerber@xxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f3c8fac25f119641fd30f2014bfd368a0023769e Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 9 22:44:22 2013 +0200 i.MX31: Fix PRCS bit test cppcheck detected a condition which was always false. According to the MCIMX31 Reference Manual, the PRCS bits have to be 01 to select the Frequency Pre-Multiplier (FPM). PRCS uses bits 1 and 2, so we have to test for 2. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Message-id: 1370810662-32320-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c23045ded7571f0eaad95920ab00b6bc9c3a91e6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 arm/boot: Free dtb blob memory after use The dtb blob returned by load_device_tree() is in memory allocated with g_malloc(). Free it accordingly once we have copied its contents into the guest memory. To make this easy, we need also to clean up the error handling in load_dtb() so that we consistently handle errors in the same way (by printing a message and then returning -1, rather than either plowing on or exiting immediately). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371209256-11408-1-git-send-email-peter.maydell@xxxxxxxxxx commit 67110c3e010088d45bf0b396fca2aa8cd48ff9d0 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 i.MX: Rework functions/types name and use new style initialization * use dynamic cast whenever possible * Change function names to some more meaningful prefix * Change type names to a more meaningful one * use new style device initialization Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1369898943-1993-3-git-send-email-jcd@xxxxxxxxxxxxxxx Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5ec694b52a3a486fbc5a6eb6d6da4692c27d6575 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 i.MX: Implement a more complete version of the GPT timer. * implement compare 1 2 and 3 registers * simplify Debug printf Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1369898943-1993-2-git-send-email-jcd@xxxxxxxxxxxxxxx Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2acafb1a7b8b5ff4da48fccd7ce217cb07f36ffa Author: John Rigby <john.rigby@xxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 ARM: Allow dumping of device tree By calling qemu_devtree_dumpdtb near the end of load_dtb. Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit bdcc150dc44ea96152f05f9e68970b63508d5ae7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:08 2013 +0100 target-arm: Make LPAE feature imply V7MP The v7 ARM ARM specifies that the Large Physical Address Extension requires implementation of the Multiprocessing Extensions, so make our LPAE feature imply V7MP rather than specifying both in the A15 CPU initfn. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371127899-10364-1-git-send-email-peter.maydell@xxxxxxxxxx commit f7134d963d94d1fa64a482855585d21dbb58b6bd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Use tuple list to sync cp regs with KVM Use the tuple list of cp registers for syncing KVM state to QEMU, rather than only syncing a very minimal set by hand. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2d8e5a0e25171eca30a72a450826f539f05951d0 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Reinitialize all KVM VCPU registers on reset Since the ARM KVM API doesn't include a "reset this VCPU" ioctl, we have to capture the initial values of every register it knows about so that we can reset the VCPU by feeding those values back again. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ff047453f56713aa627e63aade1a9046ccd3bdfd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Initialize cpreg list from KVM when using KVM When using KVM, use the kernel's initial state to set up the cpreg list, and sync to and from the kernel when doing migration. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 721fae125369deba8c12a37f5824138686fb6e4e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Convert TCG to using (index,value) list for cp migration Convert the TCG ARM target to using an (index,value) list for migrating coprocessors. The primary benefit of the (index,value) list is for passing state between KVM and QEMU, but it works for TCG-to-TCG migration as well and is a useful self-contained first step. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit d4e6df6379a31efb2cf6cab3dea3f26fb489fabe Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: mark up cpregs for no-migrate or raw access Mark up coprocessor register definitions to add raw access functions or mark the register as non-migratable where necessary. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 7023ec7e2b4ee14f60c530ff9ce6e04127cf1802 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:06 2013 +0100 target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo For reading and writing register values from the kernel for KVM, we need to provide accessor functions which are guaranteed to succeed and don't impose access checks, mask out unwritable bits, etc. Define new fields raw_readfn and raw_writefn for this purpose; these only need to be provided if there is a readfn or writefn already and it is not suitable. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 34affeefbbdbd97471c283677179254a2e006994 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:06 2013 +0100 target-arm: Allow special cpregs to have flags set Relax the "is this a valid ARMCPRegInfo type value?" check to permit "special" cpregs to have flags other than ARM_CP_SPECIAL set. At the moment none of the other flags are relevant for special regs, but the migration related flag we're about to introduce can apply here too. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 320ce8503baf081725f74514d73d7bd65071a45e Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Feb 19 13:48:17 2013 +0100 virtio-ccw: Wire up guest and host notifies. Guest and host notifiers are needed by vhost. We use ioeventfds for the guest notifiers, but need to fall back on qemu injecting interrupts for the host notifiers. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b4436a0b4db0334c3157f71e9baa2944a133c4d4 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Feb 15 10:18:43 2013 +0100 virtio-ccw: Wire up ioeventfd. On hosts that support ioeventfd, make use of it for host-to-guest notifications via diagnose 500. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 6504a93011138458a2e4f67b513c5a77bdb3cae1 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jun 7 12:18:46 2013 +0200 s390/virtio-ccw: Fix virtio reset On virtio reset we must reset the indicator to avoid stale interrupts, e.g. after a reset. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 39ae4972390f78f8891a355545c56d20a9fb7770 Author: Paul Durrant <paul.durrant@xxxxxxxxxx> Date: Tue Jun 25 11:46:44 2013 +0000 Move hardcoded initialization of xen-platform device. Creation of the xen-platform device is currently hardcoded into machine type pc's initialization code, guarded by a test for the whether the xen accelerator is enabled. This patch moves the creation of xen-platform into the initialization code of the xenfv machine type. This maintains backwards compatibility for that machine type but allows more flexibility if another machine type is used with Xen HVM domains. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit a97d6fe6fbb97630d77253d20bdce78f76d01850 Author: Paul Durrant <paul.durrant@xxxxxxxxxx> Date: Tue Jun 25 11:46:37 2013 +0000 Allow use of pc machine type (accel=xen) for Xen HVM domains. Xen HVM domains normally spawn QEMU with a dedicated xenfv machine type. The initialization code for this machine type can easily be pulled into the generic pc initialization code and guarded with a test for whether the xen accelerator options is specified, which is more consistent with the way other accelerators are used. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit fc744bb10cde3ba7b9ecbaf9e723e99d3b7fa25c Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Jun 25 11:43:04 2013 +0000 Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" This reverts commit 9f24a8030a70ea4954b5b8c48f606012f086f65f. The start of the PCI hole is actually set to 0xf0000000 by hvmloader. In order to retain ABI compatibility with Xen we leave the start of the PCI hole at 0xf0000000 in QEMU (for Xen) too. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 1c514a7734b7f98625a0d18d5e8ee7581f26e50c Merge: 79c097d... 35bdc13... Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Jun 25 11:34:24 2013 +0000 Merge remote branch 'perard/cpu-hotplug-port-v2' into xen-staging-master-7 commit baf8673ca802cb3ea2cdbe94813441d23bde223b Merge: 9fbbf0d... 96c51eb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:33:17 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (22) and Fam Zheng (1) # Via Stefan Hajnoczi * stefanha/block: (23 commits) vmdk: refuse to open higher version than supported block: Always enable discard on the protocol level qcow2: Batch discards qcow2: Options to enable discard for freed clusters qcow2: Add refcount update reason to all callers Revert "block: Disable driver-specific options for 1.5" ide: Clean up ide_exec_cmd() ide: Convert SMART commands to ide_cmd_table handler ide: Convert CF-ATA commands to ide_cmd_table handler ide: Convert ATAPI commands to ide_cmd_table handler ide: Convert SEEK to ide_cmd_table handler ide: Convert FLUSH CACHE to ide_cmd_table handler ide: Convert SET FEATURES to ide_cmd_table handler ide: Convert CHECK POWER MDOE to ide_cmd_table handler ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler ide: Convert DMA read/write commands to ide_cmd_table handler ide: Convert PIO read/write commands to ide_cmd_table handler ide: Convert read/write multiple commands to ide_cmd_table handler ide: Convert verify commands to ide_cmd_table handler ide: Convert cmd_nop commands to ide_cmd_table handler ... Message-id: 1372065035-19601-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9fbbf0d1b16a0e3e4132b187c2beba458964ea98 Merge: 89f204d... 5ad24e5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:33:09 2013 -0500 Merge remote-tracking branch 'spice/spice.v71' into staging # By Gerd Hoffmann (1) and Hans de Goede (1) # Via Gerd Hoffmann * spice/spice.v71: spice: Add -spice disable-agent-file-transfer cmdline option (rhbz#961850) qxl: fix Coverity scan SIGN_EXTENSION error Message-id: 1372060666-18182-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 89f204d2c60fbf3e0c5af1ff1681e57c9f057178 Merge: 21ca4a5... 93c8e4d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:33:00 2013 -0500 Merge remote-tracking branch 'kraxel/usb.84' into staging # By Andreas Färber (3) and others # Via Gerd Hoffmann * kraxel/usb.84: usb: fix serial number for hid devices usb: add serial bus property usb-host-libusb: set USB_DEV_FLAG_IS_HOST usb/host-libusb: Fix building with libusb git master code usb/hcd-ehci: Add Faraday FUSBH200 support usb/hcd-ehci: Replace PORTSC macros with variables usb/hcd-ehci: Add Tegra2 SysBus EHCI device usb/hcd-ehci: Split off instance_init from realize usb/hcd-ehci-sysbus: Convert to QOM realize commit 21ca4a5bb3cde109e68059ee357b3114afbc51e4 Merge: b52df46... 464e367... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:32:33 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Stefan Weil (5) and others # Via Michael Tokarev * mjt/trivial-patches: configure: Add signed*signed check to [u]int128_t test Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS qapi: lack of two commas in dict sd: pass bool parameter for sd_init qemu-char: use bool in qemu_chr_open_socket and simplify code a bit vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client block/nand: Formatting sweep qxl: Fix QXLRam initialisation. acl: acl_add can't insert before last list element, fix configure: Fix "ERROR: ERROR: " for missing/incompatible DTC audio: Replace static functions in header file by macros, remove GCC_ATTR libcacard: Fix cppcheck warning and remove unneeded code savevm: Fix potential memory leak kvm: Fix potential resource leak (missing fclose) qemu-img: Add missing GCC_FMT_ATTR qemu-options: trivial fix for -mon args help vl: reformat SDL ifdeffery a bit Message-id: 1371893076-9643-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b52df46551d303ffc79ec39c38440bd8a62ee210 Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Tue Jun 18 09:22:55 2013 +0200 cadence_uart: Handle backend tx errors Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 96c51eb5e46af2312b33f745ad72acb20e799aea Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu Jun 13 11:21:29 2013 +0800 vmdk: refuse to open higher version than supported Refuse to open higher version for safety. Although we try to be compatible with published VMDK spec, VMware has newer version from ESXi 5.1 exported OVF/OVA, which we have no knowledge what's changed in it. And it is very likely to have more new versions in the future, so it's not safe to open them blindly. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 50b05b6f2e24296b4d739a638e1e7427767ed7cd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:21 2013 +0200 block: Always enable discard on the protocol level Turning on discard options in qcow2 doesn't help a lot when the discard requests that it issues are thrown away by the raw-posix layer. This patch always enables discard functionality on the protocol level so that it's the image format's responsibility to send (or not) discard requests. Requests sent by the guest will be allowed or ignored by the top level BlockDriverState, which depends on the discard=... option like before. In particular, this means that even without specifying options, the qcow2 default of discarding deleted snapshots actually takes effect now, both for qemu and qemu-img. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0b919fae31f4f80f78ebeab8388dc3a03cc5e4ed Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:20 2013 +0200 qcow2: Batch discards This optimises the discard operation for freed clusters by batching discard requests (both snapshot deletion and bdrv_discard end up updating the refcounts cluster by cluster). Note that we don't discard asynchronously, but keep s->lock held. This is to avoid that a freed cluster is reallocated and written to while the discard is still in flight. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 67af674e478054086f972811dd0a11289afa39a9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:19 2013 +0200 qcow2: Options to enable discard for freed clusters Deleted snapshots are discarded in the image file by default, discard requests take their default from the -drive discard=... option and other places that free clusters must always be enabled explicitly. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6cfcb9b8b91d303ab51b78623f2299b5288d2d51 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:18 2013 +0200 qcow2: Add refcount update reason to all callers This adds a refcount update reason to all callers of update_refcounts(), so that a follow-up patch can use this information to decide whether clusters that reach a refcount of 0 should be discarded in the image file. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 492fdc6fbe17b2d45878e813e980f782ac260c30 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:17 2013 +0200 Revert "block: Disable driver-specific options for 1.5" This reverts commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dfe1ea8fc49b93ab2bfaad67046c659a0dae708f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:11 2013 +0200 ide: Clean up ide_exec_cmd() All commands are now converted to ide_cmd_table handlers, so it can be unconditional now and the old switch block can go. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ff3526773080de2840481ec237db13ae3cbc7166 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:10 2013 +0200 ide: Convert SMART commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6b1dd744240896b67ab3d8fbf3a6292521aaed58 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:09 2013 +0200 ide: Convert CF-ATA commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ee425c78cad08778361bde3133162d520aa32e23 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:08 2013 +0200 ide: Convert ATAPI commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 61fdda377a7e8f05dc1171504405647131148d80 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:07 2013 +0200 ide: Convert SEEK to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9afce42903b3f8af1f9c158b411c73e41cf95df7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:06 2013 +0200 ide: Convert FLUSH CACHE to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ee03398c510ea18d44f45fc7f1ec8b21db2eee2c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:05 2013 +0200 ide: Convert SET FEATURES to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 785f63208569a38a4bed5c12bfe2211f3b14d524 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:04 2013 +0200 ide: Convert CHECK POWER MDOE to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 63a82e6a7b412f61a09d4a593685d8ca2856b093 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:03 2013 +0200 ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 92a6a6f64fbb7b7d3d8cb899a9cb52bd873d33fd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:02 2013 +0200 ide: Convert DMA read/write commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0e6498ed65e5f237b163f0bda9f689426dbf6ff0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:01 2013 +0200 ide: Convert PIO read/write commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit adf3a2c46e0b2ed9085df9aca3af76ff83731e98 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:00 2013 +0200 ide: Convert read/write multiple commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 413860cfb57d44baf971ae8d4f1cdf45340b3a4d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:59 2013 +0200 ide: Convert verify commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b300337e4e939d58ba39843b5e5fef53eb82acec Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:58 2013 +0200 ide: Convert cmd_nop commands to ide_cmd_table handler cmd_nop handles all commands that don't really do anything in our implementation except setting status register flags. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1c66869a02b81ad6b687a08d99d32f5f2b01232e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:57 2013 +0200 ide: Convert WIN_IDENTIFY to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4286434cd607b7dea8fb3366f1529abf0ae39fa9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:56 2013 +0200 ide: Convert WIN_DSM to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a0436e9239d29837955a60e916f876f857d46452 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:55 2013 +0200 ide: Add handler to ide_cmd_table As a preparation for moving all IDE commands into their own function like in the ATAPI code, introduce a 'handler' callback to ide_cmd_table. Commands using this new infrastructure get some things handled automatically: * The BSY flag is set before calling the handler (in order to avoid bugs like the one fixed in f68ec837) and reset on completion. * The (obsolete) DSC flag in the status register is set on completion if the command is flagged with SET_DSC in the command table * An IRQ is triggered on completion. * The error register and the ERR flag in the status register are cleared before calling the handler and on completion it is asserted that either none or both of them are set. No commands are converted at this point. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 93c8e4dc386a243d7d417567d81dc1f1698478a4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 12 13:08:45 2013 +0200 usb: fix serial number for hid devices commit 7b074a22dab4bdda9864b933f1bc811a3db42845 changed the serial number of hid devices. Add compat properties to keep the old serial number for qemu 0.12 and older. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 71938a09d2b9fd4007515fec6c395916cb08f868 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 12 13:01:49 2013 +0200 usb: add serial bus property This patch adds a serial property for all usb devices, which can be used to set the serial number of a usb device (as listed by lsusb -v) to a specific value. Applies to emulated devices only. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 628e54857a82a3cb65ef96c12640c30d6307a064 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 12 13:17:02 2013 +0200 usb-host-libusb: set USB_DEV_FLAG_IS_HOST ... like host-{linux,bsd}.c do. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bc45de8c21dfc3bc3896a78b33d5a6d9e710dfff Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Jun 6 16:39:34 2013 +0200 usb/host-libusb: Fix building with libusb git master code The next libusb release will deprecate libusb_get_port_path, and since we compile with -Werror, this breaks the build. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4e3d8b4b37b67ff6896ec77975eecbaabf7968a4 Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Date: Thu Jun 6 15:41:13 2013 +0200 usb/hcd-ehci: Add Faraday FUSBH200 support Add Faraday FUSBH200 support, which is slightly different from EHCI spec. (Or maybe simply a bad/wrong implementation...) Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cc8d6a8481e64ec53d06245f249235bcaaa73b27 Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Date: Thu Jun 6 15:41:12 2013 +0200 usb/hcd-ehci: Replace PORTSC macros with variables Replace PORTSC macros with variables which could then be configured in ehci_xxxx_class_init(...) Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 20c570432e995313874eaeabc3d0251dab40e16f Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Thu Jun 6 15:41:11 2013 +0200 usb/hcd-ehci: Add Tegra2 SysBus EHCI device This prepares an EHCI device for the Nvidia Tegra2 SoC family. Values based on patch by Vincent Palatin and verified against TRM v01p. Cc: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d4614cc3121b3c6375a63d01947779e36149c68c Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 15:41:10 2013 +0200 usb/hcd-ehci: Split off instance_init from realize This makes the mem MemoryRegion available to derived instance_inits. Keep the bus in realize for now since naming breaks in instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 08f4c90b2887a4499a2f199cf9410308f8ed298c Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 15:41:09 2013 +0200 usb/hcd-ehci-sysbus: Convert to QOM realize The SysBus qdev initfn merely calls SysBusDeviceClass::init, so we can replace it with a realizefn already. This avoids getting into any initfn ambiguity with the upcoming Faraday EHCI implementation. Rename internal usb_ehci_initfn() to usb_ehci_realize() to allow to return Errors from common initialization code as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5ad24e5f3b5968240d50fb2e5b6e19517b041052 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 8 15:37:27 2013 +0200 spice: Add -spice disable-agent-file-transfer cmdline option (rhbz#961850) Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bfc10122fafc399654f11eed8dd3ceea7b569105 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 3 10:36:54 2013 +0200 qxl: fix Coverity scan SIGN_EXTENSION error Cc: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 464e3671f9d5c206fa9e2646c81f21ceef7cfb7d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 21 14:01:31 2013 +0100 configure: Add signed*signed check to [u]int128_t test clang 3.3 with -fsanitize=undefined will fail to link code containing an int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404) so add this to our configure test for whether [u]int128_t are usable. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 965f486c21a0a8fed33e65278516edfc01d1e2fd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 21 14:00:17 2013 +0100 Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS The dtc submodule's makefile expects -I include directives to be in CPPFLAGS, not CFLAGS. Getting this wrong meant that the include directive would not be applied when generating the dependency .d files. This in turn meant that we couldn't build libfdt when doing an out of tree build with clang. (gcc's dependency output is slightly different from clang in this situation so it happened to work.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit ad0f171e25fb60b385dc7d07632916d3b1043d81 Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed Jun 19 17:23:27 2013 +0800 qapi: lack of two commas in dict Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 6790f59da37f6b8d4f0fe3a6b17febf512511307 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jun 18 11:45:36 2013 +0800 sd: pass bool parameter for sd_init Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e990a3932847c45839355de72e73182a53fc75ac Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jun 18 11:45:35 2013 +0800 qemu-char: use bool in qemu_chr_open_socket and simplify code a bit Local variables is_* should be bool by usage. While at it, simplify the logic/code a bit. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 2c8cf549571bbe0b245fc4f9680e1dbde39a015c Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Tue Jun 11 15:42:44 2013 +0400 vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client Some arguments to these functions are booleans - either by declaration, or by actual usage, but sometimes value of 0 or 1 is passed for a bool, and sometimes it is declared as int but a bool value, or true/false, is passed to it instead. Clean it up a bit. Cc: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 1984745ea8ad309a06690a83e91d031d21d709ff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:08:57 2013 +1000 block/nand: Formatting sweep Make this code closer to passing checkpatch. Mostly missing braces, but a few rogue tabs in there as well. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 329f97fc4ff4b533fcd2d8f4eab6c9c2568aed27 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Jun 17 17:38:26 2013 +0100 qxl: Fix QXLRam initialisation. The qxl driver expect NULL for QXLRam.memory_configs, but this is never initialized. If memory is set to 0xc2c2.., it leads to a spice-critical error when trying to start qxl. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 4999f3a8a6009de05ba82e58e723277917f16254 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jun 18 10:05:23 2013 +0200 acl: acl_add can't insert before last list element, fix Watch this: $ upstream-qemu -nodefaults -S -vnc :0,acl,sasl -monitor stdio QEMU 1.5.50 monitor - type 'help' for more information (qemu) acl_add vnc.username drei allow acl: added rule at position 1 (qemu) acl_show vnc.username policy: deny 1: allow drei (qemu) acl_add vnc.username zwei allow 1 acl: added rule at position 2 (qemu) acl_show vnc.username policy: deny 1: allow drei 2: allow zwei (qemu) acl_add vnc.username eins allow 1 acl: added rule at position 1 (qemu) acl_show vnc.username policy: deny 1: allow eins 2: allow drei 3: allow zwei The second acl_add inserts at position 2 instead of 1. Root cause is an off-by-one in qemu_acl_insert(): when index == acl->nentries, it appends instead of inserting before the last list element. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f2c4ddd9c32f7f389e83a0d866fb600e37985d03 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 01:09:06 2013 +0200 configure: Fix "ERROR: ERROR: " for missing/incompatible DTC error_exit already prepends "ERROR: ", so no need to print it manually. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 87e613ea9ed30f4217fd11aa2ad28a9fb4f1c54a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 11:19:31 2013 +0200 audio: Replace static functions in header file by macros, remove GCC_ATTR Using macros instead of static functions for dolog and for ldebug simplifies the code and can also reduce the total code size. GCC_ATTR was only used in audio_int.h, so it is now unused and the definition can be removed from compiler.h. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 48f0475f813dfa5ceb0e1f10c2ac3f28a8af583b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 11:08:52 2013 +0200 libcacard: Fix cppcheck warning and remove unneeded code The local function vcard_emul_alloc_arrays always returned PR_TRUE. Therefore cppcheck complained about code which handled the non-existent PR_FALSE case. Remove the function's return value and the dead code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 4f080057767a684aab60998659e18f98c5fbefc7 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 13:33:05 2013 +0200 savevm: Fix potential memory leak The leak was reported by cppcheck. Fix it by moving the g_malloc0 after the argument validity check. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 90527d2a8bb08ca5b4774eacfdd6b8fe9671c077 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 13:37:25 2013 +0200 kvm: Fix potential resource leak (missing fclose) This leak was detected by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7c30f65703fc4698ea9794126f1b978f34ac93b9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 17:01:05 2013 +0200 qemu-img: Add missing GCC_FMT_ATTR Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f17e4eaafc9d89a841fd30be93512b4973e53e31 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 13:47:32 2013 +0400 qemu-options: trivial fix for -mon args help It is the (implied sub)option name which is optional, not the value of that (sub)option, make it so in the help output. (Introduced by commit 22a0e04b9bb) Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 24f6ff863bce236f39ea597206e0a8df2e9537e6 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 14:44:20 2013 +0400 vl: reformat SDL ifdeffery a bit This reformats #ifdef..#endif and case statement a bit, to make it a bit shorter and matching other cases like that (no code changes). Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 576156ffed72ab4feb0b752979db86ff8759a2a1 Merge: b1588c3... 2eb74e1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jun 20 16:53:39 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (12) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: (25 commits) memory: render_memory_region: factor out fr constant setters memory: as_update_topology_pass: Improve comments memory: Fix comment typo memory: give name to every AddressSpace dma: eliminate DMAContext spapr_vio: take care of creating our own AddressSpace/DMAContext pci: use memory core for iommu support dma: eliminate old-style IOMMU support spapr: use memory core for iommu support spapr: make IOMMU translation go through IOMMUTLBEntry spapr: convert TCE API to use an opaque type vfio: abort if an emulated iommu is used memory: Add iommu map/unmap notifiers memory: iommu support memory: make section size a 128-bit integer exec: reorganize mem_add to match Int128 version Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62" Revert "memory: limit sections in the radix tree to the actual address space size" exec: return MemoryRegion from address_space_translate exec: Implement subpage_read/write via address_space_rw ... Message-id: 1371739493-10187-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1588c3fd6daf6e23ba727c758f84ada279ae731 Merge: 4eda32f... b5a87d2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jun 20 16:53:08 2013 -0500 Merge remote-tracking branch 'kiszka/queues/slirp' into staging # By Bas van Sisseren (1) and Gertjan Halkes (1) # Via Jan Kiszka * kiszka/queues/slirp: make user networking hostfwd work with restrict=y fix -net user checks by reordering checks Message-id: cover.1371638848.git.jan.kiszka@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2eb74e1a1ef145034aa41255c4a6f469d560c96d Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:33:29 2013 +1000 memory: render_memory_region: factor out fr constant setters These 4 replicated lines set properties of fr that are constant over the course of the function. Factor out their repeated setting (and also guards against them being set multiple times in the loop below). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 41a6e477fda3e3e5c8cc860458d29164625dc5e0 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:32:42 2013 +1000 memory: as_update_topology_pass: Improve comments These comments were a little difficult to read. First one had incorrect parenthesis. The part about attributes changing is really applicable to the region being 'in both' rather than 'in new' Second comment has an obscure parenthetic about 'Logging may have changed'. Made clearer, as this if is supposed to handle the case where the memory region is unchanged (with the notable exception re logging). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8508e024cb31a4013bb462aca0235c963e785aeb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:31:56 2013 +1000 memory: Fix comment typo s/ajacent/adjacent Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7dca8043f3483ff34ac954c7012b721731ee5719 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Apr 29 16:25:51 2013 +0000 memory: give name to every AddressSpace The "info mtree" command in QEMU console prints only "memory" and "I/O" address spaces while there are actually a lot more other AddressSpace structs created by PCI and VIO devices. Those devices do not normally have names and therefore not present in "info mtree" output. The patch fixes this. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit df32fd1c9f53dd3b7abd28e29f851965039eabda Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 18:15:49 2013 +0200 dma: eliminate DMAContext The DMAContext is a simple pointer to an AddressSpace that is now always already available. Make everyone hold the address space directly, and clean up the DMA API to use the AddressSpace directly. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 96478592a93f93322ecc20d0a6eccb4d4ef33c7a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 12:38:50 2013 +0200 spapr_vio: take care of creating our own AddressSpace/DMAContext Fetch the root region from the sPAPRTCETable, and use it to build an AddressSpace and DMAContext. Now, everywhere we have a DMAContext we also have access to the corresponding AddressSpace (either because we create it just before the DMAContext, or because dma_context_memory's AddressSpace is trivially address_space_memory). Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e00387d58243d4ae24ac68008a2aea76313ab997 Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:48 2012 +0200 pci: use memory core for iommu support Use the new iommu support in the memory core for iommu support. The only user, spapr, is also converted, but it still provides a DMAContext interface until the non-PCI bits switch to AddressSpace. Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> [ Do not calls memory_region_del_subregion() on the device's bus_master_enable_region, it is an alias; return an AddressSpace from the IOMMU hook and remove the destructor hook. - David Gibson ] Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 24addbc76dcbb1d1c85b3062bbf7a030831cc7a9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 17:49:04 2013 +0200 dma: eliminate old-style IOMMU support The translate function in the DMAContext is now always NULL. Remove every reference to it. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a84bb436696159d460d03db809c27a854cee0863 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 12:35:33 2013 +0200 spapr: use memory core for iommu support Now we can stop using a "translating" DMAContext, but we do not yet modify the sPAPRTCETable users to get an AddressSpace; they keep using the table via a DMAContext. Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a71bfbfe9d0bb74912170435d687f3c5de86a9f6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 16 15:05:06 2013 +0200 spapr: make IOMMU translation go through IOMMUTLBEntry The next step is to introduce the translation code that will be used for IOMMU MemoryRegions, but still do the actual translation in a DMAContext. Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2b7dc949e241ac2b069d2d6183c1346cad792662 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 17:30:48 2013 +0200 spapr: convert TCE API to use an opaque type The TCE table is currently returned as a DMAContext, and non-type-safe APIs are called later passing back the DMAContext. Since we want to move away from DMAContext, use an opaque type instead, and add an accessor to retrieve the DMAContext from it. Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 06d985f5d844d07d31b4dada20f4ff6cf0d6ff4a Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:49 2012 +0200 vfio: abort if an emulated iommu is used vfio doesn't support guest iommus yet, indicate it to the user by gently depositing a core on their disk. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 068665757da047d7d2980c17bba0659eb0ea0a89 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue May 14 19:13:56 2013 +1000 memory: Add iommu map/unmap notifiers This patch adds a NotifierList to MemoryRegions which represent IOMMUs allowing other parts of the code to register interest in mappings or unmappings from the IOMMU. All IOMMU implementations will need to call memory_region_notify_iommu() to inform those waiting on the notifier list, whenever an IOMMU mapping is made or removed. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 30951157441aed950ad8ca326500b4986d431c7a Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:46 2012 +0200 memory: iommu support Add a new memory region type that translates addresses it is given, then forwards them to a target address space. This is similar to an alias, except that the mapping is more flexible than a linear translation and trucation, and also less efficient since the translation happens at runtime. The implementation uses an AddressSpace mapping the target region to avoid hierarchical dispatch all the way to the resolved region; only iommu regions are looked up dynamically. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> [Modified to put translation in address_space_translate; assume IOMMUs are not reachable from TCG. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 052e87b073cb70afcd767d32f45af2794a5a65de Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 10:08:27 2013 +0200 memory: make section size a 128-bit integer So far, the size of all regions passed to listeners could fit in 64 bits, because artificial regions (containers and aliases) are eliminated by the memory core, leaving only device regions which have reasonable sizes An IOMMU however cannot be eliminated by the memory core, and may have an artificial size, hence we may need 65 bits to represent its size. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 733d5ef52721a836b1d9b5cd0f15a41db88829d0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 10:47:10 2013 +0200 exec: reorganize mem_add to match Int128 version When adding support for 2^64-byte sections, we will have to change the structure of mem_add to avoid failures in int128_get64. Reorganize the code now before introducing Int128. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5b23fd03324096056cf1f6bcf111224760d4c67c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 13:18:06 2013 +0200 Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62" This reverts commit 311f83ca08c011b048c063c2fd3038a8957970bc. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99b9cc0679585b2d495d7d31ce556549b6b2721c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 13:18:01 2013 +0200 Revert "memory: limit sections in the radix tree to the actual address space size" This reverts commit 86a8623692b1b559a419a92eb8b6897c221bca74. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5c8a00ce186b9a58d99b0afff90f87d5760bb44b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:42:00 2013 +0200 exec: return MemoryRegion from address_space_translate Only address_space_translate_for_iotlb needs to return the section. Every caller of address_space_translate now uses only section->mr, return it directly. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit acc9d80b26e8cb4667b5b336963d91233b6a98c4 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun May 26 21:55:37 2013 +0200 exec: Implement subpage_read/write via address_space_rw This will allow to add support for unaligned memory regions: the subpage container region can activate unaligned support unconditionally because the read/write handler will now ensure that accesses are split as required by calling address_space_rw. We can furthermore drop the special handling of RAM subpages, address_space_rw takes care of this already. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 90260c6c0960b2745d79455ceaa6cb50fb796e02 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun May 26 21:46:51 2013 +0200 exec: Resolve subpages in one step except for IOTLB fills Except for the case of setting the IOTLB entry in TCG mode, we can avoid the subpage dispatching handlers and do the resolution directly on address_space_lookup_region. An IOTLB entry describes a full page, not only the region that the first access to a sub-divided page may return. This patch therefore introduces a special translation function, address_space_translate_for_iotlb, that avoids the subpage resolutions. In contrast, callers of the existing address_space_translate service will now always receive the terminal memory region section. This will be important for breaking the BQL and for enabling unaligned memory region. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f52cc467426e43792eb39f81705766bcb3d9e96a Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun May 26 21:42:40 2013 +0200 exec: Allow unaligned address_space_rw This will be needed for some corner cases with para-virtual I/O ports. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1db8abb10243abe969a2ba307664ba51b60fcac6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 21 12:07:21 2013 +0200 memory: move private types to exec.c Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9f029603abb1472a33e008f9ea4127cc52566986 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon May 6 16:48:02 2013 +0200 memory: Introduce address_space_lookup_region This introduces a wrapper for phys_page_find (before we complicate address_space_translate with IOMMU translation). This function will also encapsulate locking and reference counting when we introduce BQL-free dispatching. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3752a0364883ed00100cc537832c434de3f77931 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 20 15:18:04 2013 +0100 exec.c: address_space_translate: handle access to addr 0 of 2^64 sized region The memory API allows a MemoryRegion's size to be 2^64, as a special case (otherwise the size always fits in a 64 bit integer). This meant that attempts to access address zero in a 2^64 sized region would assert in address_space_translate(): #3 0x00007ffff3e4d192 in __GI___assert_fail#(assertion=0x555555a43f32 "!a.hi", file=0x555555a43ef0 "include/qemu/int128.h", line=18, function=0x555555a4439f "int128_get64") at assert.c:103 #4 0x0000555555877642 in int128_get64 (a=...) at include/qemu/int128.h:18 #5 0x00005555558782f2 in address_space_translate (as=0x55555668d140, /addr=0, xlat=0x7fffafac9918, plen=0x7fffafac9920, is_write=false) at exec.c:221 Fix this by doing the 'min' operation in 128 bit arithmetic rather than 64 bit arithmetic (we know the result of the 'min' definitely fits in 64 bits because one of the inputs did). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4eda32f588086b6cd0ec2be6a7a6c131f8c2b427 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:06 2013 +0200 doc: Drop ref to Bochs from -no-fd-bootchk documentation Manual page and qemu-doc on talk about "Bochs BIOS". We use SeaBIOS, and it implements the feature. Replace by just "BIOS", and drop the TODO line wondering about the Bochs reference. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e1123015a50abf44f9daa9495f40eeaaf4c9bb98 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:05 2013 +0200 pc: Make -no-fd-bootchk stick across boot order changes Option -no-fd-bootchk asks the BIOS to attempt booting from a floppy even when the boot sector signature isn't there, by setting a bit in RTC CMOS. It was added back in 2006 (commit 52ca8d6a). Two years later, commit 0ecdffbb added monitor command boot_set. Implemented by new function pc_boot_set(). It unconditionally clears the floppy signature bit in CMOS. Commit e0f084bf added -boot option once to automatically change the boot order on first reset. Reuses pc_boot_set(), thus also clears the floppy signature bit. Commit d9346e81 took care to preserve this behavior. Thus, -no-fd-bootchk applies to any number of boots. Except it applies just to the first boot with -boot once, and never after boot_set. Weird. Make it stick instead: set the bit according to -no-fd-bootchk in pc_boot_set(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 083b79c9fea0e3842f0b2b57ff0d20ab5f57084a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:04 2013 +0200 vl: Rename *boot_devices to *boot_order, for consistency Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8281abd548d840d84223e66812491918c713e56c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:03 2013 +0200 vl: Fix -boot order and once regressions, and related bugs Option "once" sets up a different boot order just for the initial boot. Boot order reverts back to normal on reset. Option "order" changes the normal boot order. The reversal is implemented by reset handler restore_boot_devices(), which takes the boot order to revert to as argument. restore_boot_devices() does nothing on its first call, because that must be the initial machine reset. On its second call, it changes the boot order back, and unregisters itself. Because we register the handler right when -boot gets parsed, we can revert to an incorrect normal boot order, and multiple -boot can interact in funny ways. Here's how things work without -boot once or order: * boot_devices is "". * main() passes machine->boot_order to to machine->init(), because boot_devices is "". machine->init() configures firmware accordingly. For PC machines, machine->boot_order is "cad", and pc_cmos_init() writes it to RTC CMOS, where SeaBIOS picks it up. Now consider -boot order=: * boot_devices is "". * -boot order= sets boot_devices to "" (no change). * main() passes machine->boot_order to to machine->init(), because boot_devices is "", as above. Bug: -boot order= has no effect. Broken in commit e4ada29e. Next, consider -boot once=a: * boot_devices is "". * -boot once=a registers restore_boot_devices() with argument "", and sets boot_devices to "a". * main() passes boot_devices "a" to machine->init(), which configures firmware accordingly. For PC machines, pc_cmos_init() writes the boot order to RTC CMOS. * main() calls qemu_system_reset(). This runs reset handlers. - restore_boot_devices() gets called with argument "". Does nothing, because it's the first call. * Machine boots, boot order is "a". * Machine resets (e.g. monitor command). Reset handlers run. - restore_boot_devices() gets called with argument "". Calls qemu_boot_set("") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. Bug: boot order reverts to "" instead of machine->boot_order. The actual boot order depends on how firmware interprets "". Broken in commit e4ada29e. Next, consider -boot once=a -boot order=c: * boot_devices is "". * -boot once=a registers restore_boot_devices() with argument "", and sets boot_devices to "a". * -boot order=c sets boot_devices to "c". * main() passes boot_devices "c" to machine->init(), which configures firmware accordingly. For PC machines, pc_cmos_init() writes the boot order to RTC CMOS. * main() calls qemu_system_reset(). This runs reset handlers. - restore_boot_devices() gets called with argument "". Does nothing, because it's the first call. * Machine boots, boot order is "c". Bug: it should be "a". I figure this has always been broken. * Machine resets (e.g. monitor command). Reset handlers run. - restore_boot_devices() gets called with argument "". Calls qemu_boot_set("") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. Bug: boot order reverts to "" instead of "c". I figure this has always been broken, just differently broken before commit e4ada29e. Next, consider -boot once=a -boot once=b -boot once=c: * boot_devices is "". * -boot once=a registers restore_boot_devices() with argument "", and sets boot_devices to "a". * -boot once=b registers restore_boot_devices() with argument "a", and sets boot_devices to "b". * -boot once=c registers restore_boot_devices() with argument "b", and sets boot_devices to "c". * main() passes boot_devices "c" to machine->init(), which configures firmware accordingly. For PC machines, pc_cmos_init() writes the boot order to RTC CMOS. * main() calls qemu_system_reset(). This runs reset handlers. - restore_boot_devices() gets called with argument "". Does nothing, because it's the first call. - restore_boot_devices() gets called with argument "a". Calls qemu_boot_set("a") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. - restore_boot_devices() gets called with argument "b". Calls qemu_boot_set("b") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. * Machine boots, boot order is "b". Bug: should really be "c", because that came last, and for all other -boot options, the last one wins. I figure this was broken some time before commit 37905d6a, and fixed there only for a single occurence of "once". * Machine resets (e.g. monitor command). Reset handlers run. - restore_boot_devices() gets called with argument "". Calls qemu_boot_set("") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. Same bug as above: boot order reverts to "" instead of machine->boot_order. Fix by acting upon -boot options order, once and menu only after option parsing is complete, and the machine is known. This is how the other -boot options work already. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a86b35f992f107323e432c0a96107e11e1b699ad Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:02 2013 +0200 qemu-option: check_params() is now unused, drop it Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6ef4716cecdfa1b3794c1a33edba9840e1aa6b5f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:01 2013 +0200 vl: Clean up parsing of -boot option argument Commit 3d3b8303 threw in some QemuOpts parsing without replacing the existing ad hoc parser, resulting in a confusing mess. Clean it up. Two user-visible changes: 1. Invalid options are reported more nicely. Before: qemu: unknown boot parameter 'x' in 'x=y' After: qemu-system-x86_64: -boot x=y: Invalid parameter 'x' 2. If -boot is given multiple times, options accumulate, just like for -machine. Before, only options order, once and menu accumulated. For the other ones, all but the first -boot in non-legacy syntax got simply ignored. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b5a87d26e848945eb891f4d7e4a7f2be514e08d5 Author: Gertjan Halkes <qemu@xxxxxxxxxx> Date: Fri Nov 11 16:04:20 2011 +0100 make user networking hostfwd work with restrict=y This patch allows the hostfwd option to override the restrict=y setting in the user network stack, as explicitly stated in the documentation on the restrict option: restrict=on|off If this option is enabled, the guest will be isolated, i.e. it will not be able to contact the host and no guest IP packets will be routed over the host to the outside. This option does not affect any explicitly set forwarding rules. Qemu bug tracker: https://bugs.launchpad.net/qemu/+bug/829455 Signed-off-by: Gertjan Halkes <qemu@xxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit 68756ba8be2127b6ea30a466af9f78a5c97bc15f Author: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx> Date: Mon Jun 3 15:11:49 2013 +0200 fix -net user checks by reordering checks reorder slirp config options. first check the dns-server-address, then check the first-dhcp-address. the original code was comparing the first-dhcp-address with the default dns-server-address, not the configured dns-server-address. Signed-off-by: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit c1990468d5a13c8f1d9111fcca0a78a6adad062b Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Wed May 22 11:32:51 2013 -0500 wdt_i6300esb: fix vmstate versioning When this VMSD was introduced it's version fields were set to sizeof(I6300State), making them essentially random from build to build, version to version. To fix this, we lock in a high version id and low minimum version id to support old->new migration from all prior versions of this device's state. This should work since the device state has not changed since its introduction. The potentially breaks migration from 1.5+ to 1.5, but since the versioning was essentially random prior to this patch, new->old migration was not consistently functional to begin with. Reported-by: Nicholas Thomas <nick@xxxxxxxxxxxxxx> Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ed8a8430a896088db55ae029e9eac200aedbe5c Merge: 7d8f4b3... 1288844... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 18 10:06:47 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (3) and others # Via Paolo Bonzini * bonzini/scsi-next: iscsi: reorganize iscsi_readcapacity_sync iscsi: simplify freeing of tasks vhost-scsi: fix k->set_guest_notifiers() NULL dereference scsi-disk: scsi-block device for scsi pass-through should not be removable scsi-generic: check the return value of bdrv_aio_ioctl in execute_command scsi-generic: fix sign extension of READ CAPACITY(10) data scsi: reset cdrom tray statuses on scsi_disk_reset Message-id: 1371565016-2643-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d8f4b34a4bb6996d958da211f1dfb2686c7d82b Merge: 5b45643... 2330790... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 18 10:06:39 2013 -0500 Merge remote-tracking branch 'bonzini/nbd-next' into staging # By Ján Tomko # Via Paolo Bonzini * bonzini/nbd-next: nbd: strip braces from literal IPv6 address in URI qemu-socket: allow hostnames starting with a digit commit 5b456438f5bb395ed6b1eec95e18ce7a7a884a0a Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Fri May 31 14:12:48 2013 -0400 virtio-rng: Fix crash with non-default backend 'default_backend' isn't always set, but 'rng' is, so use that. $ ./x86_64-softmmu/qemu-system-x86_64 -object rng-random,id=rng0,filename=/dev/random -device virtio-rng-pci,rng=rng0 Segmentation fault (core dumped) Regressed with virtio refactoring in 59ccd20a9ac719cff82180429458728f03ec612f CC: qemu-stable@xxxxxxxxxx Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: bf4505014a0a941dbd3c62068f3cf2c496b69e6a.1370023944.git.crobinso@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1288844e7c4ede59509bf697a4cca0f2215a1ce3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 31 13:56:24 2013 +0200 iscsi: reorganize iscsi_readcapacity_sync Avoid the goto, and use the same retry logic for the 10- and 16- byte versions. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f0d2a4d4d63dd2f0f3ecb2d591b979b0e7f24a22 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 31 13:47:08 2013 +0200 iscsi: simplify freeing of tasks Always free them in the iscsi_aio_*_acb functions and remove the checks in their callers. Remove ifs when the task struct was previously dereferenced (spotted by Coverity). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0e22a2d18998fd183c8181663981eb681ca977e9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 30 16:14:44 2013 +0200 vhost-scsi: fix k->set_guest_notifiers() NULL dereference Coverity picked up a copy-paste bug. In vhost_scsi_start() we check for !k->set_guest_notifiers and error out. The check probably got copied but instead of erroring we actually use the function pointer! Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Cc: Asias He <asias@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 18e673b8f350e1d789b8a50d209eb4a4252ebbda Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Wed May 29 15:47:23 2013 +0200 scsi-disk: scsi-block device for scsi pass-through should not be removable This patch adds a new SCSI_DISK_F_NO_REMOVABLE_DEVOPS feature. By this feature we can set that the scsi-block (scsi pass-through) device will still be removable from the guest side, but from monitor it cannot be removed. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d836f8d35dc418e24c3b11e2ea67d361b867b650 Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Wed May 29 14:12:10 2013 +0200 scsi-generic: check the return value of bdrv_aio_ioctl in execute_command This fixes the bug introduced by this commit ad54ae80c73f. The bdrv_aio_ioctl() still could return null and we should return an error in that case. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53254e569f8e07501f3e0098bd57d2b780e52faa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 21 14:08:53 2013 +0200 scsi-generic: fix sign extension of READ CAPACITY(10) data Issuing the READ CAPACITY(10) command in the guest will cause QEMU to update its knowledge of the maximum accessible LBA in the disk. The recorded maximum LBA will be wrong if the disk is bigger than 1TB, because ldl_be_p returns a signed int. When this is fixed, a latent bug will be unmasked. If the READ CAPACITY(10) command reported an overflow (0xFFFFFFFF), we must not overwrite the previously-known maximum accessible LBA, or the guest will fail to access the disk above the first 2TB. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7721c7f7c272fd2ed9d58500b7e99c33ab8a1af1 Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Mon May 20 13:06:47 2013 +0200 scsi: reset cdrom tray statuses on scsi_disk_reset Tray statuses should be also reset. Some guests may lock the tray and right after resetting the guest it should be unlocked and closed. This is done on power-on, reset and resume from suspend/hibernate on bare-metal. This fix is already committed for IDE CD. Check the commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c. Test results on bare-metal: - on reset/power-on the CD-ROM tray is closed even before the monitor is turned on - on resume from suspend/hibernate the tray is also closed before the monitor is turned on From test results it seems that this behavior is OS and probably BIOS independent. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 23307908790cd8fad91220863d7712c571ddc977 Author: Ján Tomko <jtomko@xxxxxxxxxx> Date: Mon Jun 3 17:54:56 2013 +0200 nbd: strip braces from literal IPv6 address in URI Otherwise they would get passed to getaddrinfo and fail with: address resolution failed for [::1]:1234: Name or service not known (Broken by commit v1.4.0-736-gf17c90b) Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 391b7b9701ba3318e890ec0cba97a3c654bfa667 Author: Ján Tomko <jtomko@xxxxxxxxxx> Date: Mon Jun 3 17:54:55 2013 +0200 qemu-socket: allow hostnames starting with a digit According to RFC 1123 [1], hostnames can start with a digit too. [1] http://tools.ietf.org/html/rfc1123#page-13 Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx [Use strspn, not strcspn. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit afd59989db90683fa127fec501d2633bcfbd6379 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 11:00:40 2013 +1000 intc/xilinx_intc: Dont lower IRQ when HIE cleared This is a little strange. It is lowering the parent IRQ pin on input when HIE is cleared. There is no such behaviour in the real hardware. ISR changes based on interrupt pin state are already guarded on HIE being set. So we can just delete this if in its entirety. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit fa96d6142f7f1947717c7c45c4d3141e5ab55167 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:59:55 2013 +1000 intc/xilinx_intc: Inhibit write to ISR when HIE When the Hardware Interrupt Enable (HIE) bit is set, software cannot change ISR. Add write guard accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 45fdd3bf5a00466cb0f762c638291a5446773dc9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:59:09 2013 +1000 intc/xilinx_intc: Handle level interrupt retriggering Acking a level sensitive interrupt should have no effect if the interrupt pin is still asserted. The current implementation requires and edge condition to occur for setting a level sensitive IRQ, which means an ACK can clear a level sensitive interrupt, until the original source strobes the interrupt again. Fix by keeping track of the interrupt pin state and setting ISR based on this every time update_irq() is called. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 6327c221fff955ee979559ec85c148963e06d78f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:58:25 2013 +1000 intc/xilinx_intc: Don't clear level sens. IRQs without ACK For level sensitive interrupts, ISR bits are cleared when the input pin is lowered. This is incorrect. Only software can clear ISR bits (via IAR or direct write to ISR with !MER(2)). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 37a011e9bade7bcbdd41addffc7c94cbf628404c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:57:41 2013 +1000 microblaze/petalogix_s3adsp1800_mmu: Fix UART IRQ The UART IRQ is edge sensitive, whereas the machine was registering it as level sensitive. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 21a885a7e2a0f532f7653a2607efddbd83504430 Merge: 128dc2d... dbfbc63... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 13:14:46 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino # Via Luiz Capitulino * luiz/queue/qmp: qerror: drop QERR_OPEN_FILE_FAILED macro block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED savevm: qmp_xen_save_devices_state(): use error_setg_file_open() dump: qmp_dump_guest_memory(): use error_setg_file_open() cpus: use error_setg_file_open() blockdev: use error_setg_file_open() block: mirror_complete(): use error_setg_file_open() rng-random: use error_setg_file_open() error: add error_setg_file_open() helper Message-id: 1371484631-29510-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 128dc2d1e4cb98ddbe9c0df2e0c914dc00925dac Merge: 5d71bbc... 0bed087... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 13:14:13 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Liu Yuan (2) and others # Via Kevin Wolf * kwolf/for-anthony: vmdk: Allow reading variable size descriptor files NVMe: Initial commit for new storage interface curl: Don't set curl options on the handle just before it's going to be deleted. vmdk: byteswap VMDK4Header.desc_offset field block/curl.c: Refuse to open the handle for writes. sheepdog: support 'qemu-img snapshot -a' sheepdog: fix snapshot tag initialization Message-id: 1371486710-17793-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5d71bbc5fb076e6d8a37bb3e320d61432b3c2ce0 Merge: 38aea17... d1bdd3a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 13:14:01 2013 -0500 Merge remote-tracking branch 'rth/fix-ppc64' into staging # By Anton Blanchard # Via Richard Henderson * rth/fix-ppc64: tcg-ppc64: rotr_i32 rotates wrong amount tcg-ppc64: Fix add2_i64 tcg-ppc64: bswap64 rotates output 32 bits tcg-ppc64: Fix RLDCL opcode Message-id: 1371491129-30246-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d1bdd3af49f227dd4a4b03b90cb020c55cbed440 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Sun Jun 2 22:30:18 2013 +1000 tcg-ppc64: rotr_i32 rotates wrong amount rotr_i32 calculates the amount to left shift and puts it into a temporary, but then doesn't use it when doing the shift. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 84247357104044b8c4ec4a634e84769f432cbe52 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Sun Jun 2 22:29:39 2013 +1000 tcg-ppc64: Fix add2_i64 add2_i64 was adding the lower double word to the upper double word of each input. Fix this so we add the lower double words, then the upper double words with carry propagation. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 82e0f9170ac9307de4fc15bfb4d12d5534550322 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Sun Jun 2 22:28:27 2013 +1000 tcg-ppc64: bswap64 rotates output 32 bits If our input and output is in the same register, bswap64 tries to undo a rotate of the input. This just ends up rotating the output. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8a94cfb05ea9a8991c832236b4174d354025a7b7 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Jun 11 21:19:35 2013 +1000 tcg-ppc64: Fix RLDCL opcode The rldcl instruction doesn't have an sh field, so the minor opcode is shifted 1 bit. We were using the XO30 macro which shifted the minor opcode 2 bits. Remove XO30 and add MD30 and MDS30 macros which match the Power ISA categories. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0bed087df24c7b3fae366f239b9d150de3309416 Author: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 12 14:06:30 2013 +0300 vmdk: Allow reading variable size descriptor files the hard-coded 2k buffer on the stack won't allow reading big descriptor files which can be generated when storing big images. For example 500G vmdk splitted to 2G chunks. Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f3c507adcd7b00a08f2075afb6012f791ba9aec5 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Jun 4 09:17:10 2013 -0600 NVMe: Initial commit for new storage interface Initial commit for emulated Non-Volatile-Memory Express (NVMe) pci storage device. NVMe is an open, industry driven storage specification defining an optimized register and command set designed to deliver the full capabilities of non-volatile memory on PCIe SSDs. Further information may be found on the organizations website at: http://www.nvmexpress.org/ This commit implements the minimum from the specification to work with existing drivers. Cc: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8da1aa15db2f55c42bdcea95e27b1a190d2be754 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Mon Jun 10 17:40:15 2013 +0100 curl: Don't set curl options on the handle just before it's going to be deleted. (Found by Kamil Dudka) Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Cc: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5a394b9e96eb3c39676353bdf8a230180ae8d6f4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 10 11:07:33 2013 +0200 vmdk: byteswap VMDK4Header.desc_offset field Remember to byteswap VMDK4Header.desc_offset on big-endian machines. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a7cea2ba47ea6d361584072f96d7858f5cc99009 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Mon Jun 10 12:38:43 2013 +0100 block/curl.c: Refuse to open the handle for writes. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cede621ffc13ba1e209d9a21e85b21e150b74045 Author: Liu Yuan <namei.unix@xxxxxxxxx> Date: Sat Jun 8 01:54:26 2013 +0800 sheepdog: support 'qemu-img snapshot -a' Just call sd_create_branch() in the snapshot_goto to rollback the image is good enough. With this patch, 'loadvm' process for sheepdog is modified: Suppose we have a snapshot chain A --> B --> C, we do 'loadvm A' so as to get a new chain, A --> B | V C1 in the old code: 1 reload inode of A (in snapshot_goto) 2 read vmstate via A's vdi_id (loadvm_state) 3 delete C and create C1, reload inode of C1 (sd_create_branch on write) with this patch applied: 1 reload inode of A, delete C and create C1 (in snapshot_goto) 2 read vmstate via C1's parent, that is A's vdi_id (loadvm_state) This will fix the possible bug that QEMU exit between 2 and 3 in the old code Cc: qemu-devel@xxxxxxxxxx Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b579ffb3fd64243b64ac5aaf659ac88518f17835 Author: Liu Yuan <namei.unix@xxxxxxxxx> Date: Sat Jun 8 01:54:25 2013 +0800 sheepdog: fix snapshot tag initialization This is an old and obvious bug. We should pass snapshot_id to the tag. Or simple command like 'qemu-img snapshot -a tag sheepdog:image' will fail Cc: qemu-devel@xxxxxxxxxx Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dbfbc6373441e436ac6e2bcf7a8acb284225aa21 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:37:54 2013 -0400 qerror: drop QERR_OPEN_FILE_FAILED macro Not used since the last commit. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit d8b6895f7a8e5bcc5be1557e8048db43882f3b33 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Jun 10 11:29:27 2013 -0400 block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED The call to drv->bdrv_reopen_prepare() can fail due to reasons other than an open failure. Unfortunately, we can't use errno nor -ret, cause they are not always set. Stick to a generic error message then. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1befce9652a1b7cfca0191b3031fae3cbce26ef0 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:36:58 2013 -0400 savevm: qmp_xen_save_devices_state(): use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 7581766b719afd63dcf922ddbf982291f596ed12 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:36:01 2013 -0400 dump: qmp_dump_guest_memory(): use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 618da851ec8059460be8e0670bc835d3c2003708 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:35:06 2013 -0400 cpus: use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0eef407c7b4130d13138c1f75d9975165433f654 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:33:48 2013 -0400 blockdev: use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dacc26aae5d291317a3277970a4f39a562939a78 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:31:46 2013 -0400 block: mirror_complete(): use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bc5741add11113ee8febdcf33931ec3afe10c729 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:28:02 2013 -0400 rng-random: use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 54028d7542cffe97c4685994baac66988c4b7db9 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:24:49 2013 -0400 error: add error_setg_file_open() helper Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 38aea177d93556aada7c4c7aa530f0050715e293 Merge: b7a3b1c... 187f1bc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 08:57:56 2013 -0500 Merge remote-tracking branch 'pmaydell/configury.next' into staging # By Paolo Bonzini (4) and others # Via Peter Maydell * pmaydell/configury.next: ppc: Remove CONFIG_FDT conditionals microblaze: Remove CONFIG_FDT conditionals arm: Remove CONFIG_FDT conditionals configure: Require libfdt for arm, ppc, microblaze softmmu targets configure: dtc: Probe for libfdt_env.h build: drop TARGET_TYPE main: use TARGET_ARCH only for the target-specific #define build: do not use TARGET_ARCH build: rename TARGET_ARCH2 to TARGET_NAME Add a stp file for usage from build directory Message-id: 1371221594-11556-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b7a3b1cde2127f70d9fc24b7c99fbbc3899afab5 Merge: 030b4b7... b165b0d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 08:57:07 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Michael Tokarev (1) and Vladimir Senkov (1) # Via Michael Tokarev * mjt/trivial-patches: char/serial: fix copy&paste error (fifo8_is_full vs empty) vl: always define no_frame Message-id: 1371455050-9523-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 35bdc13b52197d7e9dcadd5af9621b6463290300 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Jun 10 15:29:31 2013 +0100 xen: Implement hot_add_cpu hook. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Fri Jun 14 14:43:05 2013 +0100 xen: Fix vcpus initialisation. Each vcpu needs a call to xc_evtchn_bind_interdomain in QEMU, even those that are unplug at QEMU initialisation. Without this patch, any hot-plugged CPU will be "Stuck ??" when Linux will try to use them. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 647e2f8c9c34947130c50e593a51fa50e9904145 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:25 2013 +0200 QMP: Add cpu-add command Adds "cpu-add id=xxx" QMP command. cpu-add's "id" argument is a CPU number in a range [0..max-cpus) Example QMP command: -> { "execute": "cpu-add", "arguments": { "id": 2 } } <- { "return": {} } Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit 69ca3ea5e192251f27510554611bcff6f036a00b) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 4b8e1c9837aef6297a2899fb2115c0b179250732 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:24 2013 +0200 Add hot_add_cpu hook to QEMUMachine Hook should be set by machines that implement CPU hot-add via cpu-add QMP command. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 385226be3a600c871a2cf306fca0e2788791293b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:25 2013 +0200 acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest * introduce processor status bitmask visible to guest at 0xaf00 addr, where ACPI asl code expects it * set bit corresponding to APIC ID in processor status bitmask on receiving CPU hot-plug notification * trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit b8622725cf0196f672f272922b0941dc8ba1c408) The function piix4_cpu_hotplug_req() has been modified to take an integer instead of a CPU object. There was a cpu_added_notifier in the original commit, this haven't been back-ported, as it can't be used. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit b165b0d8e62bb65a02d7670d75ebb77a9280bde1 Author: Vladimir Senkov <hangup@xxxxxxxxx> Date: Sun Jun 16 20:30:52 2013 -0400 char/serial: fix copy&paste error (fifo8_is_full vs empty) Copy&paste error in serial.c causes a crash when attempting to read from UART (if there is no data to be read) Signed-off-by: Vladimir Senkov <hangup@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 616404cd42db5f683d49772dcc2c53c8f6466024 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 14:36:22 2013 +0400 vl: always define no_frame Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options" broke build of qemu without sdl, by referencing `no_frame' variable which is defined inside #if SDL block. Fix that by defining that variable unconditionally. This is a better fix for the build issue introduced by that patch than a revert. This change keeps the new functinality introduced by that patch and just fixes the compilation. It still is not a complete fix around the original issue (not working -no-frame et al with -display gtk), because it makes only the legacy interface working, not the new suboption interface, so a few more changes are needed. Cc: Peter Wu <lekensteyn@xxxxxxxxx> Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx> commit 030b4b7debf659dcd6fc66826564285fdce5057d Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 16:13:07 2013 +0200 gtk: Fix compiler warning (GTK 3 deprecated function) With GTK 3, the function gdk_cursor_unref is deprecated: qemu/ui/gtk.c: In function â??gd_cursor_defineâ??: qemu/ui/gtk.c:380:5: error: â??gdk_cursor_unrefâ?? is deprecated (declared at /usr/include/gtk-3.0/gdk/gdkcursor.h:233): Use 'g_object_unref' instead [-Werror=deprecated-declarations] Fix the gcc compiler warning by using conditional compilation. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1371391987-10795-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a1077090cea97df26a754d16d7c9e1d410d81eaa Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 14:42:03 2013 +0400 vl: always define no_frame Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options" broke build of qemu without sdl, by referencing `no_frame' variable which is defined inside #if SDL block. Fix that by defining that variable unconditionally. This is a better fix for the build issue introduced by that patch than a revert. This change keeps the new functinality introduced by that patch and just fixes the compilation. It still is not a complete fix around the original issue (not working -no-frame et al with -display gtk), because it makes only the legacy interface working, not the new suboption interface, so a few more changes are needed. Cc: Peter Wu <lekensteyn@xxxxxxxxx> Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371292923-28105-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 90a2541b763b31d2b551b07e24aae3de5266d31b Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:10 2013 +0800 target-i386: fix over 80 chars warnings Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0bc60a8ae076402fbdbd2d6334bbe6ea88b428ff Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:09 2013 +0800 target-i386/helper: remove redundant env->eip assignment Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 80cf2c81a1be732cf1ce4a810ddc7721714d684e Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:08 2013 +0800 target-i386/helper: remove DF macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a78d0eabd4ca05789a9604fe632b9399bf378fee Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:07 2013 +0800 target-i386/helper: remove EIP macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cf75c5977c01060d344eb804abf81e938d33105b Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:06 2013 +0800 target-i386/helper: remove EDI macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 78c3c6d34a94885c8d7e83ab282062ab642af75b Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:05 2013 +0800 target-i386/helper: remove ESI macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 08b3ded6bdc06ac6b9d1f700a1ee108f4ba4030f Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:04 2013 +0800 target-i386/helper: remove ESP macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c12dddd7918e3479d0b5b0a1b25588d557347171 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:03 2013 +0800 target-i386/helper: remove EBP macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 00f5e6f21ea55046173a8a106b7654036888e9b3 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:02 2013 +0800 target-i386/helper: remove EDX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a416561005da6e4f9903541486f53c2cbc3a428d Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:01 2013 +0800 target-i386/helper: remove ECX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 70b513654c5a4722e727d69ec6999e6e7818670f Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:00 2013 +0800 target-i386/helper: remove EBX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4b34e3ad83588602834c05c0d59a0d2973e9f48c Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:20:59 2013 +0800 target-i386/helper: remove EAX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 371a775dc18ece3ff7d77328d1ee28cb2d473706 Merge: 22bfa16... fef7fbc... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jun 15 10:53:44 2013 +0000 Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu * 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu: qdev: Drop FROM_QBUS() macro isa: QOM'ify ISADevice isa: QOM'ify ISABus i8259: Convert PICCommonState to use QOM realizefn kvm/i8259: QOM'ify some more i8259: QOM'ify some more i8254: Convert PITCommonState to QOM realizefn kvm/i8254: QOM'ify some more i8254: QOM'ify some more isa: Use realizefn for ISADevice cs4231a: QOM'ify some more gus: QOM'ify some more commit 22bfa16ed3d4c9d534dcfe6f2381a654f32296b9 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 10 13:23:20 2013 -0500 ide-test: fix failure for test_flush bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3 added a test to ensure BSY flag is set when a flush request is in flight. It does this by setting a blkdebug breakpoint on flush_to_os before issuing a CMD_FLUSH_CACHE. It then resumes CMD_FLUSH_CACHE operation and checks that BSY is unset. The actual unsetting of BSY does not occur until ide_flush_cb gets called in a bh, however, so in some cases this check will race with the actual completion. Fix this by polling the ide status register until BSY flag gets unset before we do our final sanity checks. According to f68ec8379e88502b4841a110c070e9b118d3151c this is in line with how a guest would determine whether or not the device is still busy. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0170b3ce88cb87346afa369a89ce9b197389058b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 24 22:58:04 2013 +0200 cpu: Add qemu_for_each_cpu() Wrapper to avoid open-coded loops and to make CPUState iteration independent of CPUArchState. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit d6b9e0d60cc511eca210834428bb74508cff3d33) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:41 2013 +0200 cpu: Introduce get_arch_id() method and override it for X86CPU get_arch_id() adds possibility for generic code to get a guest-visible CPU ID without accessing CPUArchState. If derived classes don't override it, it will return cpu_index. Override it on target-i386 in X86CPU to return the APIC ID. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit 997395d3888fcde6ce41535a8208d7aa919d824b) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 187f1bcb9ce8e3cd3f634dd5405f9e5ed02b38ce Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:57 2013 +0100 ppc: Remove CONFIG_FDT conditionals Now that we know we're compiling with libfdt we can remove the CONFIG_FDT conditionals. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-5-git-send-email-peter.maydell@xxxxxxxxxx commit 564720219a0863625e9989fd258ccc57a616550f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:56 2013 +0100 microblaze: Remove CONFIG_FDT conditionals Now that we know we're compiling with libfdt we can remove the CONFIG_FDT conditionals. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-4-git-send-email-peter.maydell@xxxxxxxxxx commit 298c3833dba62512659ab550c3daa1e6d8faec94 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:55 2013 +0100 arm: Remove CONFIG_FDT conditionals Now that we know we're compiling with libfdt, we can remove the CONFIG_FDT conditionals. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-3-git-send-email-peter.maydell@xxxxxxxxxx commit e169e1e1ae1e75c522f932554890fb0f2f3e9999 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:54 2013 +0100 configure: Require libfdt for arm, ppc, microblaze softmmu targets A number of our softmmu targets (PPC, ARM, Microblaze) now more or less require flattened device tree support for various board models to work correctly. Make libfdt mandatory if the target list includes these, rather than building unhelpful half-functional binaries. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-2-git-send-email-peter.maydell@xxxxxxxxxx commit 96ce65457690561417ae8e6f0e85f3c6f135018b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon May 27 14:20:57 2013 +1000 configure: dtc: Probe for libfdt_env.h Currently QEMU provides a local clone of the file libfdt_env.h in /include. This file is supposed to come with the libfdt package and is only needed for broken installs of libfdt. Now that we have submodule dtc, just ignore these broken installs and prompt for the dtc submodule install instead. QEMU's local libfdt_env.h is removed accordingly. Manifests as a bug when building QEMU with modern libfdt. The new version of libfdt does not compile when QEMUs libfdt_env.h takes precedence over the hosts. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c02a9552a4c89f2fdf23defe1d2c13b834ae3a4a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 4 14:45:28 2013 +0200 build: drop TARGET_TYPE Just use the TARGET_NAME free string. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1370349928-20419-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2e59915d4375b632964c0594799fd5876958eda6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 4 14:45:27 2013 +0200 main: use TARGET_ARCH only for the target-specific #define Everything else needs to match the executable name, which is TARGET_NAME. Before: $ sh4eb-linux-user/qemu-sh4eb --help usage: qemu-sh4 [options] program [arguments...] Linux CPU emulator (compiled for sh4 emulation) After: $ sh4eb-linux-user/qemu-sh4eb --help usage: qemu-sh4eb [options] program [arguments...] Linux CPU emulator (compiled for sh4eb emulation) Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b9a7b74f77619d3e7fb3834fbdcd3bde036ac399 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 4 14:45:26 2013 +0200 build: do not use TARGET_ARCH TARGET_ARCH is generally wrong to use, there are better variables provided in config-target.mak. The right one is usually TARGET_NAME (previously TARGET_ARCH2), but for bsd-user we can also use TARGET_ABI_DIR for consistency with linux-user. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c1799a846285764de588533e21e61167a33f5a8f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jun 14 15:19:07 2013 +0100 build: rename TARGET_ARCH2 to TARGET_NAME Do not introduce any new use yet. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c14518e94251c5c0857915a5cef102f23abf1e8b Author: Alon Levy <alevy@xxxxxxxxxx> Date: Fri Jun 14 15:19:07 2013 +0100 Add a stp file for usage from build directory For systemtap the location of the process being tapped is crucial, as a result the existing stp file requires installation for use. There are now two files: $(TARGET_DIR)/$(QEMU_PROG).stp-installed: copied to $(tapdir)/$(QEMU_PROG).stp $(TARGET_DIR)/$(QEMU_PROG).stp: pointing to the built binary, usable without installation To use: stap -I $(TARGET_DIR) ... Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 52bb7c6a0663b9a0ac1727f7b55811d69aaf3789 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Jun 6 15:34:52 2013 +1000 audio/intel-hda: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST and direct -> style casting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 96f00396338321f5a76c9b86c629b69895e4d2d0.1370496582.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 062db74023043c8fe50869f19c3b9c6bb3e4699c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Jun 6 15:34:08 2013 +1000 audio/intel-hda: Fix Inheritance hierachy The ich6 and ich9 variants either need to inherit one from the other, or both from a common base class, otherwise its not possible to create a QOM cast macro for use by the shared implementation functions. Went for option B, with a common base class. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 54453b6aa8afa1a76b2ec1932f1d7fd25205d0bc.1370496582.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e5c4540d18d1e9a5253104df161a7e0d408ca95 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:36 2013 +0200 smbios: Check R in -smbios type=0, release=R parses okay Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 527cd96f15348f4454d5bb71f69aaeb95461c90e Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:35 2013 +0200 smbios: Fix -smbios type=0, release=... for big endian hosts Classic endianness bug due to careless dirty coding: assuming reading a byte from an int variable gets the least significant byte. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ebc85e3f724d17530e74df665d1a30fb9b0041b5 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:34 2013 +0200 smbios: Clean up smbios_add_field() parameters Having size precede the associated pointer is odd. Swap them, and fix up the types. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5bb95e41868b461f37159efb48908828ebd7ab36 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:33 2013 +0200 smbios: Convert to error_report() Improves diagnistics from ad hoc messages like Invalid SMBIOS UUID string to qemu-system-x86_64: -smbios type=1,uuid=gaga: Invalid UUID Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f3eededb2fbc73c73daf08f791f0407b8541f4f4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:32 2013 +0200 log.h: Supply missing includes <stdio.h> has always been missing. Rest missed in commit eeacee4. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b293796fd71009ecffe4343713a4e4e568c33fb0 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:31 2013 +0200 error-report.h: Supply missing include Missed in commit e5924d8. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 301255e6303457e10b9a42dc208f80c058004c1c Merge: 5f13731... ba275ad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:51:45 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches-next' into staging # By Michael Tokarev (4) and others # Via Michael Tokarev * mjt/trivial-patches-next: (26 commits) piix: fix some printf errors when debug is enabled cputlb: fix debug logs create qemu_openpty_raw() helper function and move it to a separate file main-loop: do not include slirp/slirp.h, use libslirp.h instead libcacard/vscclient: fix leakage of socket on error paths linux-headers: Update to v3.10-rc5 KVM: PPC: Add dummy kvm_arch_init_irq_routing() KVM: S390: Add dummy kvm_arch_init_irq_routing() KVM: ARM: Add dummy kvm_arch_init_irq_routing() ivshmem: add missing error exit(2) hw/xen: Use g_free instead of free and fix potential memory leaks target-sparc: Replace free by g_free hw/scsi: Don't increment a boolean value device tree: Fix cppcheck warning Makefile: Install qemu-img and qemu-nbd man pages only if built Unbreak -no-quit for GTK, validate SDL options gtk: implement -full-screen char/serial: serial_ioport_write: Factor out common code char/serial: Use generic Fifo8 char/serial: cosmetic fixes. ... Message-id: 1371207042-17980-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f13731f8cb6aadecf214513ec810d61dc1f71dc Merge: 86a6a07... c67e216... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:51:30 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber (12) and others # Via Andreas Färber * afaerber/qom-cpu: spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu() spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu() memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting dump: Abstract dump_init() with cpu_synchronize_all_states() cpu: Change default for CPUClass::get_paging_enabled() dump: Drop qmp_dump_guest_memory() stub and build for all targets memory_mapping: Drop qemu_get_memory_mapping() stub cpu: Turn cpu_get_memory_mapping() into a CPUState hook memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h cpu: Turn cpu_paging_enabled() into a CPUState hook monitor: Simplify do_inject_mce() with qemu_get_cpu() target-i386: cpu: Fix potential buffer overrun in get_register_name_32() target-i386: Set level=4 on Conroe/Penryn/Nehalem target-i386: Update model values on Conroe/Penryn/Nehalem CPU models pc: Create pc-*-1.6 machine-types pc: Fix crash when attempting to hotplug CPU with negative ID dump: Move stubs into libqemustub.a commit 86a6a0774509c59f1570f763a0fad57e26762d9c Merge: db9707f... b25a464... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:51:05 2013 -0500 Merge remote-tracking branch 'pmaydell/tcg-aarch64.next' into staging # By Claudio Fontana (9) and others # Via Peter Maydell * pmaydell/tcg-aarch64.next: MAINTAINERS: add tcg/aarch64 maintainer configure: permit compilation on arm aarch64 tcg/aarch64: implement user mode qemu ld/st user-exec.c: aarch64 initial implementation of cpu_signal_handler tcg/aarch64: implement sign/zero extend operations tcg/aarch64: implement byte swap operations tcg/aarch64: implement AND/TEST immediate pattern tcg/aarch64: improve arith shifted regs operations tcg/aarch64: implement new TCG target for aarch64 include/elf.h: add aarch64 ELF machine and relocs configure: Drop CONFIG_ATFILE test linux-user: Drop direct use of openat etc syscalls linux-user: Allow getdents to be provided by getdents64 Message-id: 1371052645-9006-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db9707f7a17d00781a8fb13354a359bd05a46646 Merge: 6e8d2b6... 5866e07... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:50:58 2013 -0500 Merge remote-tracking branch 'pmaydell/target-arm.next' into staging # By Peter Chubb # Via Peter Maydell * pmaydell/target-arm.next: Fix rfe instruction Message-id: 1370268884-25945-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e8d2b654656830877937ba02bb8ea1c4945a1fc Merge: bd5c51e... 56bbc2f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:50:36 2013 -0500 Merge remote-tracking branch 'rth/tcg-for-anthony' into staging # By Richard Henderson # Via Richard Henderson * rth/tcg-for-anthony: tcg: Remove redundant tcg_target_init checks tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS Message-id: 1370437167-11278-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ba275adba09adfc0f7ec533f1fddba678d9ba826 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Jun 14 15:11:30 2013 +0800 piix: fix some printf errors when debug is enabled And use PRIxxx macros if possible. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 54b949d27064a294304775e427f49d3706ed4a95 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Wed Jun 5 20:16:42 2013 +0800 cputlb: fix debug logs 'pd' variable has been removed in 06ef3525e1f271b6a842781a05eace5cf63b95c2. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 4efeabbbe8441cc327052304976c7b9b86309d72 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jun 5 18:44:54 2013 +0400 create qemu_openpty_raw() helper function and move it to a separate file In two places qemu uses openpty() which is very system-dependent, and in both places the pty is switched to raw mode as well. Make a wrapper function which does both steps, and move all the system-dependent complexity into a separate file, together with static/local implementations of openpty() and cfmakeraw() from qemu-char.c. It is in a separate file, not part of oslib-posix.c, because openpty() often resides in -lutil which is not linked to every program qemu builds. This change removes #including of <pty.h>, <termios.h> and other rather specific system headers out of qemu-common.h, which isn't a place for such specific headers really. This version has been verified to build correctly on Linux, OpenBSD, FreeBSD and OpenIndiana. On the latter it lets qemu to be built with gtk gui which were not possible there due to missing openpty() and cfmakeraw(). Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Tested-by: Andreas Färber <andreas.faerber@xxxxxx> commit 79c097d5fe7cb0b4788ed509240cde7e210650bf Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Jun 13 17:39:42 2013 +0000 Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" This reverts commit 4597594c61add43725bd207bb498268a058f9cfb. Changing the start of the PCI hole requires a corresponding change in hvmloader and libxc. Revert the commit for the moment. commit c67e216bdf42abfb8505790b2da9562356103976 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 21:06:39 2013 +0200 spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu() Instead of looping over all CPUArchState, use a helper to obtain the desired CPUState. Free the "cpu" variable for PowerPCCPU, to access its CPUPPCState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 05318a858c1212d845d03f924e6ab5f22ab51ab6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 21:03:31 2013 +0200 spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu() Instead of looping over all CPUArchState, use a helper to obtain the desired CPUState directly. Saves a CPUPPCState variable and QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b25a464c6bddbe5d25b7552ba1fec1835269ac84 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:24 2013 +0100 MAINTAINERS: add tcg/aarch64 maintainer Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 51ACA0B2.80800@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1f0803137df68c1fc02ebd0c5ec2e7aad54bbf3b Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 configure: permit compilation on arm aarch64 support compiling on aarch64. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51A5C5ED.90103@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6a91c7c978d77461cc2ed056a2869b90bebded3e Author: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 tcg/aarch64: implement user mode qemu ld/st also put aarch64 in the list of archs that do not need an ldscript. Signed-off-by: Jani Kokkoken <jani.kokkonen@xxxxxxxxxx> Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 51AF40EE.1000104@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f129061c6abfaee2133fcb55c384ec5f99028f62 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 user-exec.c: aarch64 initial implementation of cpu_signal_handler Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 51AF4028.5030504@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 31f1275b90f4803ee5a2900020f21d3320ce62b7 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 tcg/aarch64: implement sign/zero extend operations implement the optional sign/zero extend operations with the dedicated aarch64 instructions. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC9A58.40502@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9c4a059df3501ba53c00724287ef50bba80b5f80 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 tcg/aarch64: implement byte swap operations implement the optional byte swap operations with the dedicated aarch64 instructions. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC9A33.9050003@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 7deea126b24508e8ffa7aa4aecfa6fa97eddc384 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 tcg/aarch64: implement AND/TEST immediate pattern add functions to AND/TEST registers with immediate patterns. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC9A0C.3090303@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 36fac14a6416fe1f8f6f23bfac5f9e662be78d2b Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 tcg/aarch64: improve arith shifted regs operations for arith operations, add SUBS, ANDS, ADDS and add a shift parameter so that all arith instructions can make use of shifted registers. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC998B.7070506@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 4a136e0a6b4ceac177bc2ab29502161553e25ae2 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 tcg/aarch64: implement new TCG target for aarch64 add preliminary support for TCG target aarch64. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 51A5C596.3090108@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1d256776c77c211a6f60a36e700f549f3a544cc6 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 include/elf.h: add aarch64 ELF machine and relocs we will use the 26bit relative relocs in the aarch64 tcg target. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51A5C52A.4080001@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 66926895433a56b657f79d14f371831cf79fd43e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 configure: Drop CONFIG_ATFILE test Nobody uses the CONFIG_ATFILE test now, so just drop it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 1370126121-22975-3-git-send-email-peter.maydell@xxxxxxxxxx commit c0d472b12e8c5ba81c69b28a1088ff52a59933f2 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jun 12 16:20:21 2013 +0100 linux-user: Drop direct use of openat etc syscalls The linux-user syscall emulation layer currently supports the openat family of syscalls via two mechanisms: simply calling the corresponding libc functions, and making direct syscalls. Since glibc has supported these functions since at least glibc 2.5, there's no real need to retain the (essentially untested) direct syscall fallback code, so simply delete it. This allows us to remove some ifdeffery that was attempting to disable provision of some of the syscalls if the host didn't seem to support them, which in some cases was actually wrong (eg where there are several flavours of the syscall and we only need one of them, not necessarily the exact one the guest has, as with the fstatat* calls). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 1370126121-22975-2-git-send-email-peter.maydell@xxxxxxxxxx commit 3307e2363a812e4f68d02ec3b0114a9b510702b7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jun 12 16:20:21 2013 +0100 linux-user: Allow getdents to be provided by getdents64 Newer architectures may only implement the getdents64 syscall, not getdents. Provide an implementation of getdents in terms of getdents64 so that we can run getdents-using targets on a getdents64-only host. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 1370344377-27445-1-git-send-email-peter.maydell@xxxxxxxxxx Message-id: 1370193044-24535-1-git-send-email-peter.maydell@xxxxxxxxxx commit 520b6dd4d03742e285cc68cca308a2a74261c410 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jun 12 16:31:44 2013 +0400 main-loop: do not include slirp/slirp.h, use libslirp.h instead The header slirp/slirp.h is an internal header for slirp, and main-loop.c does not use internals from there. Instead, it uses public functions (slirp_update_timeout(), slirp_pollfds_fill() etc) which are declared in slirp/libslirp.h. Including slirp/slirp.h is somewhat dangerous since it redefines errno on WIN32, so any file including it may misbehave wrt errno. Unfortunately libslirp isn't self-contained, it needs declaration of struct in_addr, which is provided by qemu/sockets.h. Maybe instead of #including qemu/sockets.h before libslirp.h, it is better to make the latter self-contained. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 581fe784c3adf85dc167a47a4a60fd1245a98217 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Jun 4 16:23:37 2013 -0400 libcacard/vscclient: fix leakage of socket on error paths Spotted by Coverity. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e098b45386a86fecc1e573d305a240a2f4aa461d Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Jun 12 17:26:55 2013 +1000 linux-headers: Update to v3.10-rc5 This adds symbols required for PPC64 pseries platform features: 1. sPAPR live migration; 2. in-kernel XICS interrupt controller. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 821696600402e432f6f11ec355efd23f9bc6ce4f Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jun 12 17:26:54 2013 +1000 KVM: PPC: Add dummy kvm_arch_init_irq_routing() The common KVM code insists on calling kvm_arch_init_irq_routing() as soon as it sees kernel header support for it (regardless of whether QEMU supports it). Provide a dummy function to satisfy this. Unlike x86, PPC does not have one default irqchip, so there's no common code that we'd stick here. Even if you ignore the routes themselves, which even on x86 are not set up in this function, the initial XICS kernel implementation will not support IRQ routing, so it's best to leave even the general feature flags up to the specific irqchip code. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 48475e14841f3c3a245bc4c13f9115520c89f2d7 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Jun 12 17:26:53 2013 +1000 KVM: S390: Add dummy kvm_arch_init_irq_routing() The common KVM code insists on calling kvm_arch_init_irq_routing() as soon as it sees kernel header support for it (regardless of whether QEMU supports it). Provide a dummy function to satisfy this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit b3a1c626fc55e1dd87166a7b837e16ff6a1b0071 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Jun 12 17:26:52 2013 +1000 KVM: ARM: Add dummy kvm_arch_init_irq_routing() The common KVM code insists on calling kvm_arch_init_irq_routing() as soon as it sees kernel header support for it (regardless of whether QEMU supports it). Provide a dummy function to satisfy this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit baefb8bf8e4a708c601bbab898a6039cd9cd12e3 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 3 10:58:31 2013 +0200 ivshmem: add missing error exit(2) If the user fails to specify 'chardev' or 'shm' then we cannot continue. Exit right away so that we don't invoke shm_open(3) with a NULL pointer. It would be nice to replace exit(1) with error returns in the PCI device .init() function, but leave that for another patch since exit(1) is currently used elsewhere. Spotted by Coverity. Cc: Cam Macdonell <cam@xxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c5633d998a27502ad8cc10c2d46f91b02555ae7a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:36:22 2013 +0200 hw/xen: Use g_free instead of free and fix potential memory leaks The wrong functions and the missing calls of g_free were reported by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 1e2a1d41f29adc8ae3013612c5a0114a87773773 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:40:52 2013 +0200 target-sparc: Replace free by g_free The wrong function was reported by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dcb0780990f7d579b2d6f9c67ef841a75b3a758b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:24:56 2013 +0200 hw/scsi: Don't increment a boolean value This fixes a warning from cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 909a196d2754388d3b15a34b688095c655792124 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:12:25 2013 +0200 device tree: Fix cppcheck warning Fix this cppcheck warning: Checking device_tree.c... device_tree.c:216: style: Checking if unsigned variable 'r' is less than zero. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8a3e8f7fd8144343f6c83e810b988c1e8a99d50a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 11 13:13:58 2013 +0200 Makefile: Install qemu-img and qemu-nbd man pages only if built When splitting openSUSE's qemu and qemu-linux-user packages we noticed that for linux-user-only builds unrelated man pages got installed. It's surely possible to delete them before packaging, but not installing them in the first place seems more logical. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 047d4e151dd462915786a4fddc12f774d0028af5 Author: Peter Wu <lekensteyn@xxxxxxxxx> Date: Tue Jun 11 10:55:08 2013 +0200 Unbreak -no-quit for GTK, validate SDL options Certain options (-no-frame, -alt-grab, -ctrl-grab) only make sense with SDL. When compiling without SDL, these options (and -no-quit) print an error message and exit qemu. In case QEMU is compiled with SDL support, the three aforementioned options still do not make sense with other display types. This patch addresses that issue by printing a warning. I have chosen not to exit QEMU afterwards because having the option is not harmful and before this patch it would be ignored anyway. By delaying the sanity check from compile-time with some ifdefs to run-time, -no-quit is now also properly supported when compiling without SDL. Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 787ba4f026f54d4fc7787078b896f9c5432c9a9b Author: Peter Wu <lekensteyn@xxxxxxxxx> Date: Mon Jun 10 20:04:43 2013 +0200 gtk: implement -full-screen Aiming for GTK as replacement for SDL, a feature like -full-screen should also be implemented. Bringing the window into full-screen mode is done by activating the "Fullscreen" menu item. This is done after showing the windows to make the cursor and menu hidden. v2: drop -no-frame implementation, use booleans instead of ints and ensure consistency between ui state and menu. Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit b5601df7624b461759651c49ac72a189951780b9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:14:48 2013 +1000 char/serial: serial_ioport_write: Factor out common code These three lines are common to both FIFO and regular mode. Just factor them out to outside the if rather than replicate the same lines inside both if and else. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8e8638fa87ff045f5dadec7342301bf10de776ff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:13:27 2013 +1000 char/serial: Use generic Fifo8 Use the generic Fifo8 helper provided by QEMU, rather than re-implement privately. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7f4f0a227fe0b24c35d0898f9ae7d5909fb51137 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:12:09 2013 +1000 char/serial: cosmetic fixes. Some cosmetic fixes to char/serial fixing some checkpatch errors. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 9e5e2b23d301b1562677c6c115165eed6ce20a68 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Mon Jun 10 14:14:35 2013 +0100 curl: Whitespace only changes. Trivial patch to remove odd whitespace. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 5c9f43363a84fa13861ebc949ea2453cf7ab4ae3 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Jun 6 16:38:03 2013 +0000 intc/xilinx_intc: Use qemu_set_irq Use qemu_set_irq rather than if-elsing qemu_irq_(lower|raise). No functional change, just reduces verbosity. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 45f0b0434d51d4c7e4db05fe721fc61b9b6ef17d Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Jun 6 09:18:44 2013 -0400 configure: Disable host-bsd USB on FreeBSD It hasn't built since FreeBSD 8.x, and is disabled by a patch in the FreeBSD ports tree. FreeBSD is migrating to QEMU's libusb support. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 224ead2690cb89bf8edcca493e3b49857eac0d12 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Jun 6 08:53:35 2013 -0400 configure: remove ${config_host_ld} variable It was only used in one place (and already expanded in one other). Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f3a22014e94dfaacb57277dafce66b41cd994869 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jun 6 01:14:54 2013 +0400 gitignore: unignore *.patch This partially reverts: commit 082369e62c5bbaba89f173c2b803bc24115bb111 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri Mar 22 16:44:13 2013 +0800 gitignore: ignore more files I'm not sure how this went in. The thing is that ignoring *.patch, in my opinion, is just wrong. Especially for downstreams who apply patches for real. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c58e6201fa38191313cd95c5342d3733bd3f612d Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jun 5 19:08:59 2013 +0400 qemu-char: remove a few needless #includes This removes <syslog.h> since we don't use syslogging, and removes second, solaris-specific, include of <net/if.h> (which is included in a common part of the file) Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 11ed09cf0753c1288a97f00138fc4534135442bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 21:54:03 2013 +0200 memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting Pass any Error out into dump_init() and have it actually stop on errors. Whether it is unsupported on a certain CPU can be checked by looking for a NULL CPUClass::get_memory_mapping field. Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> [AF: Reverted changes to CPU loops] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1b3509ca5bbd8e7d2be92ac42196a3ee2e31cb03 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 16:48:29 2013 +0200 dump: Abstract dump_init() with cpu_synchronize_all_states() Instead of calling cpu_synchronize_state() for each CPU, call the existing cpu_synchronize_all_states() helper. Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6db297ea361f4e03c096a0f28f26b060f0060de5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 16:03:46 2013 +0200 cpu: Change default for CPUClass::get_paging_enabled() qemu_get_guest_memory_mapping() uses cpu_paging_enabled() to determine whether to use cpu_get_memory_mapping() to return mappings or whether to fall back to a simple identity map. Since by default CPUClass::get_memory_mapping() is not implemented, change the default to false to use the identity map by default. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2a78636bd204e389068d203473ec76558083b44b Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 11:54:40 2013 +0200 dump: Drop qmp_dump_guest_memory() stub and build for all targets qmp_dump_guest_memory() calls dump_init() and returns an Error when cpu_get_dump_info() returns an error, as done by the stub. So there is no need to have a stub for qmp_dump_guest_memory(). Enable the documentation of the always-present dump-guest-memory command. That way we can drop CONFIG_HAVE_CORE_DUMP and leave configure completely out of the picture for target CPU features. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c22d8e0448aecb48a91f3936419ad1b63fbb4a6a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 14:53:32 2013 +0200 memory_mapping: Drop qemu_get_memory_mapping() stub dump.c:dump_init() never checked for the return code anyway. If paging is not enabled, it will fall back to an identity map. If paging is enabled and getting memory mapping list is not implemented, qemu_get_guest_memory_mapping() will return an error. Since the targets not implementing memory mapping also don't implement dump support, we will not reach this code today and can worry about changing cpu_paging_enabled() default when the need arises. This allows us to drop CONFIG_HAVE_GET_MEMORY_SUPPORT. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a23bbfda75118eb738acce84afd64965934828f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 13:52:01 2013 +0200 cpu: Turn cpu_get_memory_mapping() into a CPUState hook Change error reporting from return value to Error argument. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> [AF: Fixed cpu_get_memory_mapping() documentation] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6d4d3ae77dbb756d454c2deb2ef844b0cc7bde7b Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 14:20:15 2013 +0200 memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h This will avoid issues with hwaddr and ram_addr_t when including sysemu/memory_mapping.h for CONFIG_USER_ONLY, e.g., from qom/cpu.h. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 444d55907871f88276a654fc7fdc8c7db95f4b59 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 13:28:38 2013 +0200 cpu: Turn cpu_paging_enabled() into a CPUState hook Relocate assignment of x86 get_arch_id to have all hooks in one place. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c51a944b7505ba827adc897d5452d2b54dbf86bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 16:57:52 2013 +0200 monitor: Simplify do_inject_mce() with qemu_get_cpu() Avoids an open-coded CPU loop. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 31ccdde298d98b08526dc23059071c9086dec6c2 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jun 3 18:23:27 2013 +0200 target-i386: cpu: Fix potential buffer overrun in get_register_name_32() Spotted by Coverity, x86_reg_info_32[] is CPU_NB_REGS32 elements long, so accessing x86_reg_info_32[CPU_NB_REGS32] will be one element off array. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6b11322e0f724eb0649fdc324a44288b783023ad Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 27 17:23:55 2013 -0300 target-i386: Set level=4 on Conroe/Penryn/Nehalem The CPUID level value on Conroe, Penryn, and Nehalem are too low. This causes at least one known problem: the -smp "threads" option doesn't work as expect if level is < 4, because thread count information is provided to the guest on CPUID[EAX=4,ECX=2].EAX Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ffce9ebbb69363dfe7605585cdad58ea3847edf4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 27 17:23:54 2013 -0300 target-i386: Update model values on Conroe/Penryn/Nehalem CPU models The CPUID model values on Conroe, Penryn, and Nehalem are too conservative and don't reflect the values found on real Conroe, Penryn, and Nehalem CPUs. This causes at least one known problems: Windows XP disables sysenter when (family == 6 && model <= 2), but Skype tries to use the sysenter instruction anyway because it is reported as available on CPUID, making it crash. This patch sets appropriate model values that correspond to real Conroe, Penryn, and Nehalem CPUs. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 45053fdef54fa9aac1cc9b09f2a1d08af90b7b43 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 27 17:23:53 2013 -0300 pc: Create pc-*-1.6 machine-types Some CPU model fixes are going to be included and they will require compatibility properties in the pc-*-1.5 machine-types. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8de433cb0820dc1f387a2d580d255744aacd60cc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu May 30 17:09:34 2013 +0200 pc: Fix crash when attempting to hotplug CPU with negative ID QMP command "{ 'execute': 'cpu-add', 'arguments': { 'id': -1 }}" may cause QEMU SIGSEGV at: piix4_cpu_hotplug_req () ... g->sts[cpu_id / 8] |= (1 << (cpu_id % 8)); ... Since for PC in current implementation id should be in range [0...maxcpus) and maxcpus is already checked, add check for lower bound and error out on incorrect value. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 88f62c2b1deb466749e340a8a241975c509bd9b6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 10:41:20 2013 +0200 dump: Move stubs into libqemustub.a This allows us to drop CONFIG_NO_CORE_DUMP with its indirect dependency on CONFIG_HAVE_CORE_DUMP. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 7 15:19:53 2013 -0500 qemu-char: don't issue CHR_EVENT_OPEN in a BH When CHR_EVENT_OPENED was initially added, it was CHR_EVENT_RESET, and it was issued as a bottom-half: 86e94dea5b740dad65446c857f6959eae43e0ba6 Which we basically used to print out a greeting/prompt for the monitor. AFAICT the only reason this was ever done in a BH was because in some cases we'd modify the chr_write handler for a new chardev backend *after* the site where we issued the reset (see: 86e94d:qemu_chr_open_stdio()) At some point this event was renamed to CHR_EVENT_OPENED, and we've maintained the use of this BH ever since. However, due to 9f939df955a4152aad69a19a77e0898631bb2c18, we schedule the BH via g_idle_add(), which is causing events to sometimes be delivered after we've already begun processing data from backends, leading to: known bugs: QMP: session negotation resets with OPENED event, in some cases this is causing new sessions to get sporadically reset potential bugs: hw/usb/redirect.c: can_read handler checks for dev->parser != NULL, which may be true if CLOSED BH has not been executed yet. In the past, OPENED quiesced outstanding CLOSED events prior to us reading client data. If it's delayed, our check may allow reads to occur even though we haven't processed the OPENED event yet, and when we do finally get the OPENED event, our state may get reset. qtest.c: can begin session before OPENED event is processed, leading to a spurious reset of the system and irq_levels gdbstub.c: may start a gdb session prior to the machine being paused To fix these, let's just drop the BH. Since the initial reasoning for using it still applies to an extent, work around that by deferring the delivery of CHR_EVENT_OPENED until after the chardevs have been fully initialized, toward the end of qmp_chardev_add() (or some cases, qemu_chr_new_from_opts()). This defers delivery long enough that we can be assured a CharDriverState is fully initialized before CHR_EVENT_OPENED is sent. Also, rather than requiring each chardev to do an explicit open, do it automatically, and allow the small few who don't desire such behavior to suppress the OPENED-on-init behavior by setting a 'explicit_be_open' flag. We additionally add missing OPENED events for stdio backends on w32, which were previously not being issued, causing us to not recieve the banner and initial prompts for qmp/hmp. Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1370636393-21044-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b62cd318daaa3d94c150d87dc2c8466b9463cef5 Merge: 97f31cb... 9914fbe... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 10 11:37:47 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino (2) and Marcelo Tosatti (1) # Via Luiz Capitulino * luiz/queue/qmp: correct RTC_CHANGE_EVENT description (v2) MAINTAINERS: split Monitor (QMP/HMP) entry MAINTAINERS: new maintainers for qapi-schema.json Message-id: 1370634855-18337-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 97f31cbc71fc13b3091893313a555c3cf1ecb798 Merge: f7da9c1... c87826a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 10 11:37:39 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Jason Wang (1) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/net: tap: fix NULL dereference when passing invalid parameters to tap vmxnet3: fix NICState cleanup Message-id: 1370613288-14933-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7da9c17c114417911ac2008d0401084a5030391 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 7 13:24:17 2013 -0500 gtk: use better icon The current icon looks pretty terrible rendered in Gnome. This switches to a transparent SVG which looks much nicer. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4039736e6f7867a4f937145afec7ab56531c0be4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sun Jun 2 16:17:49 2013 +0100 softfloat: Fix shift128Right for shift counts 64..127 shift128Right would give the wrong result for a shift count between 64 and 127. This was never noticed because all of our uses of this function are guaranteed not to use shift counts in this range. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370186269-24353-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc7d0e66741724216cc104034838eb34f0e94b8d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 17:06:55 2013 +0200 gdbstub: let the debugger resume from guest panicked state While in general we forbid a "continue" from the guest panicked state, it makes sense to have an exception for that when continuing in the debugger. Perhaps the guest entered that state due to a bug, for example, and we want to continue no matter what. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Message-id: 1370272015-9659-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26ac7a31fbf5522d2ca3f0e2e5b5c8e915701f66 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 17:06:54 2013 +0200 gdbstub: fix for commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc This commit used the wrong check to prevent an assertion failure. After this commit, you need to start a guest in the monitor, you cannot use anymore the "c" command in the debugger. This is undesirable. The commit's aim was to prevent a restart after a KVM internal error or something like that; use runstate_needs_reset() for that. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Message-id: 1370272015-9659-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4f293bd6e53739e089f33b458f70a9c4ac136b92 Author: Wendy Liang <jliang@xxxxxxxxxx> Date: Fri Jun 7 13:05:38 2013 +1000 xilinx_axidma: Do not set DMA .notify to NULL after notify If a stream notify function is not ready, it may re-populate the notify call- back to indicate it should be re-polled later. This break in this usage, as immediately following the notify() call, .notify is set to NULL. reverse the ordering of the notify call and NULL assignment accordingly. [PC: Reworked commit message] Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 4e298e46ddcbb3a2a653a582b54557b75180c625 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 9 22:56:20 2013 +0200 xilinx_axienet: Fix bit mask code Obviously the code wanted to mask the lower bits but failed to do so because of a missing "<". cppcheck detected a conditional expression which was always true (1 < 7). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9914fbedf21f1ffd45af67c8f3fe8a2e8f7e7785 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Fri Jun 7 16:52:43 2013 -0300 correct RTC_CHANGE_EVENT description (v2) Fix RTC_CHANGE event description to match implementation. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 8899b4ae2d792967b7655d3081fb2994426e4658 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Jun 3 11:14:26 2013 -0400 MAINTAINERS: split Monitor (QMP/HMP) entry This entry doesn't reflect reality for a few years now. This commit splits it into Human Monitor (HMP), QAPI and QMP. Markus is dropped as a maintainer. This is what we have been for the last few years. Also, it's going to help me to offload some of this work to someone else in the near future. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Markus Armbruster <armbru@xxxxxxxxxx> commit 7810d29198790a805936e7a2f44c055184a56b0a Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Jun 3 11:11:53 2013 -0400 MAINTAINERS: new maintainers for qapi-schema.json I'm facing two problems lately wrt QMP patch review: increasingly lack of bandwidth and lack of background in so many different areas that are getting new QMP commands almost every week. In order to help me mitigate this problem, I'm adding Eric and Markus (besides me) as maintainers of the qapi-schema.json file. Markus has been an old timer reviewer. Eric is being the most active and prolific reviewer of QMP patches for some time now. I believe Markus and Eric will keep doing their work as before, but starting now I'll require the ACK of at least one of them before appling a patch/series that touches the qapi-schema.json file. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Markus Armbruster <armbru@xxxxxxxxxx> commit c87826a878be05208c3906eb9d5e1f37cff5e98e Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Jun 4 13:18:17 2013 +0800 tap: fix NULL dereference when passing invalid parameters to tap This patch forbid the following invalid parameters to tap: 1) fd and vhostfds were specified but vhostfd were not specified 2) vhostfds were specified but fds were not specified 3) fds and vhostfd were specified For 1 and 2, net_init_tap_one() will still pass NULL as vhostfdname to monitor_handle_fd_param(), which may crash the qemu. Also remove the unnecessary has_fd check. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Stefan Hajnoczi <shajnocz@xxxxxxxxxx> Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7387de16d0e4d2988df350926537cd12a8e34206 Merge: b8a75b6... e73fe2b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 7 08:40:52 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (19) and others # Via Stefan Hajnoczi * stefanha/block: (26 commits) hmp: add parameters device and -v for info block hmp: show ImageInfo in 'info block' qmp: add ImageInfo in BlockDeviceInfo used by query-block block: add image info query function bdrv_query_image_info() block: add snapshot info query function bdrv_query_snapshot_info_list() ide-test: Add FLUSH CACHE test case ide: Set BSY bit during FLUSH ide-test: Add enum value for DEV blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events Make qemu-io commands available in HMP qemu-io: Use the qemu version for -V qemu-io: Interface cleanup qemu-io: Move remaining helpers from cmd.c qemu-io: Move command_loop() and friends qemu-io: Move functions for registering and running commands qemu-io: Move qemu_strsep() to cutils.c qemu-io: Move 'quit' function qemu-io: Move 'help' function qemu-io: Factor out qemuio_command qemu-io: Split off commands to qemu-io-cmds.c ... Message-id: 1370606325-10680-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b8a75b6093309a43f9837bc2ce63bcf15a7b305f Merge: 8819c10... d1db1fa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 7 08:40:24 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Fix unsetting of indicators. s390x/css: Fix concurrent sense. Message-id: 1370592676-22532-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fef7fbc92496f5f6d2b7395263830bce15ebf410 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 7 14:45:17 2013 +0200 qdev: Drop FROM_QBUS() macro Use QOM cast macros I2C_BUS(), SSI_BUS(), PCI_BUS() instead. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4a17cc4f285d7ffe41847bf728cd88c736237416 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 7 13:49:13 2013 +0200 isa: QOM'ify ISADevice Rename its parent field and use DEVICE() where necessary. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2ae0e48d5fd2cb7c5bc5c392edf2dc33ac2959d0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 7 14:11:07 2013 +0200 isa: QOM'ify ISABus Rename its parent field and use ISA_BUS() where necessary. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d2628b7d18521dacd3d4d246602e9bb3fc2a43dd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 22:54:47 2012 +0100 i8259: Convert PICCommonState to use QOM realizefn Instead of having the parent provide PICCommonClass::init, let the children override DeviceClass::realize themselves. This pushes the responsibility of saving and calling the parent's realizefn to the children. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 49fdb0c1c42f02ab163206f34fcf59bb0815afa2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 22:38:13 2012 +0100 kvm/i8259: QOM'ify some more Introduce type constant. Prepares for PIC realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d1eebf4e3df8882d7be6377e1251123b6c16b9b0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 22:35:49 2012 +0100 i8259: QOM'ify some more Introduce type constant. Prepares for PIC realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a15d09127b104d1c35fc22bdd65263fe62462b30 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 18:47:58 2012 +0100 i8254: Convert PITCommonState to QOM realizefn Instead of having the parent provide PITCommonClass::init, let the children override DeviceClass::realize themselves. This pushes the responsibility for saving and calling the parent's realizefn to the children. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 58cd986422d7353e7fac56969ac59daab3cdca67 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 18:13:38 2012 +0100 kvm/i8254: QOM'ify some more Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for PIT realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3afe7e14a42309578d324df5fe1b303a496a8466 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 18:05:53 2012 +0100 i8254: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Prepares for PIT realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e73fe2b46c38776288415ce7bc8ba3fcd23721c4 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:28:01 2013 +0800 hmp: add parameters device and -v for info block With these parameters, user can choose the information to be showed, to avoid message flood in the monitor. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bd093a365e8d1437f437a48ddca3ed08283b3090 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:28:00 2013 +0800 hmp: show ImageInfo in 'info block' Now human monitor can show image details, include internal snapshot and backing chain info for every block device. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 553a7e871822d933beaefbd596f0e4eed1614373 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:27:59 2013 +0800 qmp: add ImageInfo in BlockDeviceInfo used by query-block Now image info will be retrieved as an embbed json object inside BlockDeviceInfo, backing chain info and all related internal snapshot info can be got in the enhanced recursive structure of ImageInfo. New recursive member *backing-image is added to reflect the backing chain status. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 43526ec8d1395fe4efbed15e9764b64641b95bcc Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:27:58 2013 +0800 block: add image info query function bdrv_query_image_info() This patch adds function bdrv_query_image_info(), which will retrieve image info in qmp object format. The implementation is based on the code moved from qemu-img.c, but uses block layer function to get snapshot info. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fb0ed4539c6f02fa9e5a3cf9df2549713451eeca Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:27:57 2013 +0800 block: add snapshot info query function bdrv_query_snapshot_info_list() This patch adds function bdrv_query_snapshot_info_list(), which will retrieve snapshot info of an image in qmp object format. The implementation is based on the code moved from qemu-img.c with modification to fit more for qmp based block layer API. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit db895a1e6a97e919f9b86d60c969377357b05066 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 02:37:14 2012 +0100 isa: Use realizefn for ISADevice Drop ISADeviceClass::init and the resulting no-op initfn and let children implement their own realizefn. Adapt error handling. Split off an instance_init where sensible. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a3dcca567a1d4a5c79fb9c8fe2d9a21a4a7cebd5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 16:40:02 2013 +0200 cs4231a: QOM'ify some more Introduce type constant and cast macro. Replace reset hook with DeviceClass::reset callback. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 11c7549d836b3d3a4ccd903bbfdbdc942b9add52 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 16:02:26 2013 +0200 gus: QOM'ify some more Add type constant and cast macro. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 15:17:58 2013 +0200 ide-test: Add FLUSH CACHE test case This checks in particular that BSY is set while the flush request is in flight. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f68ec8379e88502b4841a110c070e9b118d3151c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 5 15:17:57 2013 +0200 ide: Set BSY bit during FLUSH The implementation of the ATA FLUSH command invokes a flush at the block layer, which may on raw files on POSIX entail a synchronous fdatasync(). This may in some cases take so long that the SLES 11 SP1 guest driver reports I/O errors and filesystems get corrupted or remounted read-only. Avoid this by setting BUSY_STAT, so that the guest is made aware we are in the middle of an operation and no ATA commands are attempted to be processed concurrently. Addresses BNC#637297. Suggested-by: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c27d565604038c1572b16dd1cd06e277e6ef02e2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 15:17:56 2013 +0200 ide-test: Add enum value for DEV Get rid of the magic number. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bf736fe34caba0688c9095c31b9d097ea15c1296 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 15:17:55 2013 +0200 blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 587da2c39c9ace168f4d01fa446a54ae998a2553 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:41 2013 +0200 Make qemu-io commands available in HMP It was decided to not make this command available in QMP in order to make clear that this is not supposed to be a stable API and should be used only for testing and debugging purposes. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02da386a2d7a020e80b0aed64769efa9dd42072a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:40 2013 +0200 qemu-io: Use the qemu version for -V Always printing 0.0.1 and never updating the version number wasn't very useful. qemu-io is released with qemu, so using the same version number makes most sense. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3d21994f9c511cb63220fef5abea164b83fbb997 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:39 2013 +0200 qemu-io: Interface cleanup Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0b613881ae8fc59359b3d91e666fea6c9b1e731b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:38 2013 +0200 qemu-io: Move remaining helpers from cmd.c Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d1174f13e78e2f43f7ae33d59b62b0b94468c8db Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:37 2013 +0200 qemu-io: Move command_loop() and friends Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c2cdf5c5892165cbe7d3567bff5930521bc52669 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:36 2013 +0200 qemu-io: Move functions for registering and running commands Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a38ed811474e953371f848233208c2026c2d1195 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:35 2013 +0200 qemu-io: Move qemu_strsep() to cutils.c Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e681be7eca0143fe7259ce8233fe5dd8898d072f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:34 2013 +0200 qemu-io: Move 'quit' function This one only makes sense in the context of the qemu-io tool, so move it to qemu-io.c. Adapt coding style and register it like other commands. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f18a834a92f0b490cefeb71410f3f25b969d336f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:33 2013 +0200 qemu-io: Move 'help' function No reason to treat it different from other commands. Move it to qemu-io-cmds.c, adapt the coding style and register it like any other command. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dd5832967ac3fe96bd5bf9f199639176998ead69 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:32 2013 +0200 qemu-io: Factor out qemuio_command It's duplicated code. Move it to qemu-io-cmds.c because it's not dependent on any static data of the qemu-io tool. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 797ac58cb2093ab9192d8998a1fef85d87cc8661 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:31 2013 +0200 qemu-io: Split off commands to qemu-io-cmds.c This is the implementation of all qemu-io commands that make sense to be called from the qemu monitor, i.e. everything except open, close and quit. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 734c3b85cb72d264ad2b38a87f30304e05de2cb1 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:30 2013 +0200 qemu-io: Don't use global bs in command implementations Pass in the BlockDriverState to the command handlers instead of using the global variable. This is an important step to make the commands usable outside of qemu-io. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cf49a6a00c19cabf4006d4f82bef26345043e7b5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:29 2013 +0200 qemu-io: Handle cvtnum() errors in 'alloc' Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b6e356aa25c81d928e1c463292048d29cf25f04e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:28 2013 +0200 qemu-io: Make cvtnum() a wrapper around strtosz_suffix() No reason to implement the same thing multiple times. A nice side effect is that fractional numbers like 0.5M can be used in qemu-io now. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5e00984aef7c1c317e27c0e8acf66526513c770f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:27 2013 +0200 cutils: Support 'P' and 'E' suffixes in strtosz() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a23818f4ff3d7981f49453b739f589e4205930b5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:26 2013 +0200 qemu-io: Remove unused args_command The original intention seems to be something with handling multiple images at once, but this has never been implemented and the only function ever registered is implemented to make everything behave like a "global" command. Just do that unconditionally now. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d1db1fa8dfcea9c62643f624f2a07d2fd375ce45 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Jun 5 17:13:05 2013 +0200 virtio-ccw: Fix unsetting of indicators. Interpretation of the ccws to register (configuration) indicators contained a thinko: We want to disallow reading from 0, but setting the indicator pointer to 0 is fine. Let's fix the handling for CCW_CMD_SET{,_CONF}_IND. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 8312976e73fce9689ab831c1da565ec413680cff Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Jun 5 16:54:05 2013 +0200 s390x/css: Fix concurrent sense. Fix an off-by-one error when indicating availablity of concurrent sense data. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 293c51a6ee369228633a8428ab689f14c045ff98 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Jun 5 10:33:14 2013 +0200 blockdev: reset werror/rerror on drive_del Paolo Bonzini <pbonzini@xxxxxxxxxx> suggested the following test case: 1. Launch a guest and wait at the GRUB boot menu: qemu-system-x86_64 -enable-kvm -m 1024 \ -drive if=none,cache=none,file=test.img,id=foo,werror=stop,rerror=stop -device virtio-blk-pci,drive=foo,id=virtio0,addr=4 2. Hot unplug the device: (qemu) drive_del foo 3. Select the first boot menu entry Without this patch the guest pauses due to ENOMEDIUM. The guest is stuck in a continuous pause loop since the I/O request is retried and fails immediately again when the guest is resumed. With this patch the error is reported to the guest. Note that this scenario actually happens sometimes during libvirt disk hot unplug, where device_del is followed by drive_del. I/O may still be submitted to the drive after drive_del if the guest does not process the PCI hot unplug notification. Reported-by: Dafna Ron <dron@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 56bbc2f967ce185fa1c5c39e1aeb5b68b26242e9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jun 4 09:53:19 2013 -0700 tcg: Remove redundant tcg_target_init checks We've got a compile-time check for the condition in exec/cpu-defs.h. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e85ef5381a512d8f781b862e8b5f9d4cbf0ba494 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jun 4 09:51:59 2013 -0700 tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS Rather than a hand-coded version of the same thing. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3ffee3cd5fb29de2115bdcbde0a02f47ce69a24c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jun 4 14:47:26 2013 +0200 vmxnet3: fix NICState cleanup Use qemu_del_nic() instead of qemu_del_net_client() to correctly free the entire NICState. Cc: qemu-stable@xxxxxxxxxx Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8819c10b5d55d537d59a0ffd5d623f348fc36c47 Merge: a341619... 9cdf79d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 4 14:58:58 2013 -0500 Merge remote-tracking branch 'sstabellini/xen_fixes_20130603' into staging * sstabellini/xen_fixes_20130603: xen: use pc_init_pci instead of pc_init_pci_no_kvmclock xen: remove xen_vcpu_init xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional) xen_machine_pv: do not create a dummy CPU in machine->init main_loop: do not set nonblocking if xen_enabled() xen: simplify xen_enabled Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a3416197447e7846a927b6ccb4f1edb3a1982443 Merge: e47dccc... 5b91704... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 4 09:26:49 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (6) and others # Via Kevin Wolf * kwolf/for-anthony: block: dump snapshot and image info to specified output block: move qmp and info dump related code to block/qapi.c block: move snapshot code in block.c to block/snapshot.c block: drop bs_snapshots global variable qemu-iotests: make create_image() common qemu-iotests: make compare_images() common qemu-iotests: make cancel_and_wait() common qemu-iotests: make assert_no_active_block_jobs() common block: add block driver read only whitelist qemu-iotests: fix 054 cluster size help output Message-id: 1370349940-4703-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e47dccc64b6ca570e4db96fd5fdb3bef251eb559 Merge: 1713924... c3c4fe3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 4 09:26:29 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci: misc cleanups This includes some pci-related cleanups, and fw cfg cleanups which will be useful for on-going pci related work. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Sun 02 Jun 2013 02:46:52 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (8) and Laszlo Ersek (1) # Via Michael S. Tsirkin * mst/tags/for_anthony: pvpanic: use FWCfgState explicitly fw_cfg: fw_cfg is a singleton fw_cfg: add API to find FW cfg object fw_cfg: move typedef to qemu/typedefs.h refer to FWCfgState explicitly apic: rename apic specific bitopts firmware_abi: move to include/hw/nvram/ dec.c - move to pci-bridge q35: set fw_name Message-id: 1370202787-3712-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5b91704469c0f801e0219f26458356872c4145ab Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Sat May 25 11:09:45 2013 +0800 block: dump snapshot and image info to specified output bdrv_snapshot_dump() and bdrv_image_info_dump() do not dump to a buffer now, some internal buffers are still used for format control, which have no chance to be truncated. As a result, these two functions have no more issue of truncation, and they can be used by both qemu and qemu-img with correct parameter specified. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f364ec65b56b69c55b674cb6560aa1fbbea9e013 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Sat May 25 11:09:44 2013 +0800 block: move qmp and info dump related code to block/qapi.c This patch is a pure code move patch, except following modification: 1 get_human_readable_size() is changed to static function. 2 dump_human_image_info() is renamed to bdrv_image_info_dump(). 3 in qmp_query_block() and qmp_query_blockstats, use bdrv_next(bs) instead of direct traverse of global array 'bdrv_states'. 4 collect_snapshots() and collect_image_info() are renamed, unused parameter *fmt in collect_image_info() is removed. 5 code style fix. To avoid conflict and tip better, macro in header file is BLOCK_QAPI_H instead of QAPI_H. Now block.h and snapshot.h are at the same level in include path, block_int.h and qapi.h will both include them. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit de08c606f9ddafe647b6843e2b10a6d6030b0fc0 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Sat May 25 11:09:43 2013 +0800 block: move snapshot code in block.c to block/snapshot.c All snapshot related code, except bdrv_snapshot_dump() and bdrv_is_snapshot(), is moved to block/snapshot.c. bdrv_snapshot_dump() will be moved to another file later. bdrv_is_snapshot() is not related with internal snapshot. It also fixes small code style errors reported by check script. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 29d782710f87f01991bfc85cd9bef7d15280a5e2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sat May 25 11:09:42 2013 +0800 block: drop bs_snapshots global variable The bs_snapshots global variable points to the BlockDriverState which will be used to save vmstate. This is really a savevm.c concept but was moved into block.c:bdrv_snapshots() when it became clear that hotplug could result in a dangling pointer. While auditing the block layer's global state I came upon bs_snapshots and realized that a variable is not necessary here. Simply find the first BlockDriverState capable of internal snapshots each time this is needed. The behavior of bdrv_snapshots() is preserved across hotplug because new drives are always appended to the bdrv_states list. This means that calling the new find_vmstate_bs() function is idempotent - it returns the same BlockDriverState unless it was hot-unplugged. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2499a096a2427f0a5c71750c9f79cf2d2d2d60f4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:37 2013 +0200 qemu-iotests: make create_image() common Both 030 and 041 use create_image(). Move it to iotests.py. Also drop ImageStreamingTestCase since the class now has no methods. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3a3918c396c5caeab35a7f51af905172a13d996a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:36 2013 +0200 qemu-iotests: make compare_images() common The iotests.compare_images() function returns True if two image files have the identical data. Previously this was implemented by converting images to raw and then comparing their contents using Python. Since "qemu-img compare" is now available and is more efficient, switch to it. This function will be reused by the 'drive-backup' test case. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2575fe16d257a1fb5f452391b868b3c3263a9aca Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:35 2013 +0200 qemu-iotests: make cancel_and_wait() common The cancel_and_wait() function has been duplicated in 030 and 041. Move it into iotests.py and let it return the event so tests can perform additional asserts. Note that 041's cancel_and_wait(wait_ready=True) is replaced by wait_ready_and_cancel(), which uses the new wait_ready() and cancel_and_wait() underneath. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ecc1c88efddb376687084c3387c38b3a458c5892 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:34 2013 +0200 qemu-iotests: make assert_no_active_block_jobs() common Tests 030 and 041 both use query-block-jobs to check whether any block jobs are active. Make this code common so that 'drive-backup' and other new feature tests will be able to reuse it. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b64ec4e4ade581d662753cdeb0d7e0e27aafbf81 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Wed May 29 19:35:40 2013 +0800 block: add block driver read only whitelist We may want to include a driver in the whitelist for read only tasks such as diagnosing or exporting guest data (with libguestfs as a good example). This patch introduces a readonly whitelist option, and for backward compatibility, the old configure option --block-drv-whitelist is now an alias to rw whitelist. Drivers in readonly list is only permitted to open file readonly, and returns -ENOTSUP for RW opening. E.g. To include vmdk readonly, and others read+write: ./configure --target-list=x86_64-softmmu \ --block-drv-rw-whitelist=qcow2,raw,file,qed \ --block-drv-ro-whitelist=vmdk Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8ddd08c5d1415a71f21157686d43f48ff14992b6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 11:19:51 2013 +0200 qemu-iotests: fix 054 cluster size help output Commit f3f4d2c09b9cf46903ba38425ec46c44185162bd added a hint to increase the cluster size when a large image cannot be created. Test 054 now has outdated output and fails because the golden output does not match. This patch updates the 054 golden output. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 171392406d8e230d62e5ebf4805f71460854b8ec Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 15:37:23 2013 -0500 gtk: don't use g_object_unref on GdkCursor It's not a GObject. Cc: Gerd Hoffman <kraxel@xxxxxxxxxx> Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> --- v1 -> v2 - Fix summary to agree with code (Peter) commit 41686a960805ed561158c7e4809f0c9f92f1d8ec Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 15:36:51 2013 -0500 gtk: don't resize window when enabling scaling Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 651eb0f41b793021f7de672de78892def5819fb9 Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Date: Fri May 31 16:52:18 2013 +0800 fix double free the memslot in kvm_set_phys_mem Luiz Capitulino reported that guest refused to boot and qemu complained with: kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument It is caused by commit 235e8982ad that did double free for the memslot so that the second one raises the -EINVAL error Fix it by reset memory size only if it is needed Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 25b483381adf4144bad3cf3f433b4658da5e15bb Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon May 20 16:16:16 2013 +0100 configure: Report unknown target names more helpfully If the user specifies a target list themselves, check each entry to make sure it's a target we recognise. This allows us to print a helpful error message, rather than falling through (where we would probably eventually end up hitting the uninformative "ERROR: Unsupported target CPU"). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1369062976-301-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e92f823b67d87aa96df01b0cb01f81ac71ec5e3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon May 20 16:16:15 2013 +0100 configure: Autogenerate default target list Autogenerate the default target list based on what files exist in default-configs; this allows us to remove one of the places that has to be kept up to date with a complete list of every target we support. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1369062976-301-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0ded1fe5f36765b97b15a7afebb6d04ddcc4771c Merge: 8b779b3... 95669e6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 13:24:25 2013 -0500 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging # By Peter Crosthwaite (20) and others # Via Peter Maydell * pmaydell/arm-devs.next: (24 commits) i.MX: Improve EPIT timer code. exynos4210.c: register rom_mem for memory migration hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region i.MX: split GPT and EPIT timer implementation sd/sd.c: Fix "inquiry" ACMD41 sd/sdhci:ADMA: fix interrupt sd/sdhci.c: Fix bdata_read DPRINT message sd/sdhci: Fix Buffer Write Ready interrupt sd/sdhci.c: Only reset data_count on new commands xilinx_spips: lqspi: Fix byte/misaligned access xilinx_spips: lqspi: Push more data to tx-fifo xilinx_spips: Multiple debug verbosity levels xilinx_spips: Debug msgs for Snoop state xilinx_spips: Fix striping behaviour xilinx_spips: Fix CTRL register RW bits xilinx_spips: lqspi: Dont touch config register xilinx_spips: Implement automatic CS xilinx_spips: Add automatic start support xilinx_spips: Trash LQ page cache on mode change xilinx_spips: Fix QSPI FIFO size ... Message-id: 1370277021-26129-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95669e69848eda87861e1ec3016562101542f543 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Mon Jun 3 17:17:46 2013 +0100 i.MX: Improve EPIT timer code. * Unify function and type naming * use dynamic cast whenever possible * simplify Debug printf. * use new style device intialization. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Message-id: 1369839656-24466-1-git-send-email-jcd@xxxxxxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6539ed21b1d5c93e8add2f7b2bf9856889e6d1ac Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Date: Mon Jun 3 17:17:46 2013 +0100 exynos4210.c: register rom_mem for memory migration Even if we do not register newly created RAM MemoryRegion for migration with vmstate_register_ram_global() function, ram_save_setup() still saves this region to snapshot file with empty idstr=="". Consequently this results in error during VM loading in ram_load(). Register rom_mem for migration. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Message-id: 1368199981-45292-3-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 11a5e48249d8c34211065c25ddf222f031a0338e Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Date: Mon Jun 3 17:17:46 2013 +0100 hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region Exynos SoC was misusing memory_region_init_ram_ptr(): this interface can safely be used only for memory regions which size is a multiple of target page size. Change chipid_and_omr memory to an mmio region to fix this. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Message-id: 1368199981-45292-2-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a50c0d6f72830ca3016e63ded6ccfd4e951c172f Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 i.MX: split GPT and EPIT timer implementation There is no common code between these 2 timer implementation. So it is better to split them. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1368990197-19694-1-git-send-email-jcd@xxxxxxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 37ab4a566816f518fb958ea49734d51d1ccbd227 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 sd/sd.c: Fix "inquiry" ACMD41 QEMU models two (of the three) ACMD41 has two modes, "inquiry" and "first". The selection logic for which of the two is incorrect - it compares != 0 for the entire argument value rather than only bits 23:0 as per the spec. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 3ef0a7fd1b2f3ebb23b4fdeabcc14caf3fad6d71.1369622254.git.peter.crosthwaite@xxxxxxxxxx Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1d32c26f28d6e25f447b8ba40440c7d228ed4006 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 sd/sdhci:ADMA: fix interrupt The end of transfer check was occurring and potentially returning before the interrupt flag was checked. This means the interrupt will be missed if it occurs on the last packet. Fix by checking for the interrupt before checking for the end of transfer. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 9969ec154777957ec738fc4e539d68e7494d0081.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 677ff2ae660b3a55f936a8836513cbab185f6e4f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 sd/sdhci.c: Fix bdata_read DPRINT message This message was printing out the data in decimal only, which is not very friendly to the debugging developer. Add hex variant in parenthesis to make it consistent with other similar messages in this module. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: d624179649137832eaa8caa263ef9589b4395d5e.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit dcdb4cd8507d93ecad10ae54b28d9609453c0312 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 sd/sdhci: Fix Buffer Write Ready interrupt This interrupt is not risen after the last block is written to sd. It is mutually exclusive with the end of transfer conditions. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 7ca9fd3e03ce1bec94aff08f607c15a0ec3d3371.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 656f416c65d8ddbfd17500676865f0ac8f960801 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 sd/sdhci.c: Only reset data_count on new commands The data_count variable was being reset on every transfer, including DMA transfer resumptions. This is incorrect, it should only be set on a new command. Manifests as a bug when using ADMA and there is a timer delay between ADMA frames where the fifo is left in a non empty state. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 15a98609cc32315211b0963091a8efd67522e160.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b0b7ae6259e96e775315357c813b74e85637bf32 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 xilinx_spips: lqspi: Fix byte/misaligned access The LQSPI bus attachment supports byte/halfword and misaligned accesses. Fixed. Refactored the LQSPI cache to be byte-wise instead of word wise accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 5ec47b13563ad2d22105a1f26186d7756718394b.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a66418f6f181ca6ee04e77896674253ff83db45e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 xilinx_spips: lqspi: Push more data to tx-fifo Do 16 words per fifo flush. Increases performance and decreases debug verbosity. This data depth has no real hardware analogue, so just go with something that has reasonable performance. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 5621ee4621941d3639b5cacfdec26bd3148f31d5.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 4a5b6fa8d9bdeec71f4f92e8b7a31fc344ef512f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Multiple debug verbosity levels The debug printfs on every SPI operation is extremely verbose. Add a second level of debug for this. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: f63478b8e5b29cc011cdc10e29f8537bb2fc2b5e.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c37fc509d288ff693e42b2025451241fdd481948 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Debug msgs for Snoop state This is worth keeping track of when debugging the device model. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: d3b44ecf23d671798b062eee5dc362c716ea54cd.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9151da25a71a171d19beec107a8ee2066cb65e7c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Fix striping behaviour The QSPI controller was using byte-wide stripes when striping across the two flashes in dual parallel mode. The real hardware however uses individual bit striping. QEMU misbehaves in the (corner) case where data is written/read in dual-parallel mode and read/written back in single mode. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 718a61df1bf746ec06f6da44d12f8317af7b08ce.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2133a5f6b8f8941a6a3734c6c1990656553de76c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Fix CTRL register RW bits The CTRL register was RAZ/WI on some of the RW bits. Even though the function behind these bits is invalid in QEMU, they should still be guest accessible. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: b7aaad93163ce4af0c428635804ac7b77a567b25.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 15408b428f5b4db56da555fbda4f1aaf40d77f4b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: lqspi: Dont touch config register The LQSPI mode is supposed to work via the automatic CS mode feature rather than manipulate CS lines itself. Now that auto CS is implemented remove LQSPIs CS mode override logic. There is still a need to manipulate the U_PAGE bit in LQSPI config register to implement dual-stack mode however. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 000c8dd54df09523f17052638100722ef0f5a3af.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c4f08ffe134810307cebd66f2cbcffe5cd707915 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Implement automatic CS Implement the automatic CS control feature. If the MANUAL_CS bit is cleared then the chip select stay de-asserted as long as the tx FIFO is empty. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1d67383adc42761af715a93f161344b9284dfc9a.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e100f3be0cccc58692b3988ec2e35cd8b906ca05 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Add automatic start support SPI has a mode where it automatically starts based on tx fifo occupancy. Implemented. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: f4e9accb5de87b526fff6ed937f63278db76533b.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b5cd9143e78da8ea9e17fa523aacbedd267aae54 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Trash LQ page cache on mode change Invalidate the LQSPI cached page when transitioning into LQSPI mode. Otherwise there is a possibility that the controller will return stale data to the guest when transitioning back to LQ_MODE after a page program. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 677490a6ee1953fe5d366e599d665de645ac84db.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 10e60b35d04359fba1d759925018204527a1b9f5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Fix QSPI FIFO size QSPI has a bigger FIFO than the regular SPI controller. Differentiate between the two with correct FIFO sizes for each. This is the first piece of class data for SPIPS, so this patch sees the creation of the XilinxSPIPSClass definition and assoicated QOM constructs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: acee25dd5e203215cbc15ca5d3cb5d5b2efebe7b.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit abef5fa6438d654de59dfa083166f41a4067f6b7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: Add verbose LQSPI debug output You really need this is you want to track a guest banging on LQSPI. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 26e508da4af11058d37daa777064c9e5c2a69abb.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 3ea728d0c87011845666caedc582eaa9629797db Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: Inhibit interrupts in LQSPI mode The real hardware does not produce interrupts in LQSPI mode. Inhibit generation of interrupts when the LQ_MODE bit is set. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: dff794a06872009ea7e5733ce6adcff94d18bbd0.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 87920b44a1e04a45bf74ee0a88a2dfa51c65acdb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: Make interrupts clear on read By default these interrupts are clear on read. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 999ff0091ed3cc3969a431bf55c00ef934cecc8e.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6b91f0155b9338b7fa53d1d64f4e40c43a5d3bba Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: seperate SPI and QSPI as two classes Make SPI and QSPI different classes. QSPIPS is setup as a child of SPIPS. Only QSPI has the LQSPI functionality, so move all that to the child class. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 2cdd0cadb5ba77ca02fde5cae627852dc9a64c71.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9cdf79d068f52f7de347cb45cfd8903519410e4d Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon May 27 16:46:01 2013 +0000 xen: use pc_init_pci instead of pc_init_pci_no_kvmclock Call kvmclock_create only if kvmclock_enabled. Use pc_init_pci on Xen rather than pc_init_pci_no_kvmclock. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 95222d0945ac8e7fea2adf2fc927634ff3ea1389 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu May 30 16:52:44 2013 +0000 xen: remove xen_vcpu_init No need for xen_vcpu_init anymore: - the RTC emulator doesn't have any periodic timers continuously running even in absence of guest interactions anymore; - qemu_dummy_start_vcpu takes care of disabling TCG for us, so we don't need to do it manually here. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 9f24a8030a70ea4954b5b8c48f606012f086f65f Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:37:45 2013 +0000 xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional) We are currently setting the PCI hole to start at HVM_BELOW_4G_RAM_END, that is 0xf0000000. Start the PCI hole at 0xe0000000 instead, that is the same value used by pc_init1 and qemu-xen-traditional. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx commit 58ee9b0ae05d81c74d6869a25ce4263fc22ed809 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:38:31 2013 +0000 xen_machine_pv: do not create a dummy CPU in machine->init This fixes a regression introduced by: commit 62fc403f11523169eb4264de31279745f48e3ecc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 18:54:13 2013 +0200 target-i386: Attach ICC bus to CPU on its creation X86CPU should have parent bus so it could provide bus for child APIC. The commit makes it mandatory to pass a valid ICC bus to cpu_x86_create, but cpu_x86_init just passes NULL to it. xen_machine_pv uses cpu_x86_init, therefore it has been broken. This patch fixes the problem by removing the dummy CPU creation altogether from xen_init_pv, relying on the fact that QEMU can now cope with a machine without an emulated CPU. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> CC: imammedo@xxxxxxxxxx CC: qemu-stable@xxxxxxxxxx commit a7d4207d378069a5bb3175a131e8fdedd39ef97d Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:38:43 2013 +0000 main_loop: do not set nonblocking if xen_enabled() Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx commit 49fa9881b2358e390e9e9466ddde74e995927efa Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:38:48 2013 +0000 xen: simplify xen_enabled No need for preprocessor conditionals in xen_enabled: xen_allowed is always defined. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx commit 5866e078770cba631a33e6d3062afa7a4068adf8 Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Date: Thu May 30 18:50:50 2013 +0000 Fix rfe instruction The rfe instruction has been broken since patch 5a839c0d54fac9db0516904db873a4fe01f50f4b because of a typo. Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8b779b368b3b45d5ed3160173499eeafee4d567c Author: Ã?kos Kovács <akoskovacs@xxxxxxx> Date: Mon May 6 19:14:52 2013 +0200 po/hu.po: Hungarian translation for the GTK+ interface Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Ã?kos Kovács <akoskovacs@xxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1367860492-3357-1-git-send-email-akoskovacs@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 40459a0312569817f622926efd0780ef2299aaa1 Merge: 7087d3d... 37352df... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 08:37:54 2013 -0500 Merge remote-tracking branch 'kraxel/usb.83' into staging # By Gerd Hoffmann (5) and others # Via Gerd Hoffmann * kraxel/usb.83: xhci: add live migration support xhci: add xhci_init_epctx xhci: add xhci_alloc_epctx xhci: add XHCISlot->addressed pci: add VMSTATE_MSIX host-libusb: Correct test for USB packet state Fix usage of USB_DEV_FLAG_IS_HOST flag. Message-id: 1370253951-12323-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7087d3df18b8e8d27a2115dfc5d56614073e55de Merge: f10acc8... a4cc73d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 08:37:44 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Ed Maste (3) and others # Via Michael Tokarev * mjt/trivial-patches: do not check pointers after dereferencing them m25p80: Add Micron n25q032a qemu: fix out of tree cross compile slirp: cleanup leftovers from misc.h migration: Remove duplicate bandwidth_limit set docs: Fix typo and update file in migration configure: try pkg-config ncurses first rtc: remove rtc_set_date linux-user: Fix typo in comment configure: remove confusing file manipulation debugcon: fix compiler warning when open DEBUG_DEBUGCON debugcon: make debug message more readable debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON Remove unnecessary break statements don't run pkg-config for features explicitly disabled Message-id: 51A9CCFB.1000109@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 37352df30fbc38d1de464db8927536d5e36cf52a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 21 10:55:35 2013 +0100 xhci: add live migration support With all preparing pieces in place we can finally drop in the vmstate structs and the postload function. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 003e15a180373048f0c1f4df0bfe303746eb2676 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 10:11:22 2013 +0200 xhci: add xhci_init_epctx Factor out endpoint context initialization to a separate function. xhci live migration will need that too, in post_load. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 492b21f63fa655e0271abef4784cc337dd1d3fe7 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 09:33:35 2013 +0200 xhci: add xhci_alloc_epctx Factor out endpoint context allocation to a separate function. xhci live migration will need that too, in post_load. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4034e6938a4cba090a8fac02499c8a9567201665 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 12:37:32 2013 +0200 xhci: add XHCISlot->addressed Preparing for live-migration support, post_load will need that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 340b50c759d6b4ef33e514c40afcc799c0d7df7a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 7 15:16:58 2013 +0200 pci: add VMSTATE_MSIX Using a trick cut+pasted from vmstate_scsi_device to wind up msix_save and msix_load. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 45ec267160307ce2ca7494d942589ba222b29479 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Tue May 7 10:06:12 2013 -0400 host-libusb: Correct test for USB packet state USB_RET_ASYNC is -6, so inflight was always false. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 756335292f2b46775992c314cc70b54480a46d26 Author: Michael Marineau <mike@xxxxxxxxxxxx> Date: Sun May 12 19:19:37 2013 -0400 Fix usage of USB_DEV_FLAG_IS_HOST flag. USB_DEV_FLAG_IS_HOST is the bit number, not value. Booting with a "Fitbit Base Station" USB dongle was triggering this assert. Signed-off-by: Michael Marineau <mike@xxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f10acc8b38d65a66ffa0588a036489d7fa6a593e Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Sun Jun 2 17:23:00 2013 +0100 tcx: Fix 24-bit display mode Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit mode of the tcx display adapter by accidentally passing in the final address of the dirty region to memory_region_reset_dirty() instead of its size. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c3c4fe35be9f6c37388ba7615c6c33e8f4034438 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 15:59:06 2013 +0300 pvpanic: use FWCfgState explicitly Use the type-safe FWCfgState structure instead of the unsafe void *. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit cac122103abac633d7b39aac87273bf6d5a37588 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 16:21:24 2013 +0300 fw_cfg: fw_cfg is a singleton Make sure we only have a single instance ever: because if it isn't we can't find it so it's useless anyway. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 600c60b76d0682f6c39d19bfff79da9321e8cf86 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 16:07:58 2013 +0300 fw_cfg: add API to find FW cfg object Remove some code duplication by adding a function to look up the fw cfg file. This way, we don't need to duplicate same strings everywhere. Use by both fw cfg and pvpanic device. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 45936c8b79012da4c8986c20af4afcc9cd14bb8e Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 16:27:06 2013 +0300 fw_cfg: move typedef to qemu/typedefs.h Less header dependencies this way. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a88b362c6ffbb7a802bf0ed5ef0e2447164dc989 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Apr 16 02:24:08 2013 +0200 refer to FWCfgState explicitly Currently some places use pointer-to-void even though they mean pointer-to-FWCfgState. Clean them up. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit edf9735e40841298874ee308fdecca2ac2aa5bdf Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 14:11:02 2013 +0300 apic: rename apic specific bitopts apic has its own version of bitops, with the difference that it works on u32 and not long. Add apic_ prefix to avoid namespace clashes. We should look into reusing standard bitops long-term, but that's not entirely trivial. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ec0503b4f0a37b55fedc164185369bf5f0030f7b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 12:13:06 2013 +0300 firmware_abi: move to include/hw/nvram/ firmware_abi.h with structs for OpenBIOS landed in hw/sparc/ by mistake - move it to hw/nvram/ alongside fw_cfg.h. In addition to sparc it's included from ppc mac_nvram.c and will need to include it from prep.c in the future. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit cbef02f819b05112cb626a955d8c86e30afe6a9f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 12:09:20 2013 +0300 dec.c - move to pci-bridge Looks like dec.c is in pci-host by mistake. Moving it over to pci-bridge. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a4cc73d629d43c8a4d171d043ff229a959df3ca6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 31 14:00:27 2013 +0200 do not check pointers after dereferencing them Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-stable@xxxxxxxxxx Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit cd2e64ce306910f6a627d899e6779eda33f8511c Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Wed May 29 09:58:29 2013 -0400 m25p80: Add Micron n25q032a Based on the datasheet at http://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_32mb_1_8v_65nm.pdf Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a585140dd546ffb606ec506b362ab9decf1ab14e Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed May 29 23:30:43 2013 +1000 qemu: fix out of tree cross compile The symlink to "asm" platform linux headers is made in the build tree by the configure script but gcc is not told to look for them there. The patch fixes this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a9c34e4485ef0a8a61e88f1c9f9bb87f00ba2c72 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Tue May 28 00:46:10 2013 +0400 slirp: cleanup leftovers from misc.h There are quite a few leftover declarations in slirp/misc.h. Remove them. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 12cd30e9c026e03db908785276057c5a3d912596 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 27 18:33:02 2013 +0800 migration: Remove duplicate bandwidth_limit set bandwidth_limit is double set in migrate_init(), remove one. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7465dfeca065882c93424b23b14b2c9f31b16aa5 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 27 18:33:01 2013 +0800 docs: Fix typo and update file in migration This patch fix some typo and update the file that already moved. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit cfeda5f4b8710b6ba14131df8e287021b729b784 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Fri May 24 16:07:00 2013 -0400 configure: try pkg-config ncurses first When probing for ncurses, try pkg-config first rather than after explicit -lncurses and -lcurses. This fixes static linking in the case that ncurses has additional dependencies, such as -ltinfo (as on FreeBSD). Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d720e9831cab9934079d36a5fe3ebcdded4cb3a7 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed May 22 13:33:12 2013 +0800 rtc: remove rtc_set_date Since it's not defined and used anywhere. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d2d6b8576ccf0de429fb96ea6ab9669d8e916085 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 17:20:50 2013 +0800 linux-user: Fix typo in comment Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit cbc8d595ef21635b630dd1cad54eb730ae6620a1 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Wed May 22 09:21:39 2013 -0400 configure: remove confusing file manipulation The configure script had some code to manipulate config-host.ld~ (i.e., a common backup filename), comparing it with the newly-generated file. I believe the sense of the comparison was backwards. Since it seemed to serve little purpose anyway, remove it to avoid any confusion. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 668fca91d48a7d55a0e3911447b078679f2ce986 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri May 24 10:47:33 2013 +0800 debugcon: fix compiler warning when open DEBUG_DEBUGCON compiler warnings: CC hw/char/debugcon.o hw/char/debugcon.c: In function â??debugcon_ioport_writeâ??: hw/char/debugcon.c:58: warning: format â??%02xâ?? expects type â??unsigned intâ??, but argument 3 has type â??uint64_tâ?? hw/char/debugcon.c: In function â??debugcon_ioport_readâ??: hw/char/debugcon.c:70: warning: format â??%04xâ?? expects type â??unsigned intâ??, but argument 2 has type â??hwaddrâ?? Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e6ee28469fc41af5cc7d5b470ec9a1a078177fa7 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri May 24 10:47:32 2013 +0800 debugcon: make debug message more readable before change: Bdebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x74 tdebugcon: write addr=0x0000 val=0x69 idebugcon: write addr=0x0000 val=0x6e ndebugcon: write addr=0x0000 val=0x67 gdebugcon: write addr=0x0000 val=0x20 debugcon: write addr=0x0000 val=0x66 after change: B [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x74] t [debugcon: write addr=0x0000 val=0x69] i [debugcon: write addr=0x0000 val=0x6e] n [debugcon: write addr=0x0000 val=0x67] g [debugcon: write addr=0x0000 val=0x20] [debugcon: write addr=0x0000 val=0x66] Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8c1f72da6b11051c48a642f7de7048956383e217 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri May 24 10:47:31 2013 +0800 debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON when use DEBUG_DEBUGCON, screen spits: debugcon: write addr=0x0000 val=0x00 Rdebugcon: write addr=0x0000 val=0x00 udebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 gdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 pdebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 rdebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 mdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 adebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 Oh, that's wrong, val is not always be 0. this bug caused by lack of length modifier for specifier 'x'. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 6681fca3fc5f44eff68a0c0b2e62694f8579ce28 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri May 24 12:19:25 2013 +0200 Remove unnecessary break statements Fix these warnings from cppcheck: hw/display/cirrus_vga.c:2603: hw/sd/sd.c:348: hw/timer/exynos4210_mct.c:1033: target-arm/translate.c:9886: target-s390x/mem_helper.c:518: target-unicore32/translate.c:1936: style: Consecutive return, break, continue, goto or throw statements are unnecessary. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a3605bf696a30e793d375b6c4ff1fd88ec546010 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat May 25 13:17:21 2013 +0400 don't run pkg-config for features explicitly disabled We test pkg-config for curses and curl even if those are explicitly disabled. Move these tests inside `if "$feature" != "no"' sections. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dec3fc9657e0682637de4d5a29d947284d01985c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed May 29 12:30:51 2013 -0700 target-i386: Fix aflag logic for CODE64 and the 0x67 prefix The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR. While fixing this, tidy and comment the code so that it's more obvious what's going on in setting both aflag and dflag. The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the constant zero when TARGET_X86_64 is undefined. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369855851-21400-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 39c93c67c5995bd8db7a3fa3b95dcd4e6bc881a7 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu May 23 13:51:41 2013 +0200 s390/ipl: Fix spurious errors in virtio With the ccw ipl code sometimes an error message like "virtio: trying to map MMIO memory" or "Guest moved used index from %u to %u" appeared. Turns out that the ccw bios did not zero out the vring, which might cause stale values in avail->idx and friends, especially on reboot. Lets zero out the relevant fields. To activate the patch we need to rebuild s390-ccw.img as well. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Message-id: 1369309901-418-1-git-send-email-borntraeger@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0a1f348c429a6af0ba6448e5b3ae08dbc8e28696 Merge: 6c8df7a... f2e3978... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 31 11:33:02 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-2013-05-30' into staging # By Laszlo Ersek # Via Michael Roth * mdroth/qga-pull-2013-05-30: Makefile: create ".../var/run" when installing the POSIX guest agent qga: save state directory in ga_install_service() qga: remove undefined behavior in ga_install_service() qga: create state directory on win32 configure: don't save any fixed local_statedir for win32 qga: determine default state dir and pidfile dynamically osdep: add qemu_get_local_state_pathname() Message-id: 1369940341-9043-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c8df7a33ade90c8c96b01655520c7e9b69b46c0 Merge: cdf79b6... bff6347... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 31 11:32:32 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino (1) and others # Via Luiz Capitulino * luiz/queue/qmp: target-i386: Fix mask of pte index in memory mapping target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses qapi: pad GenericList value fields to 64 bits Message-id: 1370009905-4255-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cdf79b6454abe13aec89d4be7cf59b3e841a7faf Merge: fd21faa... fd8aaa7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 31 11:32:25 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/iommu-for-anthony: (22 commits) memory: add return value to address_space_rw/read/write memory: propagate errors on I/O dispatch exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses memory: correctly handle endian-swapped 64-bit accesses memory: split accesses even when the old MMIO callbacks are used memory: add big endian support to access_with_adjusted_size memory: accept mismatching sizes in memory_region_access_valid memory: add address_space_access_valid exec: implement .valid.accepts for subpages memory: export memory_region_access_valid to exec.c exec: introduce memory_access_size exec: introduce memory_access_is_direct exec: expect mr->ops to be initialized for ROM memory: assign MemoryRegionOps to all regions memory: move unassigned_mem_ops to memory.c memory: add address_space_translate memory: dispatch unassigned accesses based on .valid.accepts exec: do not use error_mem_read exec: make io_mem_unassigned private cputlb: simplify tlb_set_page ... Message-id: 1369947836-2638-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bff63471ced94e3a6de76b1a7375a875178d6cdc Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Date: Thu May 30 17:07:54 2013 +0200 target-i386: Fix mask of pte index in memory mapping Function walk_pte() needs pte index to calculate virtual address. However, pte index of PAE paging or IA-32e paging is 9 bit, so the mask should be 0x1ff. Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Reviewed-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit fbc2ed9518efcdcdcbf0adb9539c17a65addd20a Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue May 28 14:19:22 2013 -0400 target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses The code used to walk IA-32e page-tables, and possibly PAE page-tables, uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address. However, as we use a uint64_t to store the resulting address, that mask gets expanded to 0xfffffffffffff000 which not only ends up selecting reserved bits but also selects the XD bit (execute-disable) which happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to abort. This commit fixes that problem by replacing ~0xfff by a correct mask that only selects the address bit range (ie. bits 51:12). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> commit fd21faadb12669e24eaf0a277de61c24fcde4cac Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed May 29 16:30:01 2013 -0400 seccomp: add the asynchronous I/O syscalls to the whitelist In order to enable the asynchronous I/O functionality when using the seccomp sandbox we need to add the associated syscalls to the whitelist. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Message-id: 20130529203001.20939.83322.stgit@localhost Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu May 30 13:20:40 2013 +0200 gdbstub: do not restart crashed guest If a guest has crashed with an internal error or similar, detaching gdb (or any other debugger action) should not restart it. Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1369912840-18577-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bbfa18fca4e44ff9c23d36b50d8a998af9c9e9fc Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed May 29 15:56:42 2013 +0800 qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path Recent virtio refactoring in QEMU made virtio-bus become the parent bus of scsi-bus, and virtio-bus doesn't have get_fw_dev_path implementation, typename will be added to fw_dev_path by default, the new fw_dev_path could not be identified by seabios. It causes that bootindex parameter of scsi device doesn't work. This patch implements get_fw_dev_path() in BusClass, it will be called if bus doesn't implement the method, tyename will be added to fw_dev_path. If the implemented method returns NULL, nothing will be added to fw_dev_path. It also implements virtio_bus_get_fw_dev_path() to return NULL. Then QEMU will still pass original style of fw_dev_path to seabios. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1369814202-10346-1-git-send-email-akong@xxxxxxxxxx -- v2: only add nothing to fw_dev_path when get_fw_dev_path() is implemented and returns NULL. then it will not effect other devices don't have get_fw_dev_path() implementation. v3: implement default get_fw_dev_path() in BusClass Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f2e3978b5a72870b061d29948075dccc0a72db8e Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 07:13:14 2013 +0200 Makefile: create ".../var/run" when installing the POSIX guest agent Otherwise the default local state directory of POSIX qga won't exist after installation with a non-standard ${prefix} or DESTDIR. For now qga is the only user of ".../var" (= $qemu_localstatedir) too, so don't create that directory either unless we're installing the agent. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a839ee77c786a8200c76ca92f697eebf6bcc9aa3 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:53 2013 +0200 qga: save state directory in ga_install_service() If the user selects a non-default state directory at service installation time, we should remember it in the registered service. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a880845f3d92e508e43fcc38f0631b91c203e5d5 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:52 2013 +0200 qga: remove undefined behavior in ga_install_service() We shouldn't snprintf() from a buffer to the same buffer. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit bf12c1fa8c78e3c667f2fe2ecc656f4f3cfb914e Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:51 2013 +0200 qga: create state directory on win32 On Win32 the local state directory is application specific and users might expect qemu-ga to create it automatically. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5a699bbbf300902141d2458682d05cd310d7a07f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:50 2013 +0200 configure: don't save any fixed local_statedir for win32 ... because now we can get the dynamic value with qemu_get_local_state_pathname(). The only user of the fixed value was the guest agent, which we've moved to qemu_get_local_state_pathname() in the previous patch. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c394ecb7bf55b7234f852b9c8518aefb5d0943fa Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:49 2013 +0200 qga: determine default state dir and pidfile dynamically No effective change on POSIX, but on Win32 the defaults come from the environment / session. Since commit 39097daf ("qemu-ga: use key-value store to avoid recycling fd handles after restart") we've relied on the state directory for the fd handles' key-value store. Even though we don't support the guest-file-* commands on win32 yet, the key-value store is written, and it's the first use of the state directory on win32. We should have a sensible default for its location. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit e2ea3515a9d2d747f91dadf361afcbeb57a71500 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:48 2013 +0200 osdep: add qemu_get_local_state_pathname() This function returns ${prefix}/var/RELATIVE_PATHNAME on POSIX-y systems, and <CSIDL_COMMON_APPDATA>/RELATIVE_PATHNAME on Win32. http://msdn.microsoft.com/en-us/library/bb762494.aspx [...] This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. [...] Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 68c0e134a090666246b467deaf9046e573b089f2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 11:35:23 2013 +0300 q35: set fw_name PCI host bridges need to set fw_name to be discoverable by bios for boot device selection. In particular, seabios expects root device to be called "/pci/@i0cf8", so let's set it up like that for Q35. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Amos Kong <akong@xxxxxxxxxx> commit a678e26cbe89f7a27cbce794c2c2784571ee9d21 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Sun May 26 22:20:58 2013 -0500 qapi: pad GenericList value fields to 64 bits With the introduction of native list types, we now have types such as int64List where the 'value' field is not a pointer, but the actual 64-bit value. On 32-bit architectures, this can lead to situations where 'next' field offset in GenericList does not correspond to the 'next' field in the types that we cast to GenericList when using the visit_next_list() interface, causing issues when we attempt to traverse linked list structures of these types. To fix this, pad the 'value' field of GenericList and other schema-defined/native *List types out to 64-bits. This is less memory-efficient for 32-bit architectures, but allows us to continue to rely on list-handling interfaces that target GenericList to simply visitor implementations. In the future we can improve efficiency by defaulting to using native C array backends to handle list of non-pointer types, which would be more memory efficient in itself and allow us to roll back this change. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit fd8aaa767ab5d804c2aa156a616b8ca8837916b0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 21 09:56:55 2013 +0200 memory: add return value to address_space_rw/read/write Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 791af8c861f4537ad29c34df14fb81701e04596f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 16:10:39 2013 +0200 memory: propagate errors on I/O dispatch Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a649b9168cb9169b41532b168b94294e2be32e50 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:40:43 2013 +0200 exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses The memory API is able to split it in two 4-byte accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 968a5627c80ff2b9fd1ed40f9400897088bd661a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:58:37 2013 +0200 memory: correctly handle endian-swapped 64-bit accesses Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ce5d2f331ec42b43f92aa4c57fdaaf4c34ccb377 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:45:48 2013 +0200 memory: split accesses even when the old MMIO callbacks are used This is useful for 64-bit memory accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 08521e28c7e6e8cc1f53424a0f845f58d2ed9546 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:54:01 2013 +0200 memory: add big endian support to access_with_adjusted_size This will be used to split 8-byte access down to two four-byte accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a014ed07bd5a93950fe12c88ed5faf188a22ee01 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:48:52 2013 +0200 memory: accept mismatching sizes in memory_region_access_valid The memory API is able to use smaller/wider accesses than requested, match that in memory_region_access_valid. Of course, the accepts callback is still free to reject those accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 51644ab70ba125cb9545702d64890743d75b444b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 15:40:59 2013 +0200 memory: add address_space_access_valid The old-style IOMMU lets you check whether an access is valid in a given DMAContext. There is no equivalent for AddressSpace in the memory API, implement it with a lookup of the dispatch tree. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c353e4cc08a2fce7c505dd0d04512ef3947adff8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:02:39 2013 +0200 exec: implement .valid.accepts for subpages Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d2702032b4746515cff0bf29891a6b6decfc3d86 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 11:55:06 2013 +0200 memory: export memory_region_access_valid to exec.c We'll use it to implement address_space_access_valid. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 82f2563fc81532e24380085d23a9d32c17b74169 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 11:59:43 2013 +0200 exec: introduce memory_access_size This will be used by address_space_access_valid too. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2bbfa05d20067de0d032d832ae22c1041f4c89c2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:29:54 2013 +0200 exec: introduce memory_access_is_direct After the previous patches, this is a common test for all read/write functions. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d17d45e95f497e67aa48ff9e49a4ad62bb1e17df Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 13:21:01 2013 +0200 exec: expect mr->ops to be initialized for ROM There is no need to use the special phys_section_rom section. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2cdfcf272d1a38e22879aecae83e95be51369b2d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 13:55:52 2013 +0200 memory: assign MemoryRegionOps to all regions This allows to remove the checks on section->readonly. Simply, write accesses to ROM will not be considered "direct" and will go through mr->ops without any special intervention. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d197063fcf969e1269dc53c9c9e9a073f87aa3b4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 13:23:38 2013 +0200 memory: move unassigned_mem_ops to memory.c reservation_ops is already doing the same thing. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 149f54b53b7666a3facd45e86eece60ce7d3b114 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:59:37 2013 +0200 memory: add address_space_translate Using phys_page_find to translate an AddressSpace to a MemoryRegionSection is unwieldy. It requires to pass the page index rather than the address, and later memory_region_section_addr has to be called. Replace memory_region_section_addr with a function that does all of it: call phys_page_find, compute the offset within the region, and check how big the current mapping is. This way, a large flat region can be written with a single lookup rather than a page at a time. address_space_translate will also provide a single point where IOMMU forwarding is implemented. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b018ddf633f77195e9ae859c6d940a334e68879f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:48:38 2013 +0200 memory: dispatch unassigned accesses based on .valid.accepts This provides the basics for detecting accesses to unassigned memory as soon as they happen, and also for a simple implementation of address_space_access_valid. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bf8d5166395612b4e856fad57606eb0cff97ae2e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:39:13 2013 +0200 exec: do not use error_mem_read We will soon reach this case when doing (unaligned) accesses that span partly past the end of memory. We do not want to crash in that case. unassigned_mem_ops and rom_mem_ops are now the same. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0844e007624acb6dbf45bfb232286ce9502b424e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:37:28 2013 +0200 exec: make io_mem_unassigned private There is no reason to avoid a recompile before accessing unassigned memory. In the end it will be treated as MMIO anyway. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8f3e03cb73dce9eac207cfe0f37d87d6490421a0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 16:45:30 2013 +0200 cputlb: simplify tlb_set_page The same "if" condition is repeated twice. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ae4e43e80f3e1e65d096ebbc643eed9d763e1441 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:14:05 2013 +0200 exec: drop useless #if This code is only compiled for softmmu targets. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2a8e7499093cd33a607ebd7c1cd591169aa68a3e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:34:08 2013 +0200 exec: eliminate io_mem_ram It is never used, the IOTLB always goes through io_mem_notdirty. In fact in softmmu_template.h, if it were, QEMU would crash just below the tests, as soon as io_mem_read/write dispatches to error_mem_read/write. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 87d23f78aa79b72da022afda358bbc8a8509ca70 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue May 28 13:20:23 2013 +0300 virtio-pci: drop unused wmb macro The implementation is wrong for kvm, and it's unused anyway. Drop it. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130528102023.GA30055@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 04129606170ec9011d4952b4f22c368679bedbf9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon May 27 15:28:51 2013 +0200 tests: set MALLOC_PERTURB_ to expose memory bugs glibc wipes malloc(3) memory when the MALLOC_PERTURB_ environment variable is set. The value of the environment variable determines the bit pattern used to wipe memory. For more information, see http://udrepper.livejournal.com/11429.html. Set MALLOC_PERTURB_ for gtester and qemu-iotests. Note we pick a random value from 1 to 255 to expose more bugs. If you need to reproduce a crash use 'show environment' in gdb to extract the MALLOC_PERTURB_ value from a core dump. Both make check and qemu-iotests pass with MALLOC_PERTURB_ enabled. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1369661331-28041-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dafb82e0fc89b631d25f8def649fbfd14fec3db2 Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:27 2013 -0700 pc_sysfw: allow flash (-pflash) memory to be used with KVM When pc-sysfw.rom_only == 0, flash memory will be usable with kvm. In order to enable flash memory mode, a pflash device must be created. (For example, by using the -pflash command line parameter.) Usage of a flash memory device with kvm requires KVM_CAP_READONLY_MEM, and kvm will abort if a flash device is used with an older kvm which does not support this capability. If a flash device is not used, then qemu/kvm will operate in the original rom-mode. Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369816047-16384-5-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 235e8982ad393e5611cb892df54881c872eea9e1 Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:26 2013 -0700 kvm: support using KVM_MEM_READONLY flag for regions For readonly memory regions and rom devices in romd_mode, we make use of the KVM_MEM_READONLY. A slot that uses KVM_MEM_READONLY can be read from and code can execute from the region, but writes will exit to qemu. For rom devices with !romd_mode, we force the slot to be removed so reads or writes to the region will exit to qemu. (Note that a memory region in this state is not executable within kvm.) v7: * Update for readable => romd_mode rename (5f9a5ea1) Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> (v4) Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (v5) Message-id: 1369816047-16384-4-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit df9c8b758a04825e23f82427001028342b92d0cf Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:25 2013 -0700 kvm: add kvm_readonly_mem_enabled Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369816047-16384-3-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dade922f357c709c02eed2e1b1891453896756dd Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:24 2013 -0700 isapc: Fix non-KVM qemu boot (read/write memory for isapc BIOS) The isapc machine with seabios currently requires the BIOS region to be read/write memory rather than read-only memory. KVM currently cannot support the BIOS as a ROM region, but qemu in non-KVM mode can. Based on this, isapc machine currently only works with KVM. To work-around this isapc issue, this change avoids marking the BIOS as readonly for isapc. This change also will allow KVM to start supporting ROM mode via KVM_CAP_READONLY_MEM. Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369816047-16384-2-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 338ea905e948613607c98346e127fc9472c57f0d Merge: 1afd566... db431f6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:13:20 2013 -0500 Merge remote-tracking branch 'aneesh/for-upstream' into staging # By Aneesh Kumar K.V (3) and Gabriel de Perthuis (1) # Via Aneesh Kumar K.V * aneesh/for-upstream: hw/9pfs: Be robust against paths without FS_IOC_GETVERSION hw/9pfs: Use O_NOFOLLOW when opening files on server hw/9pfs: use O_NOFOLLOW for mapped readlink operation hw/9pfs: Fix segfault with 9p2000.u Message-id: 87zjvevx4s.fsf@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1afd566ce921493a13b3878662b5320aab7645d0 Merge: 46a352a... 2ba9de6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:13:09 2013 -0500 Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging # By Peter Maydell # Via Andreas Färber * afaerber-or/cocoa-for-upstream: cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory cocoa: Avoid deprecated NSOpenPanel filename method cocoa: Avoid deprecated CPS* functions cocoa: Fix leaks of NSScreen and NSConcreteMapTable commit 46a352a7d7a47b3733ae76c0a0906d6934f81fc0 Merge: c199707... 60d9538... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:12:53 2013 -0500 Merge remote-tracking branch 'kraxel/chardev.6' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/chardev.6: chardev: fix "info chardev" output Revert "chardev: Get filename for new qapi backend" Message-id: 1369722844-24345-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c199707ad0dcbb4a72e7435551c7f23b9606a063 Merge: 6a4e177... 6683d7b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:12:25 2013 -0500 Merge remote-tracking branch 'kraxel/seabios-1.7.2.2' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2.2: update seabios to release 1.7.2.2 Revert "roms: switch oldnoconfig to olddefconfig" Message-id: 1369736932-16627-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ba9de6ed0455f5c55e4fb1841e1597204535430 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:49 2013 +0000 cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory In MacOSX 10.6 and above the NSOpenPanel beginSheetForDirectory method is deprecated. Use the preferred replacements instead. We retain the original code for use on earlier MacOSX versions because the replacement methods don't exist before 10.6. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 8bb3f1e3742ca8d26af7156e14068435437918a1 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:48 2013 +0000 cocoa: Avoid deprecated NSOpenPanel filename method Avoid the NSOpenPanel filename method (deprecated in MacOSX 10.6) in favour of using the URL method and extracting the path from the resulting NSUrl object. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 42a5dfe75f455fe7f3619ce44b7eb025ba631ee8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:47 2013 +0000 cocoa: Avoid deprecated CPS* functions The functions CPSGetCurrentProcess and CPSEnableForegroundOperation are deprecated in newer versions of MacOSX and cause warning messages to be logged to the system log. Instead, use the new preferred method of promoting our console process up to a graphical app with menubar and Dock icon, which is TransformProcessType. (This function came in with MacOSX 10.3, so there's no need to retain the old method as we don't support anything earlier than 10.3 anyway.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 6e657e64cdc478461c1e6a5e81c6d23115664326 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:46 2013 +0000 cocoa: Fix leaks of NSScreen and NSConcreteMapTable On MacOSX 10.8 QEMU provokes system log messages: 11/03/2013 17:03:29.998 qemu-system-arm[42586]: objc[42586]: Object 0x7ffbf9c2f3b0 of class NSScreen autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug 11/03/2013 17:03:29.999 qemu-system-arm[42586]: objc[42586]: Object 0x7ffbf9c3a010 of class NSConcreteMapTable autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug This is because we call back into Cocoa from threads other than the UI thread (specifically from the CPU thread). Since we created these threads via the POSIX API rather than NSThread, they don't have automatically created autorelease pools. Guard all the functions where QEMU can call back into the Cocoa UI code with autorelease pools so that we don't leak any Cocoa objects. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 6683d7bc2759e9da8b5c4907a9de85d500933ffb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 28 12:17:50 2013 +0200 update seabios to release 1.7.2.2 git shortlog from 1.7.2.1 Asias He (2): virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd} virtio-scsi: Set _DRIVER_OK flag before scsi target scanning Kevin O'Connor (1): Cache boot-fail-wait to avoid romfile access after POST. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 19cd090e17b293b49eec59346df94a668f5d2438 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 28 12:09:41 2013 +0200 Revert "roms: switch oldnoconfig to olddefconfig" This reverts commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181. Breaks "make bios" in roms/ as the kconfig version in seabios doesn't support olddefconfig. Must have been be totally untested. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit db431f6adc881a0758512cd765b3108209013512 Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Date: Fri May 10 19:53:28 2013 +0200 hw/9pfs: Be robust against paths without FS_IOC_GETVERSION 9P optionally uses the FS_IOC_GETVERSION ioctl to get information about a file's version (sometimes called generation number). The code checks for supported filesystems at mount time, but some paths may come from other mounted filesystems. Change it to treat unsupported paths the same as unsupported filesystems, returning 0 in both cases. Note: ENOTTY is the error code for an unsupported ioctl. This fix allows booting a linux kernel with the same / filesystem as the host; otherwise the boot fails when mounting devtmpfs. Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 0ceb092e35f9d8793d64d86194ec9463718dffa3 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 19:43:15 2013 +0530 hw/9pfs: Use O_NOFOLLOW when opening files on server 9p server should never follow a symlink. So use O_NOFOLLOW with all open syscall Tested-by: "M. Mohan Kumar" <mohan@xxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit aed858ce10ef09c7bdf03f73e75e772f567c74cd Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 17:28:29 2013 +0530 hw/9pfs: use O_NOFOLLOW for mapped readlink operation With mapped security models like mapped-xattr and mapped-file, we save the symlink target as file contents. Now if we ever expose a normal directory with mapped security model and find real symlinks in export path, never follow them and return proper error. Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit c7e587b73ebac05943df78f5f37d80d32ff47d3d Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 11:29:52 2013 +0530 hw/9pfs: Fix segfault with 9p2000.u When guest tries to chmod a block or char device file over 9pfs, the qemu process segfaults. With 9p2000.u protocol we use wstat to change mode bits and client don't send extension information for chmod. We need to check for size field to check whether extension info is present or not. Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Acked-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 60d95386abf1f5f37ded6a812d12ac458df2491b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 27 12:41:24 2013 +0200 chardev: fix "info chardev" output Fill unset CharDriverState->filename with the backend name, so 'info chardev' will return at least the chardev type. Don't touch it in case the chardev init function filled it already, like the socket+pty chardevs do for example. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3022e6b472d0f6d56efbe890e0f1c94841b170d4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 27 12:38:58 2013 +0200 Revert "chardev: Get filename for new qapi backend" Does not handle chardevs created via chardev-add monitor command. This reverts commit 2b220025993e76d4116781ca91a4fabc5ad9c722. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6a4e17711442849bf2cc731ccddef5a2a2d92d29 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Apr 14 18:10:28 2013 +0000 Remove Sun4c, Sun4d and a few CPUs Sun4c and Sun4d architectures and related CPUs are not fully implemented (especially Sun4c MMU) and there has been no interest for them. Likewise, a few CPUs (Cypress, Ross etc) are only half implemented. Remove the machines and CPUs, they can be re-added if needed later. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4f6ab397b60615d2da77bff4f32666be9ac2e949 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Fri May 24 19:01:07 2013 -0400 Remove OSS support for OpenBSD Remove the OSS support for OpenBSD. The OSS API has not been usable for quite some time. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5b35b4e91d4d023d44dc28437ae414a21e9b8117 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:03 2013 +0100 target-arm: Remove gen_{ld,st}* definitions All the uses of the gen_{ld,st}* functions are gone now, so remove the functions themselves. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e2592fad1720d848699f32e67882b611bbed2cb5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:02 2013 +0100 target-arm: Remove gen_{ld,st}* from thumb2 decoder Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c40c85560b6a9bf272dcc7de1beb8910f240bae8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:01 2013 +0100 target-arm: Remove gen_{ld,st}* from Thumb insns Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5a839c0d54fac9db0516904db873a4fe01f50f4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:00 2013 +0100 target-arm: Remove gen_{ld,st}* from basic ARM insns Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 94ee24e7fbb0d6d6fd63627c2e89d2513cb7b893 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:59 2013 +0100 target-arm: Remove use of gen_{ld,st}* from ldrex/strex Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 58ab8e96469955f8b575bfe1f6b1e992f8f36c0f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:58 2013 +0100 target-arm: Remove uses of gen_{ld,st}* from Neon code Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 29531141a7658cfb9f6e5f72a685c3859a5fff8b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:57 2013 +0100 target-arm: Remove uses of gen_{ld,st}* from iWMMXt code Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 8ed1237d6401e0bd9461417b58b07e545bbc4b7e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:56 2013 +0100 target-arm: Remove gen_ld64() and gen_st64() gen_ld64() and gen_st64() are used only in one place, so just expand them out. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 39d5492a186d156d4acc306ae258d7e04f8a6c29 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:55 2013 +0100 target-arm: Don't use TCGv when we mean TCGv_i32 TCGv changes size depending on the compile time value of TARGET_LONG_BITS. This is useful for generating code for MIPS style "instructions are the same but the register width changes" CPUs, and also for the generic bits of QEMU which operate on "width of a virtual address" values, but mostly in the ARM target code we were using it purely as a shorthand for "any 32 bit value". This needs to change in preparation for AArch64 support, since an AArch64-capable v8 core will have 64 bit virtual addresses but still use 32 bit values for the 32 bit instruction set. This patch mechanically converts all the occurrences of TCGv, tcg_temp_new(), tcg_temp_free(), tcg_temp_local_new() and TCGV_UNUSED() to their explicitly 32 bit counterparts. This is correct for everything except the arguments to tcg_gen_qemu_{ld,st}*, which really do need to be TCGv and so will require a 32-to-64 conversion when building the 32 bit code for AArch64. Those changes will be in a separate patch for easier review. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fd469df97ab4277411ecdd4032a2f045a3a87b2a Merge: 4a542df... fd29893... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 24 13:47:42 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (11) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: memory: clean up phys_page_find memory: populate FlatView for new address spaces memory: limit sections in the radix tree to the actual address space size s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62 memory: fix address space initialization/destruction memory: make memory_global_sync_dirty_bitmap take an AddressSpace memory: do not duplicate memory_region_destructor_none memory: Rename readable flag to romd_mode memory: Replace open-coded memory_region_is_romd memory: allow memory_region_find() to run on non-root memory regions memory: assert that PhysPageEntry's ptr does not overflow exec: eliminate stq_phys_notdirty exec: make qemu_get_ram_ptr private exec: eliminate qemu_put_ram_ptr exec: remove obsolete comment Message-id: 1369414987-8839-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a542df0910dff2caf17d6bb76bbf3704197db42 Merge: 4c5dad0... 00b7ade... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 24 13:47:33 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Alasdair McLeay (1) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/net: rtl8139: flush queued packets when RxBufPtr is written net: support for bridged networking on Mac OS X Message-id: 1369406295-20411-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4c5dad040bce8f8c9924dc72cfac9380e4ffdc26 Merge: 64afc2b... 02ffb50... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 24 13:47:25 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Wenchao Xia (5) and others # Via Stefan Hajnoczi * stefanha/block: coroutine: stop using AioContext in CoQueue coroutine: protect global pool with a mutex qemu-iotests: Try creating huge qcow2 image qcow2.py: Subcommand for changing header fields qemu-io: Fix 'map' output blockdev: Rename BlockdevAction -> TransactionAction block: make all steps in qmp_transaction() as callback block: package rollback code in qmp_transaction() block: package committing code in qmp_transaction() block: move input parsing code in qmp_transaction() block: package preparation code in qmp_transaction() Message-id: 1369405947-14818-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd2989341e758813351c2fc1446cc8fbcae06ad9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 20 12:21:07 2013 +0200 memory: clean up phys_page_find Remove the goto. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f43793c7caab49c68b41c3b8524fc35b4c206856 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 16 15:39:51 2013 +0200 memory: populate FlatView for new address spaces Even a new address space might have a non-empty FlatView. In order to initialize it properly, address_space_init should (a) call memory_region_transaction_commit after the address space is inserted into the list; (b) force memory_region_transaction_commit to do something. This bug was latent so far because all address spaces started empty, including the PCI address space where the bus master region is initially disabled. However, the target address space of an IOMMU is usually rooted at get_system_memory(), which might not be empty at the time the IOMMU is created. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 86a8623692b1b559a419a92eb8b6897c221bca74 Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:45 2012 +0200 memory: limit sections in the radix tree to the actual address space size The radix tree is statically sized to fit TARGET_PHYS_ADDR_SPACE_BITS. If a larger memory region is registered, it will overflow. Fix by limiting any section in the radix tree to the supported size. This problem was not observed earlier since artificial regions (containers and aliases) are eliminated by the memory core, leaving only device regions which have reasonable sizes. An IOMMU however cannot be eliminated by the memory core, and may have an artificial size. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> [ Fail the build if TARGET_PHYS_ADDR_SPACE_BITS is too large - Paolo ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 311f83ca08c011b048c063c2fd3038a8957970bc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 15:54:44 2013 +0200 s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62 With the next patch, the memory API will complain if the TARGET_PHYS_ADDR_SPACE_BITS gets dangerously close to an overflow. s390x can handle up to 64 bit of physical address space from its page tables, but we never use that much. Just decrease the value. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4c19eb721a5929f2277d33a98bb59963c58c2e3b Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:44 2012 +0200 memory: fix address space initialization/destruction A couple of fields were left uninitialized. This was not observed earlier because all address spaces were statically allocated. Also free allocation for those fields. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1d671369c3f8eb2b5dfd0e1709688faba9b85f95 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 24 10:46:55 2013 +0200 memory: make memory_global_sync_dirty_bitmap take an AddressSpace Since this is a MemoryListener operation, it only makes sense on an AddressSpace granularity. Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5553e3a5c95f4a842489384a2fafb27d7555a4ef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 3 17:18:36 2013 +0200 memory: do not duplicate memory_region_destructor_none Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5f9a5ea1c0a8391033e7d33abd335dd804a1001a Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue May 7 19:04:25 2013 +0200 memory: Rename readable flag to romd_mode "Readable" is a very unfortunate name for this flag because even a rom_device region will always be readable from the guest POV. What differs is the mapping, just like the comments had to explain already. Also, readable could currently be understood as being a generic region flag, but it only applies to rom_device regions. So rename the flag and the function to modify it after the original term "ROMD" which could also be interpreted as "ROM direct", i.e. ROM mode with direct access. In any case, the scope of the flag is clearer now. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4b81126e3399bfbcc47a4d696902c93401169f72 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon May 6 18:07:05 2013 +0200 memory: Replace open-coded memory_region_is_romd Improves readability. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit 73034e9e087aa51b85cf86b6c81ef92f7e1e9d09 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 15:48:28 2013 +0200 memory: allow memory_region_find() to run on non-root memory regions memory_region_find() is similar to registering a MemoryListener and checking for the MemoryRegionSections that come from a particular region. There is no reason for this to be limited to a root memory region. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 68f3f65b09a1ce8c82fac17911ffc3bb6031ebe4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 11:30:23 2013 +0200 memory: assert that PhysPageEntry's ptr does not overflow While sized to 15 bits in PhysPageEntry, the ptr field is ORed into the iotlb entries together with a page-aligned pointer. The ptr field must not overflow into this page-aligned value, assert that it is smaller than the page size. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8b0d6711a276bdb9edcd9299b194c7c0d6b56a88 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 20 12:40:58 2013 +0200 exec: eliminate stq_phys_notdirty It is not used anywhere. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ee983cb3cc8f856b408a272269f434cc9a82ceff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 11:47:56 2013 +0200 exec: make qemu_get_ram_ptr private It is a private interface between exec.c and memory.c. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4f39178b3ab54538759df92a38655063f5d59301 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 11:44:02 2013 +0200 exec: eliminate qemu_put_ram_ptr Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bbcfd2913cdb8623d1c57fa26bf481f34bf7989a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 15:33:16 2013 +0200 exec: remove obsolete comment See how we call memory_region_section_addr two lines below to convert a physical address to a base address in the region. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 00b7ade807b5ce6779ddd86ce29c5521ec5c529a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed May 22 14:50:18 2013 +0200 rtl8139: flush queued packets when RxBufPtr is written Net queues support efficient "receive disable". For example, tap's file descriptor will not be polled while its peer has receive disabled. This saves CPU cycles for needlessly copying and then dropping packets which the peer cannot receive. rtl8139 is missing the qemu_flush_queued_packets() call that wakes the queue up when receive becomes possible again. As a result, the Windows 7 guest driver reaches a state where the rtl8139 cannot receive packets. The driver has actually refilled the receive buffer but we never resume reception. The bug can be reproduced by running a large FTP 'get' inside a Windows 7 guest: $ qemu -netdev tap,id=tap0,... -device rtl8139,netdev=tap0 The Linux guest driver does not trigger the bug, probably due to a different buffer management strategy. Reported-by: Oliver Francke <oliver.francke@xxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d73fe37e7bab4ef06b94c48b2a8d8952c03619d4 Author: Alasdair McLeay <alasdair.mcleay@xxxxxx> Date: Thu May 9 19:44:30 2013 +0100 net: support for bridged networking on Mac OS X tun tap can be implemented on Mac OS X using http://tuntaposx.sourceforge.net It behaves in the same way as FreeBSD/OpenBSD implementations, but Qemu needs a patch to use the OpenBS/FreeBSD code. As per the patch listed in this forum thread: http://forum.gns3.net/post17679.html#p17679 And also as used in the MacPorts installation: https://trac.macports.org/browser/trunk/dports/emulators/qemu/files/patch-net-tap-interface.diff Signed-off-by: Alasdair McLeay <alasdair.mcleay@xxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02ffb504485f0920cfc75a0982a602f824a9a4f4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri May 17 15:51:26 2013 +0200 coroutine: stop using AioContext in CoQueue qemu_co_queue_next(&queue) arranges that the next queued coroutine is run at a later point in time. This deferred restart is useful because the caller may not want to transfer control yet. This behavior was implemented using QEMUBH in the past, which meant that CoQueue (and hence CoMutex and CoRwlock) had a dependency on the AioContext event loop. This hidden dependency causes trouble when we move to a world with multiple event loops - now qemu_co_queue_next() needs to know which event loop to schedule the QEMUBH in. After pondering how to stash AioContext I realized the best solution is to not use AioContext at all. This patch implements the deferred restart behavior purely in terms of coroutines and no longer uses QEMUBH. Here is how it works: Each Coroutine has a wakeup queue that starts out empty. When qemu_co_queue_next() is called, the next coroutine is added to our wakeup queue. The wakeup queue is processed when we yield or terminate. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b84c4586234b26ccc875595713f6f4491e5b3385 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri May 17 15:51:25 2013 +0200 coroutine: protect global pool with a mutex The coroutine freelist is a global pool of unused coroutines. It avoids the setup/teardown overhead associated with the coroutine lifecycle. Since the pool is global, we need to synchronize access so that coroutines can be used outside the BQL. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bd91ecbf5b43b52321c4d938e16a612b9c68bf06 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 14:11:13 2013 +0200 qemu-iotests: Try creating huge qcow2 image It's supposed to fail gracefully instead of segfaulting. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c93331c9146719958a4b102435fcd0566da45ea2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 14:00:15 2013 +0200 qcow2.py: Subcommand for changing header fields Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a00e81e98f71c91a35b96bcd8ae431a86f42378d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 15:31:34 2013 +0200 qemu-io: Fix 'map' output The output of the 'map' command in qemu-io used to directly resemble bdrv_is_allocated() and could contain many lines for small chunks that all have the same allocation status. After this patch, they will be coalesced into a single output line for a large chunk. As a side effect, the command gains some error handling. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c8a83e8500329d82f1282c4905be11a39078007f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 10:43:43 2013 +0200 blockdev: Rename BlockdevAction -> TransactionAction There's no reason to restrict transactions to operations related to block devices, so rename the type now before schema introspection stops us from doing so. Also change the schema documentation of 'transaction' to not refer to block devices or snapshots any more. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ba0c86a34e29b31ef360feda74c94200a5403fdd Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:16 2013 +0800 block: make all steps in qmp_transaction() as callback Make it easier to add other operations to qmp_transaction() by using callbacks, with external snapshots serving as an example implementation of the callbacks. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 96b86bf72de0c6eda2799201517ef32910beb340 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:15 2013 +0800 block: package rollback code in qmp_transaction() Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3b0047e86a1c215d830b1ae1da0778db4636b83a Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:14 2013 +0800 block: package committing code in qmp_transaction() The code is simply moved into a separate function. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e2a31e8798e8246bed8ab396a71cd06bf95edde6 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:13 2013 +0800 block: move input parsing code in qmp_transaction() The code is moved into preparation function, and changed a bit to tip more clearly what it is doing. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9b9877ee9f1c27588a286f591852c0b7c0548b6a Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:12 2013 +0800 block: package preparation code in qmp_transaction() The code before really committing is moved into a function. Most code is simply moved from qmp_transaction(), except that on fail it just returns now. Other code such as input parsing is not touched, to make it easier in review. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 64afc2b4d48fb21e085517c38a59a3f61a11283c Merge: 95de21a... 70e098a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu May 23 14:16:34 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Michael Roth (10) and others # Via Luiz Capitulino * luiz/queue/qmp: monitor: allow to disable the default monitor ui/input.c: replace magic numbers with macros qapi: add native list coverage for QMP input visitor tests qapi: add native list coverage for QMP output visitor tests qapi: add native list coverage for visitor serialization tests qapi: fix visitor serialization tests for numbers/doubles qapi: add QMP input test for large integers json-parser: fix handling of large whole number values qapi: enable generation of native list code qapi: qapi-visit.py, native list support qapi: qapi-visit.py, fix list handling for union types qapi: qapi-types.py, native list support Message-id: 1369333232-24145-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 70e098af88f79340d420992af526254866a42ddd Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu May 16 12:02:55 2013 -0400 monitor: allow to disable the default monitor Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit b2d1674b75563326515cf2178cc1d0a002797a12 Author: Amos Kong <akong@xxxxxxxxxx> Date: Thu May 16 13:19:47 2013 +0800 ui/input.c: replace magic numbers with macros It's clearer to use defined macros than magic numbers. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 199e0f17f23a68c8d619e9e623d970324ed5efc1 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:10 2013 -0500 qapi: add native list coverage for QMP input visitor tests This exercises schema-generated visitors for native list types and does some sanity checking on validity of deserialized data. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 83c84667f57637fe5a7a6fc9905d6a9e9589d3e5 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:09 2013 -0500 qapi: add native list coverage for QMP output visitor tests This exercises schema-generated visitors for native list types and does some sanity checking on validity of serialized data. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 8addacddfece619f1795fcf6cb9a3c49f800e7b9 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:08 2013 -0500 qapi: add native list coverage for visitor serialization tests Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 089f26bb735fb414b79f5fa3753910d5339d2a1d Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:07 2013 -0500 qapi: fix visitor serialization tests for numbers/doubles We never actually stored the stringified double values into the strings before we did the comparisons. This left number/double values completely uncovered in test-visitor-serialization tests. Fixing this exposed a bug in our handling of large whole number values in QEMU's JSON parser which is now fixed. Simplify the code while we're at it by dropping the calc_float_string_storage() craziness in favor of GStrings. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e92cfa0d90c618ff1f131c60ef1b27aa6fe69a0a Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:06 2013 -0500 qapi: add QMP input test for large integers Large integers previously got capped to LLONG_MAX/LLONG_MIN so we could store them as int64_t. This could lead to silent errors occuring. Now, we use a double to handle these cases. Add a test to confirm that QMPInputVisitor handles this as expected if we're expected an integer value: errors for out of range integer values that got promoted to doubles in this fashion. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 3d5b3ec6d460a92245215aaf7b349b0b9e5ffa25 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:05 2013 -0500 json-parser: fix handling of large whole number values Currently our JSON parser assumes that numbers lacking a fractional value are integers and attempts to store them as QInt/int64 values. This breaks in the case where the number overflows/underflows int64 values (which is still valid JSON) Fix this by detecting such cases and using a QFloat to store the value instead. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 0b400e792718f59275d5d54c21de9a589b35a81f Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:03 2013 -0500 qapi: enable generation of native list code Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs qapi-types.c/qapi-visit.c Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 7c946bc418db6b2a11f89b3465424fef48f714eb Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:02 2013 -0500 qapi: qapi-visit.py, native list support Teach visitor generators about native types so they can generate the appropriate visitor routines. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c664aef551714e91b7d83a28617b6e767db30d11 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:01 2013 -0500 qapi: qapi-visit.py, fix list handling for union types Currently we assume non-list types when generating visitor routines for union types. This is broken, since values like ['Type'] need to mapped to 'TypeList'. We already have a type_name() function to handle this that we use for generating struct visitors, so use that here as well. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c0afa9c5f717d0ebf10c70c305974ebbffe4c71f Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:00 2013 -0500 qapi: qapi-types.py, native list support Teach type generators about native types so they can generate the appropriate linked list types. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 95de21a430f7bc4166a153b1f69b1425c8a99c7b Merge: 3459f01... d2ad502... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 22 08:22:36 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Christophe Lyon (1) and others # Via Michael Tokarev * mjt/trivial-patches: target-moxie: replace target_phys_addr_t with hwaddr Rename hexdump to avoid FreeBSD libutil conflict remove some double-includes translate: remove redundantly included qemu/timer.h Remove twice include of qemu-common.h fix /proc/self/maps output Message-id: 51977B44.1000302@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3459f01b2d9612070ec23221a4ccb60a41b775ae Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon May 13 14:20:02 2013 -0600 pci-assign: Add MSI affinity support To support guest MSI affinity changes update the MSI message any time the guest writes to the address or data fields. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130513201840.5430.86331.stgit@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 644c98587d4ccc09e7592e1688e4e7fa363c5a75 Author: Dmitry Fleytman <dfleytma@xxxxxxxxxx> Date: Mon May 20 11:18:14 2013 +0300 virtio-net: dynamic network offloads configuration Virtio-net driver currently negotiates network offloads on startup via features mechanism and have no ability to disable and re-enable offloads later. This patch introduced a new control command that allows to configure device network offloads state dynamically. The patch also introduces a new feature flag VIRTIO_NET_F_CTRL_GUEST_OFFLOADS. Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130520081814.GA8162@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b220025993e76d4116781ca91a4fabc5ad9c722 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue May 21 18:27:59 2013 +0800 chardev: Get filename for new qapi backend This patch sets the filename when the new qapi backend init from opts. The previous patch and discussions as link below: http://patchwork.ozlabs.org/patch/243896/ If anyone who have better idea to fix this please let me know your suggestions. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Message-id: 1369132079-11377-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a85e60cb994bd95d1537aafbff65816f3de4637 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue May 21 18:27:58 2013 +0800 chardev: Make the name of memory device consistent Now we have memory char device, but the backend name of it is a little confusion. We actually register it by 'memory', but the description in qemu-option, the name of open functions and the new api backend called it 'ringbuf'. It should keep consistent. This patch named it all to 'memory'. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1369132079-11377-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 17bf9735dd5a46d829cfb175703c6a2c254a9aa2 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Tue May 21 12:14:24 2013 -0400 ui/gtk.c: Fix *BSD build of Gtk+ UI Fix the build of the Gtk+ UI on *BSD systems. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 20130521161324.GA29977@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95916abcf428fb03644468c7fbce64356c6483c0 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed May 22 11:19:16 2013 +1000 qom/object: Don't poll cast cache for NULL objects object_dynamic_cast_assert used to be tolerant of NULL objects and not assert. It's clear from the implementation that this is the expected behavior. The preceding check of the cast cache dereferences obj however causing a segfault. Fix by conditionalizing the cast cache logic on obj being non-null. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 8e2bef6a55753869c50bfa32226f7fcf0439ca62.1369183592.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3d1bba20913356ff4f8ff2c38519f10c5f4b77e6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed May 22 13:01:43 2013 +1000 glib: Fix some misuses of gsize/size_t types This unbreaks cross compile builds: configure --target-list="i386-softmmu" --cpu=i386 When building on a 64bit machine. Reported-by: David Holsgrove <david.holsgrove@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 926326e96fd8685d74e9d5bf430fe4ad97a55289.1369191585.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1239b472bb0dba8060f1af29d40dafbc1b2860d4 Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Date: Fri May 17 14:51:21 2013 -0700 linux-user: Save the correct resume address for MIPS signal handling The current ISA mode needs to be saved in bit 0 of the resume address. If the current instruction happens to be in a branch delay slot, then the address of the preceding jump instruction should be stored instead. exception_resume_pc already does both of these tasks, so it is made available and reused. MIPS_HFLAG_BMASK in hflags is cleared, otherwise QEMU may treat the first instruction of the signal handler as a delay slot instruction. Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ea3164aafccdfdd8a9543787cdfa25fac30a5def Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Date: Fri May 17 14:51:20 2013 -0700 linux-user: Fix MIPS ISA transitions during signal handling Processors supporting the MIPS16 or microMIPS ISAs set bit 0 in target addresses to indicate that the target is written using a compressed ISA. During signal handling, when jumping to or returning from a signal handler, bit 0 of the destination PC is inspected and MIPS_HFLAG_M16 in hflags cleared or set accordingly. Bit 0 of the PC is then cleared. Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d8992825aedbb83b7a0e98284e0527bc82a6f7df Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon May 13 03:35:37 2013 +0200 target-mips: clean-up in BIT_INSV This is a small follow-up change to "fix incorrect behaviour for INSV". It includes two minor modifications: - sizefilter is constant so it can be moved inside of the block, - several lines of the code are replaced with a call to deposit64. No functional change. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9ce0e9275434bacdeba42dd32e0e8269293fe2cf Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 20 10:55:18 2013 -0500 Open up 1.6 development Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 371386fb60961e0afc02f03c817dff79633e323e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 20 07:22:02 2013 -0500 Update version for 1.5.0 release. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da4c1a7a850176cde4840eaec0a19c305843ad21 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Mon May 20 12:33:08 2013 +0200 osdep: fix qemu_anon_ram_free trace (+ fix compilation on 32 bit hosts) Commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 added a trace at each memory freeing, but unfortunately inverted size and pointer when printing them. Fix trace. This also led to a compilation error on 32 bit hosts: In file included from include/trace.h:4:0, from trace/generated-events.c:3: ./trace/generated-tracers.h: In function â??trace_qemu_anon_ram_freeâ??: ./trace/generated-tracers.h:64:9: error: format â??%zuâ?? expects argument of type â??size_tâ??, but argument 3 has type â??void *â?? [-Werror=format] ./trace/generated-tracers.h:64:9: error: format â??%pâ?? expects argument of type â??void *â??, but argument 4 has type â??size_tâ?? [-Werror=format] Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Message-id: 1369045989-14016-1-git-send-email-hpoussin@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3568ac2a6e6df89cea52a56f70b95af9e1251bbd Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu May 16 11:32:28 2013 -0400 Rename hexdump to avoid FreeBSD libutil conflict On FreeBSD libutil is used for openpty(), but it also provides a hexdump() which conflicts with QEMU's. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368718348-15199-1-git-send-email-emaste@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd2a2e1c552cb47ca196552457e175c889b58478 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon May 20 12:46:20 2013 +0200 vl: new runstate transition: RUN_STATE_GUEST_PANICKED -> RUN_STATE_FINISH_MIGRATE This fixes a problem that after guest panic happens, virsh dump without --memory-only fails: ERROR: invalid runstate transition: 'guest-panicked' -> 'finish-migrate' Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369046780-17498-1-git-send-email-pbonzini@xxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 08d0ab3fe6bc9dfb80967a0b7d3109bc9ec7585b Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 14:51:03 2013 +0800 chardev: Make consistent with udp device for new qapi backend When register and open a chardev udp, the backend name should be udp not dgram, and we do not have backend dgram in the chardev list. This patch makes the new qapi udp backend consistent with the original udp device. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Message-id: 1369032665-18159-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9b5df6f0cee6b09ef3b2e5228761dd3c2cdcad7 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun May 19 13:22:11 2013 +0200 ide/macio: fix wrong opaque with TRIM support Commit 215e47b9 enabled TRIM by default, which revealed a bug in TRIM support for the IDE macio emulation driver, introduced in d353fb72. The call to dma_bdrv_io() is using a wrong opaque of type IDEState instead of DBDMA_io. This patch fixes that. Fixes LP#1179104 Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Tested-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 118d1e4f59c36078a0d76d090d4c16deace47233 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon May 13 17:14:35 2013 +0200 target-mips: set carry bit correctly in DSPControl register First we need to clear the bit and then we set the given value. Instruction ADDSC sets the bit and instruction ADDWC uses this bit. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0ba365f4a9752a82502e829a3e8cb5f03a1ffc0c Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Sat May 18 03:53:41 2013 +0200 target-mips: fix EXTPDP and setting up pos field in the DSPControl reg This change makes sure that modifications of pos field in the DSPControl register do not trash other bits in the register. This bug can be triggered with the additional test case in mips32-dsp/extpdp.c in this commit. In addition to this, this change corrects incorrect calculation of the mask for EXTPDP. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d2ad50210b35c2685640f7df931a0fccb49334f7 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed May 15 14:04:29 2013 +0800 target-moxie: replace target_phys_addr_t with hwaddr target_phys_addr_t has been already replaced by hwaddr, but this one is introduced after. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 3a8ae21bd07e8a02e6e2eb4896790a62f979acda Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu May 16 11:32:28 2013 -0400 Rename hexdump to avoid FreeBSD libutil conflict On FreeBSD libutil is used for openpty(), but it also provides a hexdump() which conflicts with QEMU's. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 997aba8e257d183e978e9b08a26aceb4e905378d Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Tue May 14 14:55:17 2013 +0400 remove some double-includes Some source files #include the same header more than once for no good reason. Remove second #includes in such cases. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7bc9315d3a6a3c7d437e1c3d0e826121a035444a Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Apr 30 10:59:50 2013 +0800 translate: remove redundantly included qemu/timer.h Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-By: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit ce3a4718fe8edbe56b485778a76e9393e4f27c0e Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Date: Wed May 8 12:39:01 2013 +0800 Remove twice include of qemu-common.h This patch is used to remove twice include of "qemu-common.h" in block/win32-aio.c Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e24fed4ed4cb006c76924dacb1274f71477b9e3c Author: Christophe Lyon <christophe.lyon@xxxxxxxxxx> Date: Tue Apr 2 14:03:38 2013 +0200 fix /proc/self/maps output Add a space at end of line when there is no filename to print, to conform to linux kernel format (see show_map_vma() in fs/proc/task_mmu.c). Signed-off-by: Christophe Lyon <christophe.lyon@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 489ed4bbae309a6d897f6e037481c4c04f0737b5 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon May 13 15:20:26 2013 +0200 target-mips: fix incorrect behaviour for EXTP The mask for EXTP instruction when size=31 has not been correctly calculated. The test (mips32-dsp/extp.c) has been extended to include the case that triggers the issue. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 91b96cdc5befe56e7d9651189d0cbf06fc3f3902 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 17 10:01:00 2013 -0500 Update version for 1.5.0-rc3 release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ce4cc31695ee7e647ef5a3a3c1258089794dcb83 Merge: 77417f1... 2b72001... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 17 10:00:30 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-2013-05-13' into staging * mdroth/qga-pull-2013-05-13: qga: unlink just created guest-file if fchmod() or fdopen() fails on it qga: distinguish binary modes in "guest_file_open_modes" map Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 77417f10701d330c7005b0f0a2c0cef9e05d430d Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Thu May 16 16:25:44 2013 -0500 Revert "migration: don't account sleep time for calculating bandwidth" This reverts commit 7161082c8d8cf167c508976887a0a63f4db92b51. Reverting this patch fixes a divide-by-zero error in qemu that can be fairly reliably triggered by doing block migration. In this case, the configuration/error was: source: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios -M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive file=disk1.img,if=virtio -drive file=disk2.img,if=virtio -device virtio-net-pci,netdev=net0 -netdev user,id=net0 -monitor unix:/tmp/vm-hmp.sock,server,nowait -qmp unix:/tmp/vm-qmp.sock,server,nowait -vnc :100 16837 Floating point exception(core dumped) target: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios -M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive file=target_disk1.img,if=virtio -drive file=target_disk2.img,if=virtio -device virtio-net-pci,netdev=net0 -netdev user,id=net0 -incoming unix:/tmp/migrate.sock -monitor unix:/tmp/vm-hmp-incoming.sock,server,nowait -qmp unix:/tmp/vm-qmp-incoming.sock,server,nowait -vnc :101 Receiving block device images 20 % 21 % load of migration failed This revert potentially re-introduces a bug that was present in 1.4, but fixes a prevalent issue with block migration so we should revert it for now and take an updated patch later. Conflicts: migration.c * fixed up to remove logic introduced in 7161082c while leaving changes in HEAD intact Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1368739544-31021-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3cb8c205e36531a07dff1d8414c9e2cbf04c980b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 16 17:36:01 2013 +0200 main-loop: partial revert of 5e3bc73 This patch reverts part of 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f. Paolo Bonzini wrote this patch and commented: "WSAEventSelect is edge-triggered and the event will not be signaled if the socket handler does not consume all the data in the socket buffer." Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368718561-7816-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8db165b36ef893ac69af0452f20eeb78e7b26b5a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 16 17:36:00 2013 +0200 main-loop: narrow win32 pollfds_fill() event bitmasks pollfds_fill() and pollfds_poll() translate GPollFD to rfds/wfds/xfds for sockets on win32. select(2) is the underlying system call which is used to monitor sockets for activity. Currently file descriptors that monitor G_IO_ERR will be included in both rfds and wfds. As a result, select(2) will report writability on file descriptors where we only really wanted to monitor readability (with errors). slirp_pollfds_poll() hit this issue: UDP sockets are blocking sockets so we hang in sorecvfrom() when G_IO_ERR is set due to the socket being writable (we only wanted to check for readability). This patch fixes the slirp_pollfds_poll() hang. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1368718561-7816-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d46895b51103fa26c97ee0e0d895c004e9594d7 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu May 16 19:06:07 2013 +0200 virtio: add virtio_bus_get_dev_path. This adds virtio_bus_get_dev_path to fix migration id string which is wrong since the virtio refactoring. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368723967-21050-1-git-send-email-fred.konrad@xxxxxxxxxxxxx Cc: mdroth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c49fdf137f0ff74804e421f157297ab0ded5d012 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 15 16:38:35 2013 -0500 Update version for 1.5.0-rc2 release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6b41659f4eaf1daefd232a7eea6d96885eb52ee7 Merge: 8593e05... ad7f375... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 15 14:57:30 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Michael Roth (1) and Zhangleiqiang (1) # Via Luiz Capitulino * luiz/queue/qmp: qapi: fix leak in unit tests qmp: fix handling of cmd with Equals in qmp-shell Message-id: 1368625179-27962-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8593e050871c632e245190725b11f1e10c629ff2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 15 17:46:11 2013 +0200 qemu-common: Resolve vector build breakes for AltiVec On Mac OS X ppc, altivec.h defines "vector", leading to build breakage when used as variable name, e.g. in tracing code. Fix this by undefining identifiers after altivec.h inclusion. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Message-id: 1368632771-4328-1-git-send-email-andreas.faerber@xxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 262f27b93f459ec1dee4100015c109f5e1242091 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed May 15 15:00:39 2013 +0200 ide-test: Fix endianness problems The test case passes on big endian hosts now (tested on ppc64) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1368622839-7084-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 913b4b6bf39c97bc503a629b43c66d3270b5f3f5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 16:33:36 2013 +0100 hw/pci-host/versatile.c: Provide property for forcing broken IRQ mapping Although we try our best to automatically detect broken versions of Linux which assume the old broken IRQ mapping we used to implement for our model of the Versatile PCI controller, it turns out that some particularly new kernels manage to outwit the autodetection. We therefore provide a property for enabling the old broken IRQ mapping, so that if users happen to have such a kernel they can work around its deficiencies with the command line option: -global versatile_pci.broken-irq-mapping=1 Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368545616-22344-4-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc04d89165a4be6169cf44f1bdada9d48f8bad4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 16:33:35 2013 +0100 hw/pci-host/versatile.c: Update autodetect to detect newer kernels Newer versatilepb kernels still don't get the IRQ mapping right for the PCI controller, but they get it differently wrong (they add a fixed +64 offset to everything they write to PCI_INTERRUPT_LINE). Update the autodetection to handle these too, and include a more detailed comment on the various different behaviours that might be present. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368545616-22344-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 33201b51cbce9f18d6702a56429a4dbbe18a9961 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 16:33:34 2013 +0100 Revert "versatile_pci: Put the host bridge PCI device at slot 29" This reverts commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6. It turns out that some kernels incorrectly depend on the old QEMU behaviour of not putting the host PCI bridge device where the hardware puts it, because they use a swizzling IRQ mapping which is incorrect but happens to match up with old broken QEMU when the slot number mod 4 is zero. Since we start PCI devices at 11, if we put the host bridge at 29 then the first real PCI device goes at 11 and doesn't work. Not putting the host bridge at 29 means it defaults to 11, so the first real PCI device is at 12 and works. Since continuing with the old behaviour doesn't cause problems for kernels which do work with hardware, the simplest fix for this is to revert the change. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368545616-22344-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1405b6290fa2143e02dcede90b116d8d663ae669 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat May 11 21:46:58 2013 +0200 w32: Fix configure test for -march=i486 The latest version of MinGW needs a test for __sync_val_compare_and_swap to fix a missing symbol linker error. Reported-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1368301619-32097-2-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2d16c8e9885d4344a264c68feae28ae1e5f1c993 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 21:36:39 2013 +0100 configure: Detect uuid on MacOSX (fixes compile failure) Commit 7791dba3ec broke compilation on MacOSX, because it introduced a new include of util.h. On MacOSX this includes pwd.h which in turn includes the system uuid/uuid.h, which causes a compile failure if QEMU was configured without CONFIG_UUID due to a conflict between the system header and our fallback versions: block/vdi.c:124:20: error: static declaration of 'uuid_generate' follows non-static declaration static inline void uuid_generate(uuid_t out) ^ /usr/include/uuid/uuid.h:63:6: note: previous declaration is here void uuid_generate(uuid_t out); ^ Fix this breakage by improving configure's check for uuid to work on MacOSX (where there is no need to link in a separate libuuid). Note that if the user explicitly runs configure with '--disable-uuid' on MacOSX then QEMU will fail to compile. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368563799-22755-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1483adcf6ac978656718d4383d909c96dce395a6 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Wed May 15 16:20:40 2013 +0800 vnc: Make ledstate comparison before modifiers updated The ledstate should be compared before modifiers updated, otherwise the ledstate would be the same as current_led_state. Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1368606040-11950-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 800ced8cac361c5d492ac82c4aa344ff769ecf2e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed May 15 14:12:50 2013 +0200 virtio-net-x: forward the netclient name and type. This forwards the name and the type of virtio-net-x to fix the bad behaviour of "info network" command. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1368619970-23892-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8a253ec26ec6eb636c962a47767370f6032b8cf5 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed May 15 14:12:49 2013 +0200 virtio-net: add virtio_net_set_netclient_name. This adds virtio_net_set_netclient_name, which is used to set the name and type shown in "info network" command. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1368619970-23892-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ad7f375df681503baa6ebef065818868e1216976 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Thu May 9 21:20:57 2013 -0500 qapi: fix leak in unit tests qmp_output_get_qobject() increments the qobject's reference count. Since we currently pass this straight into qobject_to_json() so we can feed the data into a QMP input visitor, we never actually free the underlying qobject when qmp_output_visitor_cleanup() is called. This causes leaks on all of the QMP serialization tests. Fix this by holding a pointer to the qobject and decref'ing it before returning from qmp_deserialize(). Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 74bc9066bc2cf61dd12994ea3b73401d33112656 Author: Zhangleiqiang <zhangleiqiang@xxxxxxxxxx> Date: Mon May 6 08:31:23 2013 +0000 qmp: fix handling of cmd with Equals in qmp-shell qmp: fix handling of cmd with equal mark in qmp-shell qmp-shell splits the argument and value of input command by equal mark("="). But there are commands whose values include equal mark themselves, and the json built by qmp-shell will not correct. For example, when using NBD as the target of block-backup command, the input "block-backup target=nbd+unix:///drive0?socket=/tmp/nbd.sock" will fail, because the json built will be as follows: { "execute":"block-backup", "arguments":{"target":"nbd+unix:///drive0?socket"} } Fix it by joining the sections split by equal mark excluding the first section in __build_cmd function when the length of sections is larger than two. Signed-off-by: zhangleiqiang <zhangleiqiang@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 110db9b48c0a6379fca122801c3ae48e349aa6d4 Merge: e7a09b9... f3f4d2c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 14 10:24:37 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf # Via Stefan Hajnoczi * stefanha/block: block: Add hint to -EFBIG error message qcow2: Catch some L1 table index overflows Message-id: 1368543269-29784-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f3f4d2c09b9cf46903ba38425ec46c44185162bd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 14 16:14:34 2013 +0200 block: Add hint to -EFBIG error message The limit of qcow2 files at least depends on the cluster size. If the image format has a cluster_size option, suggest to increase it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2cf7cfa1cde6672b8a35bbed3fbc989f28c05dce Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 14 16:14:33 2013 +0200 qcow2: Catch some L1 table index overflows This catches the situation that is described in the bug report at https://bugs.launchpad.net/qemu/+bug/865518 and goes like this: $ qemu-img create -f qcow2 huge.qcow2 $((1024*1024))T Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976 encryption=off cluster_size=65536 lazy_refcounts=off $ qemu-io /tmp/huge.qcow2 -c "write $((1024*1024*1024*1024*1024*1024 - 1024)) 512" Segmentation fault With this patch applied the segfault will be avoided, however the case will still fail, though gracefully: $ qemu-img create -f qcow2 /tmp/huge.qcow2 $((1024*1024))T Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976 encryption=off cluster_size=65536 lazy_refcounts=off qemu-img: The image size is too large for file format 'qcow2' Note that even long before these overflow checks kick in, you get insanely high memory usage (up to INT_MAX * sizeof(uint64_t) = 16 GB for the L1 table), so with somewhat smaller image sizes you'll probably see qemu aborting for a failed g_malloc(). If you need huge image sizes, you should increase the cluster size to the maximum of 2 MB in order to get higher limits. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 16:19:56 2013 +0200 osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory We switched from qemu_memalign to mmap() but then we don't modify qemu_vfree() to do a munmap() over free(). Which we cannot do because qemu_vfree() frees memory allocated by qemu_{mem,block}align. Introduce a new function that does the munmap(), luckily the size is available in the RAMBlock. Reported-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1368454796-14989-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6eebf958abf3f3f701116d4524ef88bb9fd6e341 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 16:19:55 2013 +0200 osdep, kvm: rename low-level RAM allocation functions This is preparatory to the introduction of a separate freeing API. Reported-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1368454796-14989-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d34dc45d34618aa2495e892caba62a4aa521b386 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 14 12:15:54 2013 +0200 readline: Handle xterm escape sequences for Home/End keys This fixes the Home/End keys in the monitor using the GTK frontend. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1368526554-15866-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7791dba3ec10ab7daa7cfecf84c617594c9776cc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 14:05:21 2013 +0200 portability: pty.h is glibc-specific This should fix building the GTK+ front-end on BSDs. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368533121-30796-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d8e846e17cae31bfeee49d4da8a010fad3901cd9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 14:12:25 2013 +0200 spitz: fix compilation failure due to pty.h namespace pollution pty.h is polluting the global namespace with a CTRL macro. spitz thus fails compilation with the patch at http://article.gmane.org/gmane.comp.emulators.qemu/211337 and this patch fixes it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368533545-650-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2d3b989529727ccace243b953a181fbae04a30d1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 14 14:29:04 2013 +0200 acpi: add dummy write function for acpi timer Otherwise the guest can crash qemu (NULL pointer dereference). https://bugzilla.redhat.com/show_bug.cgi?id=947691 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1368534544-11826-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 035873283b3f7514ad77d409870ccfd5f9680d9e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 13 15:22:24 2013 -0500 qom: aggressively optimize qom casting This patch adds a small typename cache to ObjectClass. This allows caching positive casts within each ObjectClass. Benchmarking a PPC workload provided by Aurelien, this patch eliminates every single g_hash_table_lookup() happening during the benchmark (which was about 2 million per-second). With this patch applied, I get exactly the same performance (within the margin of error) as with --disable-qom-cast-debug. N.B. it's safe to cache typenames only from the _assert() macros because they are always called with string literals. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b087143b4d010451208264b7c841436aafe1cbb1 Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri May 10 18:59:45 2013 +0400 ui/gtk.c: do not use gdk_display_warp_pointer when GTK ver >3.0 Commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe "gtk: custom cursor support" introduced unconditional usage of gdk_display_warp_pointer(). This function is marked as deprecated since GTK-3.0, and triggers warning (error with -Werror) during compilation. Conditionally change gdk_display_warp_pointer() method usage to gdk_device_warp usage, as suggested by compiler. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 1368197985-44608-1-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9e1c2ec8fd8d9a9ee299ea86c5f6c986fe25e838 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:38:03 2013 +0200 Revert "pc: Kill the "use flash device for BIOS unless KVM" misfeature" This reverts commit 9953f8822cc316eec9962f0a2858c3439a80adec. While Markus's analysis is entirely correct, there are 1.6 patches that fix the bug for real and without requiring machine type hacks. Let's think of the children who will have to read this code, and avoid a complicated mess of semantics that differ between <1.5, 1.5, and >1.5. Conflicts: hw/i386/pc_piix.c hw/i386/pc_q35.c include/hw/i386/pc.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1368189483-7915-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3556c233d931ad5ffa46a35cb25cfc057732ebb8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:40 2013 +0200 qom: allow turning cast debugging off Cast debugging can have a substantial cost (20% or more). Instead of adding special-cased "fast casts" in the hot paths, we can just disable it in releases. The tracing facilities we just added make it easier to analyze those problems that cast debugging would reveal. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-7-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fa131d94a5c00c6bbea39358d4bca7bf98f6c1f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:39 2013 +0200 qom: trace asserting casts This provides a way to detect the cast that leads to a (reproducible) crash even when QOM cast debugging is disabled. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be17f18b8cd438be7f8f65000c0baecdd5b34634 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:38 2013 +0200 qom: pass file/line/function to asserting casts Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 793c96b5403233fd9935c94b2af6d557c297a088 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:37 2013 +0200 qom: add a fast path to object_class_dynamic_cast For leaf classes, in many cases the callbacks will simply downcast the object back to the original class. Add this fast path to object_class_dynamic_cast, object_dynamic_cast will inherit it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bf0fda346694db1eddecff1d74ff9f4d5eba3461 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:36 2013 +0200 qom: allow casting of a NULL class This mimics what we do in object_dynamic_cast_assert. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 33bc94eb209864b4aef7f341f0c2b7cd8740396f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:35 2013 +0200 qom: improve documentation of cast functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b720018060179b394f8ce736983373ab80dd37c Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed May 8 17:31:36 2013 +0200 qga: unlink just created guest-file if fchmod() or fdopen() fails on it We shouldn't allow guest filesystem pollution on error paths. Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 8fe6bbca7176c9dfb35083a71bda95c1856e2ed5 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed May 8 17:31:35 2013 +0200 qga: distinguish binary modes in "guest_file_open_modes" map In Windows guests this may make a difference. Since the original patch (commit c689b4f1) sought to be pedantic and to consider theoretical corner cases of portability, we should fix it up where it failed to come through in that pursuit. Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit f6e136e47a6adc176cb53a24cf5a515ca09f977f Merge: 879367e... 98b2d19... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 13 09:44:25 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches-next' into staging # By Dong Xu Wang (2) and others # Via Michael Tokarev * mjt/trivial-patches-next: osdep.h: include sys/types.h for ssize_t definition remove double semicolons clean unnecessary code: don't check g_strdup arg for NULL docs: mention AddressSpaces in docs/memory.txt audio: update documentation after removing --audio-card-list option m25p80.c: Sync Flash chip list with Linux bsd-user: OS-agnostic 64-bit SYSCTL types Message-id: 518F61B9.9050803@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 879367efba1f2e9733ff76d03041324b5b76f645 Merge: 38ebb39... 0a2b5e3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 13 09:44:04 2013 -0500 Merge remote-tracking branch 'spice/spice.v70' into staging # By Hans de Goede # Via Gerd Hoffmann * spice/spice.v70: qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode Message-id: 1368093776-8949-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 98b2d199c109c9eabebb70965db0ae24f3f75a79 Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri May 10 23:58:21 2013 +0400 osdep.h: include sys/types.h for ssize_t definition sys/types.h is taken out from "ifdef __OpenBSD__" guard. It should be safe for other systems, according to following survey: http://hacks.owlfolio.org/header-survey/ This fixes build for CONFIG_IOVEC-less systems (mingw). Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c7e775e4dda91472ec538101c536ea8950fe1515 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu May 9 15:53:50 2013 +0800 remove double semicolons Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7f303adc4f0aaa71b196d9f983150f3ec3367b46 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu May 9 15:53:49 2013 +0800 clean unnecessary code: don't check g_strdup arg for NULL Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 2d40178a33293603a06fdf3c0fd9988322bc5fda Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 18:23:38 2013 +0200 docs: mention AddressSpaces in docs/memory.txt Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 59d827629360097caa9a4f160680affde84cb4c8 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat May 4 16:17:37 2013 +0200 audio: update documentation after removing --audio-card-list option Commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c removed the --audio-card-list option in configure, and commit 8f3b664f6cc4153cc73941c941d54c4e499b7537 always compiled in the adlib, gus and cs4231a audio cards. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 3e758c1df05bcd305cb761beddeb078b67c3ab88 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Wed May 1 10:40:53 2013 -0400 m25p80.c: Sync Flash chip list with Linux Add new devices for various manufacturers, and re-sort Spansion list to match the order in Linux, which requires chips with a non-zero extended ID to come first. With this commit the outstanding differences to Linux rev 55bf75b are: - Erase size flag differences in s25sl032p, s25sl064p, s25fl016k, s25fl064k (These devices have only some blocks that support small erase sizes.) - Linux lacks n25q128 - Devices without a Jedec ID have been excluded Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e6a3ee5f7981e7df40aa581ebc245fd0a7d3bed0 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Tue Apr 30 09:29:32 2013 -0400 bsd-user: OS-agnostic 64-bit SYSCTL types Use existence of type as #ifdef condition rather than FreeBSD-specific version check, as suggested by Patrick Welche. Also handle the signed (CTLTYPE_S64) case identically to the unsigned (CTLTYPE_U64) case, per later patches in the FreeBSD ports tree (emulators/qemu-devel/files/patch-z-arm-bsd-user-001). Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 38ebb396c955ceb2ef7e246248ceb7f8bfe1b774 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Thu May 9 19:36:41 2013 +0200 target-i386: ROR r8/r16 imm instruction fix Fix EFLAGS corruption by ROR r8/r16 imm instruction located at the end of the TB, similarly to commit 089305ac for the non-immediate case. Reported-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 66e61b55f158ef5628e4c056dd2f233c9351a3f5 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Wed May 8 22:36:39 2013 +0200 tcg/optimize: fix setcond2 optimization When setcond2 is rewritten into setcond, the state of the destination temp should be reset, so that a copy of the previous value is not used instead of the result. Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0a2b5e3a7899b40d05d7c6c1c41eb4e64dd2ed4b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 23 10:18:16 2013 +0200 qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs to know what part of the primary to use for each monitor. If the guest driver does not support this, the server sends messages to the client for a single monitor spanning the entire primary. As soon as the guest calls spice_qxl_monitors_config_async once, the server sets the red_worker driver_has_monitors_config flag and stops doing this. This is a problem when the driver gets unloaded, for example after a reboot or when switching to a text vc with usermode mode-setting under Linux. To reproduce this start a multi-mon capable Linux guest which uses usermode mode-setting and then once X has started switch to a text vc. Note how the client window does not only not resize, if you try to resize it manually you always keep blackborders since the aspect is wrong. This patch calls a new spice-server method called spice_qxl_driver_unload which clears the driver_has_monitors_config flag inside the server, thereby fixing this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 47ec15cdd44877e553ed0bd0a16aea8a295dad62 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 8 15:54:47 2013 -0500 Update version for 1.5.0-rc1 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cad2b59c198340a636c5e015fb90e0326a1d3dd7 Merge: 5f5a131... 794d00f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 8 15:54:36 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (7) and Fam Zheng (3) # Via Kevin Wolf * kwolf/for-anthony: qemu-iotests: fix 017 018 for vmdk qemu-iotests: exclude vmdk and qcow from 043 qemu-iotests: exclude vmdk for test 042 qtest/ide-test: Test short and long PRDTs qtest/ide-test: Add simple DMA read/write test case qtest: Add IDE test case libqos/pci: Enable bus mastering ide: Reset BMIDEA bit when the bus master is stopped de_DE.po: Add missing leading spaces ahci: Don't allow creating slave drives Message-id: 1368023344-29731-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f5a1318653c08e435cfa52f60b6a712815b659d Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue May 7 13:42:49 2013 +0800 virtio: properly validate address before accessing config There are several several issues in the current checking: - The check was based on the minus of unsigned values which can overflow - It was done after .{set|get}_config() which can lead crash when config_len is zero since vdev->config is NULL Fix this by: - Validate the address in virtio_pci_config_{read|write}() before .{set|get}_config - Use addition instead minus to do the validation Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Petr Matousek <pmatouse@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Petr Matousek <pmatouse@xxxxxxxxxx> Message-id: 1367905369-10765-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue May 7 15:49:58 2013 +0300 virtio-pci: fix level interrupts mask notifiers are never called without msix, so devices with backend masking like vhost don't work. Call mask notifiers explicitly at startup/cleanup to make it work. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d551d220c9574b00a318297b8654344e13e0efde Merge: 554ecc57... 36f48d9... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Wed May 8 21:02:06 2013 +0200 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: PPC: Depend behavior of cmp instructions only on instruction encoding commit 554ecc5774badd181458fe3d6a1624c2ede9f04e Author: Alexander Graf <agraf@xxxxxxx> Date: Mon May 6 19:49:43 2013 +0200 PPC: Fix rldcl The implementation for rldcl tried to always fetch its parameters from the opcode, even though the opcode was already passed in in decoded and different forms. Use the parameters instead, fixing rldcl. Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx> Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 36f48d9c78c438170aa7259bdde67086c9b7e795 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed May 8 15:19:14 2013 +0200 PPC: Depend behavior of cmp instructions only on instruction encoding When running an L=1 cmp instruction on a 64bit PPC CPU with SF off, it still behaves identical to what it does when SF is on. Remove the implicit difference in the code. Also, on most 32bit CPUs we should always treat the compare as 32bit compare, as the CPU will ignore the L bit. This is not true for e500mc, but that's up for a different patch. Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Wed May 8 13:17:40 2013 +0200 target-mips: fix incorrect behaviour for INSV Corner case for INSV instruction when size=32 has not been correctly implemented. The mask for size should be one bit wider, and preparing the filter variable should be aware of this case too. The test for INSV has been extended to include the case that triggers the bug. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 639eadb9a32775e1c70bbf37d347972ca41128d1 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Wed May 8 16:09:04 2013 +0200 target-mips: add missing check_dspr2 for multiply instructions The emulator needs to check in hflags if DSP unit has been turned off before it generates code for MUL_PH, MUL_S_PH, MULQ_S_W, and MULQ_RS_W. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 794d00f71d39e3d18eafade579b2ecb665d6d481 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue May 7 19:13:05 2013 +0800 qemu-iotests: fix 017 018 for vmdk 017 and 018 use /bin/mv to move base img from t.IMGFMG to t.IMGFMT.base after filling data, this is not enough for vmdk, when t.IMGFMT is only a description text file who points to t-{flat,s001,f001,...}.IMGFMT as data extent, so testing such subformats alway fails on them. This patch use the trick of temprorily changing TEST_IMG to avoid using /bin/mv. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dbcdd7cb04595cc0015f2dba6be751faa63fab00 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue May 7 19:13:04 2013 +0800 qemu-iotests: exclude vmdk and qcow from 043 043 tests recursive backing file by changing backing file. VMDK has not implemented this yet, and qcow1 probably never will. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1afe2726632a3344b92757bacdff57df49ef43e1 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue May 7 19:13:03 2013 +0800 qemu-iotests: exclude vmdk for test 042 Zero sized disk is not supported by qemu vmdk driver, exclude vmdk from the test script. As tested on vmware-vdiskmanager and vmware workstation, zero sized disk is not supported by vmware, either. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 948eaed171e0dac541a59b42867f80881399bbd0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 13 13:30:24 2013 +0100 qtest/ide-test: Test short and long PRDTs This tests the behaviour of the DMA engine when the given PRDT contains physical region descriptors for either more or less bytes than the IDE request is for. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b95739dcf5ae1dfa8cd5b2a5be27d427835e693b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed May 8 11:34:20 2013 +0200 qtest/ide-test: Add simple DMA read/write test case This tests that single sectors can be successfully written and correctly read back. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acbe48013bf1eb9c9a435e76959f409584b35509 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed May 8 11:18:41 2013 +0200 qtest: Add IDE test case This adds a simple IDE test case and starts by verifying that IDENTIFY can be successfully used and return the correct serial number, version and the WCE flag is set for cache=writeback. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9f0332b8cf27020d70be92f5e664466f0bcb84ec Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 13 17:00:40 2013 +0100 libqos/pci: Enable bus mastering Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b39f96126549e2834152211a99919917423d2212 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 13 16:53:06 2013 +0100 ide: Reset BMIDEA bit when the bus master is stopped The device is supposed to reset the Bus Master IDE Active bit in the status register when 0 is written to the Start/Stop Bus Master bit in the command register. In the common cases this happens automatically because bdrv_drain_all() flushes the requests, but with a large PRDT it could remain set. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3bac85d33716d9024afb8a262a39032bc0bba3ed Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 7 15:23:41 2013 +0200 de_DE.po: Add missing leading spaces Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0ee20e665840d8a887c145b368ee121cb86a028e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 6 15:58:04 2013 +0200 ahci: Don't allow creating slave drives An IDE bus provided by AHCI can only take a single IDE drive. If you add a drive as slave, qemu used to accept the command line but the device wouldn't be actually usable. Catch the situation instead and error out. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 15d23fb96656b1ae31bf4305b2108230c29298c6 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 7 06:50:19 2013 -0500 Update version for qemu-1.5.0-rc0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b174de51ae397549f58b1b76efa9026b213a1efd Merge: c689b4f... 4e906d5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 7 06:48:31 2013 -0500 Merge remote-tracking branch 'kraxel/usb.82' into staging # By Gerd Hoffmann (3) and Hans de Goede (1) # Via Gerd Hoffmann * kraxel/usb.82: xhci: handle USB_RET_BABBLE uhci: Use an intermediate buffer for usb packet data usb-host: add usb_host_full_speed_compat usb-host: live migration support for the libusb version Message-id: 1367920207-1404-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c689b4f1bac352dcfd6ecb9a1d45337de0f1de67 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Apr 24 13:13:18 2013 +0200 qga: set umask 0077 when daemonizing (CVE-2013-2007) The qemu guest agent creates a bunch of files with insecure permissions when started in daemon mode. For example: -rw-rw-rw- 1 root root /var/log/qemu-ga.log -rw-rw-rw- 1 root root /var/run/qga.state -rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log In addition, at least all files created with the "guest-file-open" QMP command, and all files created with shell output redirection (or otherwise) by utilities invoked by the fsfreeze hook script are affected. For now mask all file mode bits for "group" and "others" in become_daemon(). Temporarily, for compatibility reasons, stick with the 0666 file-mode in case of files newly created by the "guest-file-open" QMP call. Do so without changing the umask temporarily. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d7108d90100d5bac5965abef5ed73f2602adae14 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Apr 26 18:27:40 2013 +0800 virtio-net: properly check the vhost status during status set Commit 32993698 (vhost: disable on tap link down) tries to disable the vhost also when the peer's link is down. But the check was not done properly, the vhost were only started when: 1) peer's link is not down 2) virtio-net has already been started. Since == have a higher precedence than &&, place a brace to make sure both the conditions were met then does the check. This fixes the crash when doing a savem after set the link off which let qemu crash and complains: virtio_net_save: Assertion `!n->vhost_started' failed. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1366972060-21606-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd8192a5a868ddbb711abbf4a871b09bbb1dae04 Merge: b5803aa... 4458c23... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 7 06:32:00 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Eduardo Habkost (6) and others # Via Andreas Färber * afaerber/qom-cpu: target-i386: n270 can MOVBE target-i386: Introduce generic CPUID feature compat function target-i386: Change CPUID model of 486 to 8 target-i386: Emulate X86CPU subclasses for global properties qdev: Introduce qdev_prop_set_globals_for_type() qdev: Let qdev_prop_parse() pass through Error target-i386: Add "filtered-features" property to X86CPU target-i386: Introduce X86CPU::filtered_features field target-i386: Add "feature-words" property to X86CPU target-i386: Use FeatureWord loop on filter_features_for_kvm() target-i386: Add ECX information to FeatureWordInfo commit 4e906d567a97ee45b4922001bf521dad0bde5268 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 6 12:33:56 2013 +0200 xhci: handle USB_RET_BABBLE Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9822261ce3bfbc7aec8b2a3e378892dc368910ed Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon May 6 10:48:57 2013 +0200 uhci: Use an intermediate buffer for usb packet data Due to various unfortunate reasons we cannot reliable detect a guest cancelling a packet as soon as it happens, instead we detect cancels with some delay. When packets are handled async, and we directly pass the guest memory for the packet to the usb-device as iovec, this means that the usb-device can write to guest-memory which the guest has already re-used for other purposes -> not good! This patch fixes this by adding an intermediate buffer and writing back not only the result, but also the data, of async completed packets when scanning the schedule. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c3268cc1135f41264cd26bcb269b3414d3c11453 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 6 13:12:16 2013 +0200 usb-host: add usb_host_full_speed_compat Alloes to pass through usb2 devices on usb1 host controllers if possible. Brings the libusb implementation to feature-parity with the linux usbfs code, so the usb-host implementation in 1.5 (libusb) doesn't regress compared to 1.4 (usbfs). Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 95efb20c714800de7eaf991f19dab6e7a29d5364 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 14:29:08 2013 +0200 usb-host: live migration support for the libusb version Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b5803aa3583e82e5133f7621121bc15ee694f4a1 Merge: fe677fd... 0c1cd0a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 6 15:45:08 2013 -0500 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging # By Marcelo Tosatti # Via Gleb Natapov * qemu-kvm/uq/master: kvmvapic: add ioport read accessor Message-id: cover.1367844188.git.gleb@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4458c23672904fa131e69897007eeb7c953be7e5 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Apr 25 15:43:04 2013 -0300 target-i386: n270 can MOVBE The Atom core (cpu name "n270" in QEMU speak) supports MOVBE. This is needed when booting 3.8 and later linux kernels built with the MATOM target because we require MOVBE in order to boot properly now. Signed-off-by: Borislav Petkov <bp@xxxxxxx> [ehabkost: added compat code to disable MOVBE on pc-*-1.4 and older] Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0668af542f99b7bb1d95539829b27d5a1bcecde4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Apr 25 15:43:00 2013 -0300 target-i386: Introduce generic CPUID feature compat function Introduce x86_cpu_compat_set_features(), that can be used to set/unset feature bits on specific CPU models for machine-type compatibility. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fe677fd1b3fde96110898fde5101bea4cfe6e063 Merge: e0ff466... 2ddef42... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon May 6 19:56:27 2013 +0200 Merge branch 's390-for-upstream' of git://github.com/agraf/qemu * 's390-for-upstream' of git://github.com/agraf/qemu: s390: update s390-ccw.img S390: BIOS boot from given device S390: Add virtio-blk boot S390: Merging s390_ipl_cpu and s390_ipl_reset S390: BIOS create link to src folder for .img file S390: BIOS check for file commit b2a856d99281f2fee60a4313d204205bcd2c4269 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 17:30:51 2013 +0200 target-i386: Change CPUID model of 486 to 8 This changes the model number of 486 to 8 (DX4) which matches the feature set presented, and actually has the CPUID instruction. This adds a compatibility property, to keep model=0 on pc-*-1.4 and older. Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> [AF: Add compat_props entry] Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ba2bc7a42e7c7b343f996967484ce3a1543cfebc Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 17:05:47 2013 +0200 target-i386: Emulate X86CPU subclasses for global properties After initializing the object from its x86_def_t and before setting any additional -cpu arguments, set any global properties for the designated subclass <name>-{i386,x86_64}-cpu. Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 868d378bb087c6003bfa0e431aec0e5871a90ff4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 16:03:19 2013 +0200 qdev: Introduce qdev_prop_set_globals_for_type() Reuse it in qdev_prop_set_globals(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> [AF: Renamed from qdev_prop_set_custom_globals()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b1fe9bcbceb6fb9d800f735da37aa79ac4552c6e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 16:10:24 2013 +0200 qdev: Let qdev_prop_parse() pass through Error Move error reporting to callers. Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7e5292b553c9ec27e0816abdcb717f87aa6b6a8d Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 6 13:20:09 2013 -0300 target-i386: Add "filtered-features" property to X86CPU This property will contain all the features that were removed from the CPU because they are not supported by the host. This way, libvirt or other management tools can emulate the check/enforce behavior by checking if filtered-properties is all zeroes, before starting the guest. Example output where some features were missing: $ qemu-system-x86_64 -enable-kvm -cpu Haswell,check -S \ -qmp unix:/tmp/m,server,nowait warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12] warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] warning: host doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24] warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26] warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28] warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit 0] warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3] warning: host doesn't support requested feature: CPUID.07H:EBX.hle [bit 4] warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7] warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9] warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] warning: host doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11] [...] $ ./QMP/qmp --path=/tmp/m \ qom-get --path=/machine/icc-bridge/icc/child[0] \ --property=filtered-features item[0].cpuid-register: EDX item[0].cpuid-input-eax: 2147483658 item[0].features: 0 item[1].cpuid-register: EAX item[1].cpuid-input-eax: 1073741825 item[1].features: 0 item[2].cpuid-register: EDX item[2].cpuid-input-eax: 3221225473 item[2].features: 0 item[3].cpuid-register: ECX item[3].cpuid-input-eax: 2147483649 item[3].features: 0 item[4].cpuid-register: EDX item[4].cpuid-input-eax: 2147483649 item[4].features: 0 item[5].cpuid-register: EBX item[5].cpuid-input-eax: 7 item[5].features: 4025 item[5].cpuid-input-ecx: 0 item[6].cpuid-register: ECX item[6].cpuid-input-eax: 1 item[6].features: 356519936 item[7].cpuid-register: EDX item[7].cpuid-input-eax: 1 item[7].features: 0 Example output when no feature is missing: $ qemu-system-x86_64 -enable-kvm -cpu Nehalem,enforce -S \ -qmp unix:/tmp/m,server,nowait [...] $ ./QMP/qmp --path=/tmp/m \ qom-get --path=/machine/icc-bridge/icc/child[0] \ --property=filtered-features item[0].cpuid-register: EDX item[0].cpuid-input-eax: 2147483658 item[0].features: 0 item[1].cpuid-register: EAX item[1].cpuid-input-eax: 1073741825 item[1].features: 0 item[2].cpuid-register: EDX item[2].cpuid-input-eax: 3221225473 item[2].features: 0 item[3].cpuid-register: ECX item[3].cpuid-input-eax: 2147483649 item[3].features: 0 item[4].cpuid-register: EDX item[4].cpuid-input-eax: 2147483649 item[4].features: 0 item[5].cpuid-register: EBX item[5].cpuid-input-eax: 7 item[5].features: 0 item[5].cpuid-input-ecx: 0 item[6].cpuid-register: ECX item[6].cpuid-input-eax: 1 item[6].features: 0 item[7].cpuid-register: EDX item[7].cpuid-input-eax: 1 item[7].features: 0 Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 034acf4a581b03fc10cba772f731ae521e00fcd8 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 6 13:20:08 2013 -0300 target-i386: Introduce X86CPU::filtered_features field This field will contain the feature bits that were filtered out because of missing host support. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8e8aba5054c043027445c880fcb9dbc8f6a217f3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 6 13:20:07 2013 -0300 target-i386: Add "feature-words" property to X86CPU This property will be useful for libvirt, as libvirt already has logic based on low-level feature bits (not feature names), so it will be really easy to convert the current libvirt logic to something using the "feature-words" property. The property will have two main use cases: - Checking host capabilities, by checking the features of the "host" CPU model - Checking which features are enabled on each CPU model Example output: $ ./QMP/qmp --path=/tmp/m \ qom-get --path=/machine/icc-bridge/icc/child[0] \ --property=feature-words item[0].cpuid-register: EDX item[0].cpuid-input-eax: 2147483658 item[0].features: 0 item[1].cpuid-register: EAX item[1].cpuid-input-eax: 1073741825 item[1].features: 0 item[2].cpuid-register: EDX item[2].cpuid-input-eax: 3221225473 item[2].features: 0 item[3].cpuid-register: ECX item[3].cpuid-input-eax: 2147483649 item[3].features: 101 item[4].cpuid-register: EDX item[4].cpuid-input-eax: 2147483649 item[4].features: 563346425 item[5].cpuid-register: EBX item[5].cpuid-input-eax: 7 item[5].features: 0 item[5].cpuid-input-ecx: 0 item[6].cpuid-register: ECX item[6].cpuid-input-eax: 1 item[6].features: 2155880449 item[7].cpuid-register: EDX item[7].cpuid-input-eax: 1 item[7].features: 126614521 Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd87d2a2c05569a28768648b069cbc24c40f4fb8 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:18 2013 -0300 target-i386: Use FeatureWord loop on filter_features_for_kvm() Instead of open-coding the filtering code for each feature word, change the existing code to use the feature_word_info array, that has exactly the same CPUID eax/ecx/register values for each feature word. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 04d104b61198615c259d1851684b2713213dcf99 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:16 2013 -0300 target-i386: Add ECX information to FeatureWordInfo FEAT_7_0_EBX uses ECX as input, so we have to take that into account when reporting feature word values. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2ddef429d14136a0156a75b1d77b72cb3bdad18f Author: Alexander Graf <agraf@xxxxxxx> Date: Wed May 1 04:50:05 2013 +0200 s390: update s390-ccw.img Now that we have boot device selection support, update the firmware blob accordingly. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ff151f4ec977c38266b79ebfbb6e8689f2121d4f Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 30 07:15:58 2013 +0000 S390: BIOS boot from given device Use the passed device, if there is no device, use the first applicable device. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba1509c0a99ad4c852c22cbd46d244ec7dc90402 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 30 07:15:57 2013 +0000 S390: Add virtio-blk boot If no kernel IPL entry is specified, boot the bios and pass if available device information for the first boot device (as given by the boot index). The provided information will be used in the next commit from the BIOS. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2c4c71ee3a904bd07141c6499e5834818e6757f1 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 30 07:15:56 2013 +0000 S390: Merging s390_ipl_cpu and s390_ipl_reset There is no use in have this splitted in two functions. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e89e33e12e4185fa056a5d7ae6d2e8e7f5400a20 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 04:52:06 2013 +0000 S390: BIOS create link to src folder for .img file For *.img files, there will be a link created directly to the src folder, like for all other blobs. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1f7de853306499b83e627a09b15281fd6d566a51 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 04:52:05 2013 +0000 S390: BIOS check for file Add a check if the BIOS blob exists before trying to load. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0ff466c86bfb3b865865431bf8aa67287691917 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu May 2 20:22:03 2013 +0000 spapr_llan: fix device reenabling Normally, the "tap" device is polled by QEMU if a guest NIC can receive packets. If a guest NIC is stopped during transfer (rmmod or ifdown), it may still have packets in a queue which have to be send to the guest before QEMU enables polling of a "tap" interface via tap_update_fd_handler(). However the spapr_llan device was missing the qemu_flush_queued_packets() call so the tap_send_completed() callback was never called and therefore "tap" interface polling was not enabled ever. The patch fixes this problem. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 43d03f299a017186e00f47c5b10f732492d496a6 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Wed May 1 15:22:59 2013 +0000 PPC: e500: correct params->ram_size with ram_size We should sync params->ram_size after we fixup memory size on a alignment boundary. Otherwise Guest would exceed the actual memory region. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 04559d5210860ea5853db09c75ea8ff2f8843e16 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed May 1 00:44:51 2013 +0000 target-ppc: Add read and write of PPR SPR Recent Linux kernels save and restore the PPR across exceptions so we need to handle it. Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c05541ee191107eb35093fb693e4ec038e60d2c0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed May 1 00:43:59 2013 +0000 target-ppc: Fix invalid SPR read/write warnings Invalid and privileged SPR warnings currently print the wrong address. While fixing that, also make it clear that we are printing both the decimal and hexadecimal SPR number. Before: Trying to read invalid spr 896 380 at 0000000000000714 After: Trying to read invalid spr 896 (0x380) at 0000000000000710 Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 126a79300971ab9314925c3ebbbd6c776bebf3f1 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu May 2 00:27:51 2013 +0200 PPC: Add MMU type for 2.06 with AMR but no TB pages When running -cpu on a POWER7 system with PR KVM, we mask out the 1TB MMU capability from the MMU type mask, but not the AMR bit. This leads to us having a new MMU type that we don't check for in our MMU management functions. Add the new type, so that we don't have to worry about breakage there. We're not going to use the TCG MMU management in that case anyway. The long term fix for this will be to move all these MMU management functions to class callbacks. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4807ab4f36740b64a0dfa30ae90fe2e8a7d96fbb Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Tue Apr 30 03:42:23 2013 +0000 pseries: Update SLOF firmware image Minor SLOF fixes which are required for libvirtd to function properly: * vio-vscsi: vscsi-report-luns can return 0 * vio-vscsi: added a proper lun parser * SLOF: vio-vscsi: fixed bug with reported luns Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cefd3cdbdd9fc9a7d5ab324291904074d2aa69a0 Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Mon Apr 29 04:40:56 2013 +0000 PPC: e500: initialize GPRs as per epapr ePAPR defines the initial values of cpu registers. This patch initialize the GPRs as per ePAPR specification. This resolves the issue of guest reboot/reset (guest hang on reboot). Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: add whitespace line] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b55519a0f29fca0ef7ebc5d87ee4bfa7304dc219 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 18:33:52 2013 +0000 pseries: Fix debug message for out-of-bounds address in H_PUT_TCE Due to a brain outage, this message says "out-of-boards" instead of "out-of-bounds". Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d4261662b67b48e52f747ee1e3c31cf873c5c982 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 18:33:51 2013 +0000 pseries: Factor out check for out-of-bounds LIOBN PAPR defines LIOBNs (Logical IO Bus Numbers) to be 32-bit, and we check for values that aren't in the code for H_PUT_TCE. This patch factors the check into spapr_tce_find_by_liobn(), which already checks if a 32-bit LIOBN actually exists. This will become more important as future patches add other hypercalls which need to look up a LIOBN. At the same time we fix the typo in the message. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0c1cd0ae2a4faabeb948b9a07ea1696e853de174 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Sun May 5 17:51:49 2013 -0300 kvmvapic: add ioport read accessor Necessary since memory region accessor assumes read and write methods are registered. Otherwise reading I/O port 0x7e segfaults. https://bugzilla.redhat.com/show_bug.cgi?id=954306 Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 8e515b125d5f7849167dbee6cbe6ef61636607d4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat May 4 21:57:51 2013 +0100 configure: Check that "libtool" is not the MacOSX one The "libtool" binary on MacOSX is not GNU libtool, and doesn't support anything like the same set of command line options. Test whether we have accidentally picked this up (by looking for whether it handles the GNU --version switch), and discard it if so. The fallback machinery for the "we don't have a libtool" case will work fine. This fixes a failure in "make install" on MacOSX. Reported-by: Peter Cheung <mcheung63@xxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1367701071-6630-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4b006b7a5bce59d4f692d5da04eede5f6d0f31c Merge: 1e65fe5... b6f54b3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 6 06:49:51 2013 -0500 Merge remote-tracking branch 'afaerber-or/prep-up' into staging # By Andreas Färber (1) and others # Via Andreas Färber * afaerber-or/prep-up: prep: Make System I/O port 0092 read/write prep: Add ELF support for -bios prep: Fix NIP reset value commit 1e65fe536782132316ddae0a92f3c4e4f563cafb Merge: 467b346... 462566f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 6 06:47:28 2013 -0500 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging # By Jean-Christophe DUBOIS # Via Peter Maydell * pmaydell/arm-devs.next: i.MX: implement a more correct version of EPIT timer. Message-id: 1367603215-5120-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b6f54b31e7cfb2e88b76fc6cfc5334a26d1b9e53 Author: Julio Guerra <guerr@xxxxxxxx> Date: Sun May 5 23:29:48 2013 +0200 prep: Make System I/O port 0092 read/write Port 0x0092 is documented as read/write, so for now return the endianness state instead of hardcoded 0x00. Signed-off-by: Julio Guerra <guerr@xxxxxxxx> [AF: Extracted from larger port 0092 patch] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 97c42c3c93d58e14960bfd78771ed154a860acf8 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Apr 27 21:23:23 2013 +0200 prep: Add ELF support for -bios This prepares for switching from OpenHack'Ware to OpenBIOS. While touching the error handling code, switch from aborting hw_error() to fprintf()+exit() and suppress failing without -bios for qtest. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 88432756ead526d9c321c20f10fafdbe40e5eaba Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Apr 30 17:07:04 2013 +0200 prep: Fix NIP reset value The value was changed by commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c "PPC: fix hreset_vector for 60x, ...". Change it back for prep machine to unbreak OpenHack'Ware. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 467b34689d277fa56c09ad07ca0f08d7d7539f6d Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun May 5 09:53:22 2013 +0000 Update OpenBIOS images Update OpenBIOS images to OpenBIOS 1.1 release (SVN r1136) built from submodule. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f7a87c42a05e5ecaa4ed9167178624f870106091 Merge: 120dc38... 536f25e... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun May 5 09:05:34 2013 +0000 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Fix incorrect check of kvm_vcpu_ioctl return value commit 536f25e4c77592b936e50728c83894c23f4f61c8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 3 18:47:22 2013 +0100 target-arm: Fix incorrect check of kvm_vcpu_ioctl return value kvm_vcpu_ioctl() returns -ETHING on error, not ETHING -- correct an incorrect check in kvm_arch_init_vcpu(). This would not have had any significant ill-effects -- we would just have propagated the less useful ENOENT up to the caller rather than the more accurate EINVAL in the unlikely case that the kernel didn't have VFP-D32 support. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 462566fc5e3e10a44e212fdbc67b9e4948179b14 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Fri May 3 18:21:02 2013 +0100 i.MX: implement a more correct version of EPIT timer. This patch is providing a complete version of the EPIT timer. Note, however that the GPT timer in the same file is still not complete. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1365624982-15647-1-git-send-email-jcd@xxxxxxxxxxxxxxx Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> [PMM: wrapped an overly long line] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 120dc38f6113b676ecef0a2c9e42fc08cace5bdb Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri May 3 15:25:36 2013 +0200 qdev: skip bus check for bus-less devices in qdev_unplug() Since commit 2f7bd829db "qdev: Fix device_add bus assumptions" it's possible to device_add bus-less device, but if such device is unplugged it will dereference NULL parent_bus in qdev_unplug(). Fix it by taking in account that parent_bus might be NULL and skipping bus check. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Message-id: 1367587536-14964-1-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6f32a6b47ef4247ad14dad63c6ee231fdce4c5e9 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:51 2013 +0200 virtio-scsi: fix the command line compatibility. The bus name is wrong since the refactoring. This keeps the behaviour of the command line. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 80270a19685dd20eda017b0360c743b3e3ed6f57 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:50 2013 +0200 virtio-serial: fix command line compatibility. The bus name is wrong since the refactoring. This keeps the behaviour of the command line. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 11fc853c4cb5ab9db46d7859da191966199b588f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:49 2013 +0200 scsi: add bus_name parameter to scsi_bus_new. This adds the possibility to create a scsi-bus with a specified name. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1034e9cf4d0740c4c845d79998ac53a5b23e534d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:48 2013 +0200 virtio: add virtio_device_set_child_bus_name. Add virtio_device_set_child_bus_name function. It will be used with virtio-serial-x and virtio-scsi-x to set the child bus name before calling virtio-x-device's init. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f4dd69aa4ce96196b3d84cd3d3e14a79ea029630 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:47 2013 +0200 virtio-x-bus: force bus name to virtio-bus. When the proxy id is set, this bus takes the name "id.0" which is expected to be the virtio-device's first bus. So force this name to "virtio-bus" as it is an internal bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0057a0d59006d00c294de0b012d9a290eb1a5c80 Author: Tim Hardeck <thardeck@xxxxxxx> Date: Tue Apr 23 16:33:01 2013 +0200 TLS support for VNC Websockets Added TLS support to the VNC QEMU Websockets implementation. VNC-TLS needs to be enabled for this feature to be used. The required certificates are specified as in case of VNC-TLS with the VNC parameter "x509=<path>". If the server certificate isn't signed by a rooth authority it needs to be manually imported in the browser because at least in case of Firefox and Chrome there is no user dialog, the connection just gets canceled. As a side note VEncrypt over Websocket doesn't work atm because TLS can't be stacked in the current implementation. (It also didn't work before) Nevertheless to my knowledge there is no HTML 5 VNC client which supports it and the Websocket connection can be encrypted with regular TLS now so it should be fine for most use cases. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366727581-5772-1-git-send-email-thardeck@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8f3b664f6cc4153cc73941c941d54c4e499b7537 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed May 1 16:14:34 2013 +0200 audio: Enable all cards ...or they will bitrot to death. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Message-id: 5181234A.6060504@xxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fba90ac1d614c333c6a15c39cac555a12a04cee1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 1 18:30:15 2013 +0200 win32: fix compilation again While commit c02817e5bfbb27955cac970019e6670dc427bc41 fixed compilation without an installed libtool, moving the dependencies to rules.mak does not work because the version-*-y variables are not defined yet. Building in a clean tree thus fails. Revert the commit and remove the dummy /bin/false assignment to LIBTOOL. This makes the build work, at the price of slightly worse errors when there are Makefile bugs. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367425815-15083-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc9936a32f91c107a2a7655af4feeee3f4de5d12 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu May 2 15:56:26 2013 +0200 libqos: Relocate I2C files Commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1 (qtest: add libqos including PCI support) created a libqos/ subdirectory but left the existing I2C libqos files libi2c*.[hc] in tests/. Clean this up. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367502986-15104-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 743bddb4b35ceaaf6f95aea581a4130dcae6205a Merge: a612925... e64dd5e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 3 11:20:15 2013 -0500 Merge remote-tracking branch 'stefanha/tracing' into staging # By Eiichi Tsukata (2) and Kazuya Saito (2) # Via Stefan Hajnoczi * stefanha/tracing: trace: document ftrace backend trace: Add ftrace tracing backend kvm-all: add kvm_run_exit tracepoint kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints Message-id: 1367582485-15579-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a612925b4184fa7aa37092db4fef816030640922 Merge: 25565e8... 7873df4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 3 11:20:07 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Amos Kong (1) and Jason Wang (1) # Via Stefan Hajnoczi * stefanha/net: tap: properly initialize vhostfds net: make network client name unique Message-id: 1367582254-15060-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 25565e8595322b04902a09ebf877d80532f22fd1 Merge: c9e53a4... 86abefd... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 3 11:20:02 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Fam Zheng (8) and others # Via Stefan Hajnoczi * stefanha/block: qemu-iotests: Filter out 'adapter_type' nbd: support large NBD requests nbd: use g_slice_new() instead of a freelist qemu-iotests: Filter out vmdk creation options vmdk: add bdrv_co_write_zeroes vmdk: store fields of VmdkMetaData in cpu endian vmdk: change magic number to macro vmdk: Add option to create zeroed-grain image vmdk: add support for â??zeroedâ??grainâ?? GTE vmdk: named return code. blockdev: Replace "undefined error" in qmp_block_resize block: add read-only support to VHDX image format. block: initial VHDX driver support framework - supports open and probe block: vhdx header for the QEMU support of VHDX images qemu: add castagnoli crc32c checksum algorithm commit e64dd5efb2c6d522a3bc9d096cd49a4e53f0ae10 Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Date: Thu Apr 11 20:25:16 2013 +0900 trace: document ftrace backend Add documentation of ftrace backend. Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 781e9545dbe54d2f0a530edbf48fd0ac1e77244c Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Date: Thu Apr 11 20:25:15 2013 +0900 trace: Add ftrace tracing backend This patch adds a ftrace tracing backend which sends trace event to ftrace marker file. You can effectively compare qemu trace data and kernel(especially, kvm.ko when using KVM) trace data. The ftrace backend is restricted to Linux only. To try out the ftrace backend: $ ./configure --trace-backend=ftrace $ make if you use KVM, enable kvm events in ftrace: # sudo echo 1 > /sys/kernel/debug/tracing/events/kvm/enable After running qemu by root user, you can get the trace: # cat /sys/kernel/debug/tracing/trace Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b76ac80a5ca9f2e19405419172c0dcaf0370d4f5 Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Mar 29 13:27:52 2013 +0900 kvm-all: add kvm_run_exit tracepoint This patch enable us to know exit reason of KVM_RUN. It will help us know where the trouble is caused. Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9c7757290c6d80c2f5bde6fa71d2c9fe2b331c8c Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Mar 29 13:27:05 2013 +0900 kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints This patch adds tracepoints at ioctl to kvm. Tracing these ioctl is useful for clarification whether the cause of troubles is qemu or kvm. Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7873df408dd44eb92840b108211d5aa5db7db526 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Apr 19 15:11:15 2013 +0800 tap: properly initialize vhostfds Only tap->vhostfd were checked net_init_tap_one(), but tap->vhostfds were forgot, this will lead qemu to ignore all fds passed by management through vhostfds, and tries to create vhost_net device itself. Fix by adding this check also. Reportyed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Cc: Michal Privoznik <mprivozn@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c963530a5b3e3e0f7304841adfe84416d82f59f6 Author: Amos Kong <akong@xxxxxxxxxx> Date: Mon Apr 15 18:55:19 2013 +0800 net: make network client name unique assign_name() creates a name MODEL.NUM, where MODEL is the client's model, and NUM is the number of MODELs that already exist. Markus added NIC naming for non-VLAN clients in commit 53e51d85. commit d33d93b2 incorrectly added a judgement of net-hub. It caused net clients created with -netdev get same names. eg: # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \ -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 .. (qemu) info network virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56 \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57 \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown This patch removed the check of nic-hub, and created unique names for all net clients that have same model. v2: update commitlog & comments Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 86abefd61e23325162e59e5bfb8f0346eda62541 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Fri May 3 15:31:16 2013 +0800 qemu-iotests: Filter out 'adapter_type' Filter out vmdk creation option 'adapter_type' for vmdk. So that tests with an explicit './check -o adapter_type=XXX' will not fail. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2d8214885942becb8f4371a66d6f8c9a9580108a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 2 14:23:08 2013 +0200 nbd: support large NBD requests The Linux nbd driver recently increased the maximum supported request size up to 32 MB: commit 078be02b80359a541928c899c2631f39628f56df Author: Michal Belczyk <belczyk@xxxxxxxxxxxxx> Date: Tue Apr 30 15:28:28 2013 -0700 nbd: increase default and max request sizes Raise the default max request size for nbd to 128KB (from 127KB) to get it 4KB aligned. This patch also allows the max request size to be increased (via /sys/block/nbd<x>/queue/max_sectors_kb) to 32MB. QEMU's 1 MB buffers are too small to handle these requests. This patch allocates data buffers dynamically and allows up to 32 MB per request. Reported-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e1adb27a83f19799c454cead7bf930a0b3f2bb28 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 2 14:23:07 2013 +0200 nbd: use g_slice_new() instead of a freelist Use GLib's efficient slice allocator instead of open-coding the request freelist. This patch simplifies the NBDRequest code. Now we qemu_blockalign() the req->data buffer each time but the next patch switches from a fixed size buffer to a dynamic size anyway. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c9e53a4cf116dae72d779c7748153cedd2e84228 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Apr 29 08:08:23 2013 -0700 tcg-arm: Use movi32 in exit_tb Avoid the mini constant pool for armv7, and avoid replicating the test for pre-v7. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8ddaeb1be66246225fe5aeeec33e4e7b82762694 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Apr 29 08:08:22 2013 -0700 tcg-arm: Fix 64-bit tlb load for pre-v6 Found by inspection, since the effect of the bug was simply to send all memory ops through the slow path. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 29851ee7c8bd3fb8542e21cd0270c73132590350 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Sun Apr 28 03:18:36 2013 +0200 target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB This change corrects and simplifies how discard is calculated for shift left logical vector instructions. It is used to detect overflow and set bit 22 in the DSPControl register. The existing tests (shll_ph.c, shll_qb.c) are extended with the corner cases that expose incorrectness in the previous implementation. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 50522d969be315457e3296d8a32990b58a203902 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Fri May 3 09:31:40 2013 +0800 qemu-iotests: Filter out vmdk creation options Cover new image creation options for vmdk, so we can use '-o zeroed_grain=XXX' and '-o subformat=XXX' to run the tests successfully. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cdeaf1f15909e2e8af38f45aea7cfa467a729c52 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:27 2013 +0800 vmdk: add bdrv_co_write_zeroes Use special offset to write zeroes efficiently, when zeroed-grain GTE is available. If zero-write an allocated cluster, cluster is leaked because its offset pointer is overwritten by "0x1". Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e304e8e5a05bc54c71c5f6fc76abd47410e59857 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:26 2013 +0800 vmdk: store fields of VmdkMetaData in cpu endian Previously VmdkMetaData.offset is stored little endian while other fields are cpu endian. This changes offset to cpu endian and convert before writing to image. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 95b0aa4231dfc827ddc189138d6502cbca66d2b6 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:25 2013 +0800 vmdk: change magic number to macro Two hard coded flag bits are changed to macros. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 69e0b6dfa455924842bfcbfa810fde34899f1350 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:24 2013 +0800 vmdk: Add option to create zeroed-grain image Add image create option "zeroed-grain" to enable zeroed-grain GTE feature of vmdk sparse extents. When this option is on, header version of newly created extent will be 2 and VMDK4_FLAG_ZERO_GRAIN flag bit will be set. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 14ead646fe7d5163c342ebd1e0aeb556ecf343a1 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:23 2013 +0800 vmdk: add support for â??zeroedâ??grainâ?? GTE Introduced support for zeroed-grain GTE, as specified in Virtual Disk Format 5.0[1]. Recent VMware hosted platform products support a new â??zeroedâ??grainâ?? grain table entry (GTE). The zeroedâ??grain GTE returns all zeros on read. In other words, the zeroedâ??grain GTE indicates that a grain in the child disk is zeroâ??filled but does not actually occupy space in storage. A sparse extent with zeroedâ??grain GTE has the following in its header: * SparseExtentHeader.version = 2 * SparseExtentHeader.flags has bit 2 set Other than the new flag and the possibly zeroedâ??grain GTE, version 2 sparse extents are identical to version 1. Also, a zeroedâ??grain GTE has value 0x1 in the GT table. [1] Virtual Disk Format 5.0, http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 65f7472577f9409d285b0216fae76c7c3f03fc41 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:22 2013 +0800 vmdk: named return code. Internal routines in vmdk.c previously return -1 on error and 0 on success. More return values are useful for future changes such as zeroed-grain GTE. Change all the magic `return 0` and `return -1` to macro names: * VMDK_OK 0 * VMDK_ERROR (-1) * VMDK_UNALLOC (-2) * VMDK_ZEROED (-3) Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8732901e1b8a5add02a2b747875202133413d565 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu May 2 15:32:55 2013 +0200 blockdev: Replace "undefined error" in qmp_block_resize We have an errno value that can be displayed, so we should just do that. An easy way to reproduce this case is to resize a raw image to a size that is too large for the host file system. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 059e2fbbca484a68ac7fd99d1d76409294551586 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:19 2013 -0400 block: add read-only support to VHDX image format. This adds in read-only support to the VHDX image format. This supports reads for fixed-size, and dynamic sized VHDX images. Differencing files are still unsupported. The image must be opened without BDRV_O_RDWR set, because we do not yet update the headers. I.e., pass 'readonly=on' in the drive image options from the QEMU commandline. Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e8d4e5ffdb015959551726a5700c19b5d772ada4 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:18 2013 -0400 block: initial VHDX driver support framework - supports open and probe This is the initial block driver framework for VHDX image support (i.e. Hyper-V image file formats), that supports opening VHDX files, and parsing the headers. This commit does not yet enable: - reading - writing - updating the header - differencing files (images with parents) - log replay / dirty logs (only clean images) This is based on Microsoft's VHDX specification: "VHDX Format Specification v0.95", published 4/12/2012 https://www.microsoft.com/en-us/download/details.aspx?id=29681 Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 203cdba3bc6fb6022dbece90483fe03ed33bcffb Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:17 2013 -0400 block: vhdx header for the QEMU support of VHDX images This is based on Microsoft's VHDX specification: "VHDX Format Specification v0.95", published 4/12/2012 https://www.microsoft.com/en-us/download/details.aspx?id=29681 These structures define the various header, metadata, and other block structures defined in the VHDX specification. Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8e1b02b8ef2eefcb2ff3855531d7bc2ea71e1fb4 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:16 2013 -0400 qemu: add castagnoli crc32c checksum algorithm This adds the Castagnoli CRC32C algorithm, using the 0x11EDC6F41 polynomial. This is extracted from the linux kernel cryptographic crc32.c module. The algorithm is based on: Castagnoli93: Guy Castagnoli and Stefan Braeuer and Martin Herrman "Optimization of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits", IEEE Transactions on Communication, Volume 41, Number 6, June 1993 Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8ca27ce2e1150486ea2db4116a03706b28294f16 Merge: 0db4c32... e7bdf65... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu May 2 10:57:01 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Igor Mammedov (21) and others # Via Andreas Färber * afaerber/qom-cpu: (29 commits) Drop redundant resume_all_vcpus() from main() cpus: Fix pausing TCG CPUs while in vCPU thread target-i386: Replace cpuid_*features fields with a feature word array target-i386: Break CPUID feature definition lines target-i386/kvm.c: Code formatting changes target-i386: Group together level, xlevel, xlevel2 fields pc: Implement QEMUMachine::hot_add_cpu hook QMP: Add cpu-add command Add hot_add_cpu hook to QEMUMachine target-i386: Move APIC to ICC bus target-i386: Attach ICC bus to CPU on its creation target-i386: Introduce ICC bus/device/bridge cpu: Move cpu_write_elfXX_note() functions to CPUState kvmvapic: Make dependency on sysbus.h explicit target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE target-i386: Do not allow to set apic-id once CPU is realized target-i386: Introduce apic-id CPU property target-i386: Introduce feat2prop() for CPU properties acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest cpu: Add helper cpu_exists(), to check if CPU with specified id exists ... commit 0db4c324a8c6f2b1b8a118146f9b0fc8c4210719 Merge: e9016ee... 6e860b5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu May 2 10:56:07 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Andreas Färber (1) and others # Via Michael Tokarev * mjt/trivial-patches: pvscsi: fix compilation on 32 bit hosts Trivial grammar and spelling fixes configure: Pick up libseccomp include path commit e7bdf659c16e1cefd61f53648503d8c060668d6b Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Aug 20 20:11:36 2012 +0200 Drop redundant resume_all_vcpus() from main() VCPUs are either resumed directly via vm_start(), after the incoming migration is done, or when a continue command is issued. We don't need the explicit resume before entering main_loop(). Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1085819368e8693f08307e72f0082d759f67ef03 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu May 2 11:22:05 2013 +0200 cpus: Fix pausing TCG CPUs while in vCPU thread Due to a preceding while loop, no CPU would've been put into stopped state. Reinitialize the variable. This fixes commit d798e97456658ea7605303b7c69b04ec7df95c10 (Allow to use pause_all_vcpus from VCPU context) for non-KVM case. While at it, change a 0 to false, amending commit 4fdeee7cd4c8f90ef765537b9346a195d9483ab5 (cpu: Move stop field to CPUState). Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0514ef2fbb3882afe410ba7800c79fd0ef5dbf00 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:15 2013 -0300 target-i386: Replace cpuid_*features fields with a feature word array This replaces the feature-bit fields on both X86CPU and x86_def_t structs with an array. With this, we will be able to simplify code that simply does the same operation on all feature words (e.g. kvm_check_features_against_host(), filter_features_for_kvm(), add_flagname_to_bitmaps(), CPU feature-bit property lookup/registration, and the proposed "feature-words" property) The following field replacements were made on X86CPU and x86_def_t: (cpuid_)features -> features[FEAT_1_EDX] (cpuid_)ext_features -> features[FEAT_1_ECX] (cpuid_)ext2_features -> features[FEAT_8000_0001_EDX] (cpuid_)ext3_features -> features[FEAT_8000_0001_ECX] (cpuid_)ext4_features -> features[FEAT_C000_0001_EDX] (cpuid_)kvm_features -> features[FEAT_KVM] (cpuid_)svm_features -> features[FEAT_SVM] (cpuid_)7_0_ebx_features -> features[FEAT_7_0_EBX] Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 27861ecc47cf9dc35961ac901e26abbd898c377c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:14 2013 -0300 target-i386: Break CPUID feature definition lines Break lines on kvm_check_features_against_host(), kvm_cpu_fill_host(), and builtin_x86_defs, so they don't get too long once the *_features fields are replaced by an array. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fc7a504c0126b16aa2bd50d92584e9cc08f636a3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:13 2013 -0300 target-i386/kvm.c: Code formatting changes Add appropriate spaces around operators, and break line where it needs to be broken to allow feature-words array to be introduced without having too-long lines. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90e4b0c3de2b3927e71f23d95c3c27d60e5c89cc Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:12 2013 -0300 target-i386: Group together level, xlevel, xlevel2 fields Consolidate level, xlevel, xlevel2 fields in x86_def_t and CPUX86State. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6e860b5db4c76c66d7e02f93c9e22e0384bd3c6c Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Wed May 1 07:41:26 2013 +0200 pvscsi: fix compilation on 32 bit hosts This fixes the following error: In file included from qemu/include/trace.h:4:0, from trace/generated-events.c:3: ./trace/generated-tracers.h: In function â??trace_pvscsi_get_sg_listâ??: ./trace/generated-tracers.h:4271:9: error: format â??%luâ?? expects argument of type â??long unsigned intâ??, but argument 4 has type â??size_tâ?? [-Werror=format] Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 805a25050272fe7cbbc2e9ce911612fc86c7b9a9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Apr 28 11:49:57 2013 +0200 Trivial grammar and spelling fixes similiar -> similar recieve -> receive transfered -> transferred preperation -> preparation Most changes are in comments, one modifies a parameter name in a function prototype. The spelling fixes were made using codespell. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 372e47e9b5e31c493823d7f512716644fb02d0fd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Apr 28 16:27:26 2013 +0200 configure: Pick up libseccomp include path openSUSE 12.3 has seccomp.h in /usr/include/libseccomp-1.0.1, so add `pkg-config --cflags libseccomp` output to QEMU_CFLAGS. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c649983b582687bbdb4019e308f015913e31065e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 18:00:53 2013 +0200 pc: Implement QEMUMachine::hot_add_cpu hook Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 69ca3ea5e192251f27510554611bcff6f036a00b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:25 2013 +0200 QMP: Add cpu-add command Adds "cpu-add id=xxx" QMP command. cpu-add's "id" argument is a CPU number in a range [0..max-cpus) Example QMP command: -> { "execute": "cpu-add", "arguments": { "id": 2 } } <- { "return": {} } Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:24 2013 +0200 Add hot_add_cpu hook to QEMUMachine Hook should be set by machines that implement CPU hot-add via cpu-add QMP command. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 53a89e262bd3e97b2da3afec0a60e5466770ae8c Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 19:03:01 2013 +0200 target-i386: Move APIC to ICC bus It allows APIC to be hotplugged. * map APIC's mmio at board level if it is present * do not register mmio region for each APIC, since only one is used/mapped Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 62fc403f11523169eb4264de31279745f48e3ecc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 18:54:13 2013 +0200 target-i386: Attach ICC bus to CPU on its creation X86CPU should have parent bus so it could provide bus for child APIC. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f0513d2c0156799e0c75a108ab9a049eea4f9607 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 17:02:50 2013 +0200 target-i386: Introduce ICC bus/device/bridge Provides a hotpluggable bus for APIC and CPU. * icc-bridge will serve as a parent for icc-bus and provide mmio mapping services to child icc-devices. * icc-device will replace SysBusDevice as a parent of APIC and IOAPIC devices. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c72bf468259935a80ea185f2cbe807c3da9c1bbd Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 19 16:45:06 2013 +0200 cpu: Move cpu_write_elfXX_note() functions to CPUState Convert cpu_write_elfXX_note() functions to CPUClass methods and pass CPUState as argument. Update target-i386 accordingly. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [AF: Retain stubs as CPUClass' default method implementation; style changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5f8df3ce6e0a057ec23cea74b6e629e59e085ac4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:30 2013 +0200 kvmvapic: Make dependency on sysbus.h explicit Allows kvmvapic to compile if sysbus.h is removed from apic_internal.h, from which it is indirectly included. sysbus.h will be removed from apic_internal.h after converting APICs to ICCDevice. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit baaeda08ff34ad17150b50a6f52d0faec9f3db36 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:29 2013 +0200 target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE Put APIC_SPACE_SIZE in a public header so that it can be reused elsewhere later. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d6d4980c9421f3b9d1800dbc320da6a0bf754bd Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 26 19:51:52 2013 +0200 target-i386: Do not allow to set apic-id once CPU is realized Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 310509304e1a83c1926471f1984c1cbf7d813631 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:26 2013 +0200 target-i386: Introduce apic-id CPU property The property is used from board level to set APIC ID for CPUs it creates. Do so in a new pc_new_cpu() helper, to be reused for hot-plug. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 72ac2e876ddc6158f5b6d5f758d4e38c436010ed Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 26 18:04:32 2013 +0200 target-i386: Introduce feat2prop() for CPU properties This helper replaces '_' with '-' in a uniform way. As a side effect, even custom mappings must use '-' now. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> [AF: Split off; operate on NUL-terminated string rather than '=' delimiter] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b8622725cf0196f672f272922b0941dc8ba1c408 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:25 2013 +0200 acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest * introduce processor status bitmask visible to guest at 0xaf00 addr, where ACPI asl code expects it * set bit corresponding to APIC ID in processor status bitmask on receiving CPU hot-plug notification * trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 69e5ff067ae724155fd7465119ee6db5721288b6 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:24 2013 +0200 cpu: Add helper cpu_exists(), to check if CPU with specified id exists Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a37677c32bb313f5ba48aaf89f81cdc10c23ce56 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:42 2013 +0200 cpus: Use qemu_for_each_cpu() in TCG thread Replaces an open-coded loop and hides unused CPUArchState. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d6b9e0d60cc511eca210834428bb74508cff3d33 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 24 22:58:04 2013 +0200 cpu: Add qemu_for_each_cpu() Wrapper to avoid open-coded loops and to make CPUState iteration independent of CPUArchState. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 997395d3888fcde6ce41535a8208d7aa919d824b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:41 2013 +0200 cpu: Introduce get_arch_id() method and override it for X86CPU get_arch_id() adds possibility for generic code to get a guest-visible CPU ID without accessing CPUArchState. If derived classes don't override it, it will return cpu_index. Override it on target-i386 in X86CPU to return the APIC ID. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b8b7456d6ab7edb450ae5ec6473d3cd9a80412f4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:40 2013 +0200 pc: Update rtc_cmos on CPU hot-plug It provides updated currently available CPUs count to BIOS on reboot. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 066e9b2710be887f435e0e899fa71f1f4314f702 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:39 2013 +0200 cpu: Introduce CPU hot-plug notifier Hot-add CPU event will be distributed to acpi_piix4 and rtc_cmos. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6afb4721f3e45da727110470a61aafcd6682395e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:38 2013 +0200 cpu: Resume CPU from DeviceClass::realize() if hot-plugged Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2993683b0fde0f836777c945baaddcaa5937903f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:37 2013 +0200 cpu: Introduce cpu_resume(), for single CPU Also add a stub for it, to make possible to use it in qom/cpu.c, which is shared with user emulators. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13eed94ed5617b98e657163490584dc2a0cc4b32 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:36 2013 +0200 cpu: Call cpu_synchronize_post_init() from DeviceClass::realize() If hotplugged, synchronize CPU state to KVM. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c4cfef5e8a6371aa5e6577f2b980315c2dc46cfb Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:35 2013 +0200 cpu: Make kvm-stub.o available outside softmmu It will provide stubs for *-user targets once softmmu-specific calls are attempted from common CPU code. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e9016ee2bda1b7757072b856b2196f691aee3388 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Apr 25 15:26:54 2013 +0800 virtio-net: count VIRTIO_NET_F_MAC when calculating config_len Commit 14f9b664 (hw/virtio-net.c: set config size using host features) tries to calculate config size based on the host features. But it forgets the VIRTIO_NET_F_MAC were always set for qemu later. This will lead a zero config len for virtio-net device when both VIRTIO_NET_F_STATUS and VIRTIO_NET_F_MQ were disabled form command line. Then qemu will crash when user tries to read the config of virtio-net. Fix this by counting VIRTIO_NET_F_MAC and make sure the config at least contains the mac address. Cc: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 1366874814-2658-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9f032464c06c563fe0df49eac9caaaa90a68a219 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 30 12:41:50 2013 +0300 sysemu: drop register_devices from header No user in sight. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Message-id: 20130430094149.GA29094@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit beb54a87ba74dfac00906b4c876945c6602cd293 Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 10:52:52 2013 -0500 libqtest: only call fclose() on open files libqtest.c can segfault when calling fclose() if the pidfile wasn't opened successfully. This patch fixes the issue. Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1367250772-17928-1-git-send-email-jlarrew@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 08eb8c85e3967b97865d46acadf26dc908fbb094 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Apr 26 11:24:47 2013 +0800 Wire up disabled wait a panicked event on s390 On s390 the disabled wait state indicates a state of attention. For example Linux uses that state after a panic. Lets put the system into panicked state. An alternative implementation would be to state disabled-wait <address> instead of pause in the action field. (e.g. z/OS, z/VM and other classic OSes use the address of the disabled wait to indicate an error code). Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Message-id: 6cf41156322e27e81a727b69f03728dbc225d5bb.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ab135f3462af4c523a4b5969f9d6c67b2ac427a Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:46 2013 +0800 pvpanic: create pvpanic by default for machine 1.5 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: f840042f0e1205041f8feaf0d39ca639884f3a00.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b42ffe60d8b510cd2f76ef50f6a1057f91a3dd34 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:45 2013 +0800 pvpanic: add document of pvpanic Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: a5db4ce406647e8f4663b639eae62d880531df8b.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 10a584b2875a391d1036adac18955a892e56f5e3 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:44 2013 +0800 pvpanic: pass configurable ioport to seabios This lets seabios patch the corresponding SSDT entry. Also add fw_cfg object to /machine/fw_cfg so we can reference it elsewhere. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 60c65d95fe2b23b12bea67099126566010a11a1a.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1dfe5057e5cf45b296ae67a7f84bdc6fa618d602 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:43 2013 +0800 fw_cfg: add required header files If fw_cfg.h is included alone, gcc gives error messages like these: error: unknown type name â??uint32_tâ?? error: unknown type name â??size_tâ?? error: unknown type name â??hwaddrâ?? ... Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: d63f8bcdbfbec8135b1b57f9247c513a3e25762c.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eec3d2adc98dd9ef7352823ce6597f88a51cf7cb Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:42 2013 +0800 introduce a new qom device to deal with panicked event pvpanic device is used to send guest panic event from guest to qemu. When guest panic happens, pvpanic device driver will write a event number to IO port 0x505(which is the IO port occupied by pvpanic device, by default). On receiving the event, pvpanic device will pause guest cpu(s), and send a qmp event QEVENT_GUEST_PANICKED. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: b66077a40235b3531632a05a6ff373850afc7d2e.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c401a8a5156a2596b285586002d544c595d40cf7 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:41 2013 +0800 add a new qevent: QEVENT_GUEST_PANICKED This event will be emited when qemu detects guest panic. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: cf0bc45ecf9ecd3699bc72dc39f8cbab8ed79d8c.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ede085b3fedfde36cb566968c4efcfbad4845af1 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:40 2013 +0800 add a new runstate: RUN_STATE_GUEST_PANICKED The guest will be in this state when it is panicked. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 0255f263ffdc2a3716f73e89098b96fd79a235b3.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cffc5113a421feba767af57ec87fdd53a29e9f9c Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Apr 29 14:35:08 2013 +0200 qdev: Report errors collected during device realization Better than just releasing the error object silently. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 517E68FC.6030400@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7e7da8e35827abf602fa886fda1af9b001c20d3e Author: Dunrong Huang <riegamaths@xxxxxxxxx> Date: Mon Apr 29 22:52:12 2013 +0800 rules.mk: Fix build breakage The following error occurs when building dtc module: CHK version_gen.h CC libfdt/fdt.o cc1: error: dtc: No such file or directory [-Werror] cc1: all warnings being treated as errors make[1]: *** [libfdt/fdt.o] Error 1 make: *** [subdir-dtc] Error 2 In rules.mak, "-I$(<D) -I$(@D)" was expanded to "-Idtc -I." when building submodule dct. Due to the using of "-Wmissing-include-dirs, a warning would be rarsed. To avoid it, add "-I$(<D) -I$(@D)" to QEMU_INCLUDES instead of QEMU_CFLAGS so that QEMU_CFLAGS does not contain the "-Idtc". Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367247132-19622-1-git-send-email-riegamaths@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9ab880b3a2f4b80bd5d8b18a312b3afed65dc036 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Apr 30 15:02:16 2013 +0200 QOM: Fail casts for unknown types When we try to cast an object to an unknown type, fail the cast. Today we would simply run into an assert(). This fixes a bug on qemu-system-s390x for me that gets triggered by the audio code looking for PCI and ISA buses. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367326936-28539-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b7da6c60814a5c8703e9fa0d943ec3240e9d94ab Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 30 16:00:32 2013 +0200 pc_piix: remove undesired change in pc_init1 Introduced when applying commit f81222b (audio: look for the ISA and PCI buses, 2013-04-18). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367330432-14417-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b3e6d591b05538056d665572f3e3bbfb3cbb70e7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:04 2013 +0200 audio: enable PCI audio cards for all PCI-enabled targets Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-9-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f81222bc0cf68464fe82117521917cc1533c3ff4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:03 2013 +0200 audio: look for the ISA and PCI buses Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-8-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2e1103f60a871923ecd390804aba07b6031e0dc0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:02 2013 +0200 qom: do not return root for empty path An empty path will return the sole object of that type in the QOM tree. This is different from "/", which returns the root. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-7-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:01 2013 +0200 audio: replace audio card configuration with default-configs Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f6547f07d41491d74179e8dd100f7477abdd43b1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:00 2013 +0200 audio: remove CONFIG_* symbols Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ffa48cf5ab719e1e181e51b87bc0f5d397b791fa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:43:59 2013 +0200 audio: remove HAS_AUDIO Several targets can have wavcapture/-soundhw support via PCI cards. HAS_AUDIO is a useless limitation, remove it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 36cd6f6f20724d49aac1910e310f81a43e0cb657 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:43:58 2013 +0200 audio: remove the need for audio card CONFIG_* symbols Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c444a1978fd9956c9712572d9ad0b83bbbc0a63 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:43:57 2013 +0200 adlib: qdev-ify Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7504ae690c7320f3852890974708795cf5469895 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:12 2013 +0800 doc: document the Pseudo-encoding of LED state Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-5-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e7b2aaccd94a68c7927cae7ca47ced1bddc4f448 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:11 2013 +0800 vnc: Adjust lock state sync logic with VNC_FEATURE_LED_STATE Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-4-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab99e5c1d9f6a3f6fc2ce3b77b712221c647c7a5 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:10 2013 +0800 vnc: Support for LED state extension Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96f3d174bdfcc7d6205fa223ddc2cb01186dcd8f Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:09 2013 +0800 vnc: Add SCROLL lock key to kbd_leds Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1a63e059de2f2936d2066532b9f8ca22675cf11c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Apr 28 18:45:47 2013 +0200 libqos: Convert fw_cfg values to host endianness The fw_cfg ABI is Little Endian, so byte-swap the generically read byte array to host endianness. This unbreaks the fw_cfg tests on ppc. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367167547-19931-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 61e477f4c731c4ff3f1a44dbfc55c8a5903c8d52 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:55 2013 +0200 wdt_ib700: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-21-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f02317ad4eca65a9a79b474b6d2d77ba87a57185 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:54 2013 +0200 vmport: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Drop reserved underscore from struct name while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-20-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e3b7fbead827623ce521c8056a80050e8b35c578 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:53 2013 +0200 vmmouse: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Remove reserved underscore from struct name while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-19-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a72dc5fc67cd2412be35dc17698a4eb4f7e00a0c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:52 2013 +0200 vga-isa: QOM'ify ISA VGA Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Unify function naming scheme while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-18-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b582b5a398975d875d7e0b1c8f90817d01a8b20a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:51 2013 +0200 sga: QOM'ify Introduce type constant and cast macro. Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-17-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eeceb0849de2126185cf71860a449667fac2f0d7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:50 2013 +0200 serial: QOM'ify ISA serial Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-16-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 399f05a6e181c07611a93ac73025605cf24c4a6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:49 2013 +0200 sb16: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-15-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d367ece5e51d4f48687813eb5fe8d2a0e2e728d2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:48 2013 +0200 pcspk: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-14-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a2e0b863ebec1c9ceea9b7aab022a6378ea74136 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:47 2013 +0200 pckbd: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-13-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a0881c64081f750be2e44a9b7000e18e4cea065e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:46 2013 +0200 pc: QOM'ify port 92 Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-12-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b0dc5ee6bd0b16986a0f45ca778f3ead2398b2ee Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:45 2013 +0200 parallel: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-11-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fe6f5deb6611c512abcb4cb46a275756295b3e79 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:44 2013 +0200 ne2000-isa: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-10-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0e41271ec4944ea5b63c98b8e497618709e954c3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:43 2013 +0200 mc146818rtc: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-9-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a2772c70a9617c73875c5ee915b32ccb50f0bf90 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:42 2013 +0200 m48t59: QOM'ify ISA M48T59 NVRAM Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-8-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2f12688b9310a0001330df71d22ad6dc9f39dd29 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:41 2013 +0200 ide: QOM'ify ISA IDE Introduce type constant and cast macro to obsolete DO_UPCAST(). Add missing braces. Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-7-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 29bb5317cb7b23422b2612025d56055bbf0bbd02 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:40 2013 +0200 i8259: QOM cleanups Eliminate DO_UPCAST() for PICCommonState. Prepares for ISA realizefn. Also give the i8259_common type registration functions unique names while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-6-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eb1440e7ec522784f4351bb5e88436cc3cd9abd7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:39 2013 +0200 i82374: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-5-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 020c8e7602fc6bf6a6ce62d99fb0a0882877ccd1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:38 2013 +0200 fdc: QOM'ify ISA floppy controller Introduce type constant and cast macro to obsolete DO_UPCAST(). Reuse type constant for PC machine compatibility settings. Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-4-git-send-email-afaerber@xxxxxxx Cc: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d4c2f175510a447f1aa6641e1a2337958a7c6af Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:37 2013 +0200 cirrus_vga: QOM'ify ISA Cirrus VGA Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 82407b6c347db5298e18a716e386d12569479e3d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:36 2013 +0200 applesmc: QOM'ify Add a typedef for the state struct and rename from Status to State. Add type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ec57db1630f9cdcd13c8c55acbc8daf5237aabf1 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Apr 25 15:24:23 2013 +0800 virtio-net: unbreak the minix guest Multiqueue patchset conditionally add control vq only when guest negotiate the feature. Though the spec is not clear on this but it breaks the minix guest since it will identify the ctrl vq even if it does not support it. Though this behavior seems a violation on the spec "If the VIRTIO_NET_F_CTRL_VQ feature bit is negotiated, identify the control virtqueue.", to keep the backward compatibility, always add the ctrl vq at end of the queues. Reported-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1366874663-2566-1-git-send-email-jasowang@xxxxxxxxxx Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b48df71c916478ff658d143d0742e85c78348fad Merge: 45dddd9... 9adea5f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 29 08:26:47 2013 -0500 Merge remote-tracking branch 'bonzini/migration-writev' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/migration-writev: win32: add readv/writev emulation win32: generate console executable again win32: move Makefile dependencies on version-obj-y to rules.mak win32: add generic RC rules to rules.mak Message-id: 1367230284-24612-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 45dddd90c339254d1ebc34ef719d84f3495c151b Merge: 903ce9f... ae12e3a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 29 08:26:39 2013 -0500 Merge remote-tracking branch 'alon/libcacard_ccid.2' into staging # By Cole Robinson # Via Alon Levy * alon/libcacard_ccid.2: ccid: Fix crash when backend isn't specified Message-id: 20130426234357.GA12457@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9adea5f7f7a23ef4a1231289a36a94c52347b142 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Apr 21 12:01:06 2013 +0200 win32: add readv/writev emulation Commit e9d8fbf (qemu-file: do not use stdio for qemu_fdopen, 2013-03-27) introduced a usage of writev, which mingw32 does not have. Even though qemu_fdopen itself is not used on mingw32, the future-proof solution is to add an implementation of it. This is simple and similar to how we emulate sendmsg/recvmsg in util/iov.c. Some files include osdep.h without qemu-common.h, so move the definition of iovec to osdep.h too, and include osdep.h from qemu-common.h unconditionally (protection against including files when NEED_CPU_H is defined is not needed since the removal of AREG0). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 903ce9fefacd828bbcadd656ddaed8984139be29 Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Date: Sat Apr 27 07:55:13 2013 +0200 sparc64: use direct interrupt mapping for PCI devices Every PCI Slot in PBM has 4 directly mapped IRQ lines. Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number) described in Section 19.3.3 of UltraSPARCâ?¢-IIi User's Manual. Please note that this patch requires the OpenBIOS counterpart patch. Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9625036d14bdcc908fa06cd45599115258452c46 Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Date: Sat Apr 27 07:55:12 2013 +0200 sparc64: fix loosing interrupts - clear interrupts only on writing to the interrupt clear registers - don't overwrite a currently active interrupt request - use the correct addresses for the interrupt clear registers (section 19.3.3.3 of the UltraSPARCâ?¢-IIi Userâ??s Manual) Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 852e82f303884139ba59f7f26e761d937a25fa55 Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Date: Sat Apr 27 07:55:11 2013 +0200 sparc64: allow 64 IRQ lines According to UltraSPARCâ?¢-IIi Userâ??s Manual, PBM has 64 IRQ lines. Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 96fbd7de3656583d647c204c4138bbdcc3e35d2b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 23 13:07:40 2013 -0700 tcg-arm: Remove long jump from tcg_out_goto_label Branches within a TB will always be within 16MB. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit df5e0ef711cdd2ebfd4bdf420bfde17aa28df8b1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 13 15:24:33 2013 -0700 tcg-arm: Convert to CONFIG_QEMU_LDST_OPTIMIZATION Move the slow path out of line, as the TODO's mention. This allows the fast path to be unconditional, which can speed up the fast path as well, depending on the core. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 302fdde73f88fd958acfa18b670eed092eab21a0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 13 13:40:43 2013 -0700 tcg-arm: Use movi32 + blx for calls on v7 Work better with branch predition when we have movw+movt, as the size of the code is the same. Perhaps re-evaluate when we have a proper constant pool. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 595b5397cc589d694ec3af660b21f483e8142f69 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 23 08:38:50 2013 -0700 tcg-arm: Delete the 'S' constraint After the previous patch, 's' and 'S' are the same. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 702b33b1d5f8fee7e5799af450375671264a9ebd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 23:18:30 2013 -0700 tcg-arm: Improve scheduling of tcg_out_tlb_read The schedule was fully serial, with no possibility for dual issue. The old schedule had a minimal issue of 7 cycles; the new schedule has a minimal issue of 5 cycles. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cee87be80a6e9cc853e07a4d3afc694604c9ac8d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 18:18:07 2013 -0700 tcg-arm: Split out tcg_out_tlb_read Share code between qemu_ld and qemu_st to process the tlb. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 9feac1d77010b371501728256be96bf91b641985 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 15:06:53 2013 -0700 tcg-arm: Cleanup most primitive load store subroutines Use even more primitive helper functions to avoid lots of duplicated code. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 34358a12c8a8f2f85a1420fa0a1112de1c6a55af Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 10:34:18 2013 -0700 tcg-arm: Cleanup multiply subroutines Make the code more readable by only having one copy of the magic numbers, swapping registers as needed prior to that. Speed the compiler by not applying the rd == rn avoidance for v6 or later. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 13dd6fb962930a4b1d74f9b22342d1eb15e9194e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 09:50:25 2013 -0700 tcg-arm: Use R12 for the tcg temporary R12 is call clobbered, while R8 is call saved. This change gives tcg one more call saved register for real data. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4346457a47732cc0bd3a8f36d743624dc277ea55 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 09:49:04 2013 -0700 tcg-arm: Use TCG_REG_TMP name for the tcg temporary Don't hard-code R8. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0637c56c99be1c73f5814c7f02c0735242b757e5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 22:11:30 2013 -0700 tcg-arm: Implement division instructions An armv7 extension implements division, present on Cortex A15. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b6b24cb031d1d6e6f50abf0c8bdc1c309e549156 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 21:12:30 2013 -0800 tcg-arm: Implement deposit for armv7 We have BFI and BFC available for implementing it. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e86e0f2807fbadee09d9e06f11df69339cbbd94c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 23:16:24 2013 -0800 tcg-arm: Improve constant generation Try fully rotated arguments to mov and mvn before trying movt or full decomposition. Begin decomposition with mvn when it looks like it'll help. Examples include -: mov r9, #0x00000fa0 -: orr r9, r9, #0x000ee000 -: orr r9, r9, #0x0ff00000 -: orr r9, r9, #0xf0000000 +: mvn r9, #0x0000005f +: eor r9, r9, #0x00011000 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2df3f1ee68269d40f5dcb5e8d9aba0869e150896 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 19:51:56 2013 -0700 tcg-arm: Handle constant arguments to add2/sub2 We get to re-use the _rIN and _rIK subroutines to handle the various combinations of add vs sub. Fold the << 21 into the opcode enum values so that we can explicitly add TO_CPSR as desired. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5d53b4c93caf16531e65a95a9b5c93228fe48f8b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 18:21:59 2013 -0700 tcg-arm: Use tcg_out_dat_rIN for compares This allows us to emit CMN instructions. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d9fda57549877045aa0ec91d2a067a67cb41a29f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 18:04:14 2013 -0700 tcg-arm: Allow constant first argument to sub This allows the generation of RSB instructions. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a9a86ae95d24c587285856405dffc9cacdf2b683 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 22:06:21 2013 -0800 tcg-arm: Handle negated constant arguments to and/sub This greatly improves code generation for addition of small negative constants. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 19b62bf4148d834c709c464f6fb1c6b72f906250 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 21:36:45 2013 -0800 tcg-arm: Use bic to implement and with constant This greatly improves the code we can produce for deposit without armv7 support. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d6b64b2b606fe0fe5f2208e84ff7a28445de666a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Mar 31 13:15:19 2013 -0700 tcg: Log the contents of the prologue with -d out_asm This makes it easier to verify changes to the code generating the prologue. [Aurelien: change the format from %i to %zu] Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ae12e3a643c66575c77211e1226ada041e56b889 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Sun Apr 14 16:06:59 2013 -0400 ccid: Fix crash when backend isn't specified Reproducer: ./x86_64-softmmu/qemu-system-x86_64 -device usb-ccid,id=ccid0 -usb -device ccid-card-emulated -monitor stdio Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit fc4d60ee16e9c20404e9970b421ac3e96df4c214 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 17:11:40 2013 -0700 tcg-arm: Fix local stack frame We were not allocating TCG_STATIC_CALL_ARGS_SIZE, so this meant that any helper with more than 4 arguments would clobber the saved regs. Realizing that we're supposed to have this memory pre-allocated means we can clean up the tcg_out_arg functions, which were trying to do more stack allocation. Allocate stack memory for the TCG temporaries while we're at it. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ed605126a8d826e60587cc21d9e7b95e8c49b6f6 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Apr 21 00:42:56 2013 +0200 tcg: fix deposit_i64 op on 32-bit targets On 32-bit TCG targets, when emulating deposit_i64 with a mov_i32 + deposit_i32, care should be taken to not overwrite the low part of the second argument before the deposit when it is the same the destination. This fixes the shld instruction in qemu-system-x86_64, which in turns fixes booting "system rescue CD version 2.8.0" on this target. Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 909eedb74f88d1d6d9e6bbdc34875772e7a8a5ab Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 27 00:37:46 2013 +0200 target-ppc: slightly optimize lfiwax Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 076bfd7c65ce08c18d0c375e3779be25206ee2b7 Merge: 75f6e8b... 7d08d85... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 27 00:33:23 2013 +0200 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: (30 commits) target-ppc: add support for extended mtfsf/mtfsfi forms target-ppc: emulate store doubleword pair instructions target-ppc: emulate load doubleword pair instructions target-ppc: emulate lfiwax instruction target-ppc: emulate fcpsgn instruction target-ppc: emulate prtyw and prtyd instructions target-ppc: emulate cmpb instruction target-ppc: add instruction flags for Book I 2.05 disas: Disassemble all ppc insns for the guest target-ppc: optimize fabs, fnabs, fneg PPC: Fix dcbz for linux-user on 970 powerpc: correctly handle fpu exceptions. pseries: Generate device paths for VIO devices pseries: Convert VIO code to QOM style type safe(ish) casts target-ppc: Synchronize VPA state with KVM pseries: Fix some small errors in XICS logic target-ppc: Add more stubs for POWER7 PMU registers pseries: Fixes and enhancements to L1 cache properties pseries: Fix incorrect calculation of RMA size in certain configurations PPC: Fix compile with profiling enabled ... commit c12915e638a31010923b8dbbf8ce06f564a175f9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 24 22:57:59 2013 +0200 win32: generate console executable again The -mwindows option is not anymore in LIBS at this point of the Makefile, it is only in libs_softmmu. Check the right variable. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c02817e5bfbb27955cac970019e6670dc427bc41 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Apr 27 00:27:48 2013 +0200 win32: move Makefile dependencies on version-obj-y to rules.mak This makes the test on $(LIBTOOL) work. Otherwise, LIBTOOL is /bin/false by the time the test is done. Fixes Win32 compilation without a working cross-libtool. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6821cdc7c857c6af47277e98dde24cc99ddc0531 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Apr 27 00:25:31 2013 +0200 win32: add generic RC rules to rules.mak Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7d08d85645def18eac2a9d672c1868a35e0bcf79 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:22 2013 +0000 target-ppc: add support for extended mtfsf/mtfsfi forms Power ISA 2.05 adds support for extended mtfsf/mtfsfi form, with a new W field to select the upper part of the FPCSR register. For that the helper is changed to handle 64-bit input values and mask with up to 16 bits. The mtfsf/mtfsfi instructions do not have the W bit marked as invalid anymore. Instead this is checked in the helper, which therefore needs to access to the insns/insns_flags2. They are added in the DisasContext struct. Finally change all accesses to the opcode fields through extract helpers, prefixed with FP for consistency. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 44bc0c4d3e90bfa1fafdbcc19d023d2d4b119eed Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:21 2013 +0000 target-ppc: emulate store doubleword pair instructions Needed for Power ISA version 2.05 compliance. The check for odd register pairs is done using the invalid bits. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 05050ee8049f9fe75ffcac4a5aa053b5631653bf Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:20 2013 +0000 target-ppc: emulate load doubleword pair instructions Needed for Power ISA version 2.05 compliance. The check for odd register pairs is done using the invalid bits. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 199f830d19576c77a5ed8fec81c218258d73f1dd Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:19 2013 +0000 target-ppc: emulate lfiwax instruction Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> [agraf: fix tcg debug error] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f03328882f8008fc299d5f8ae33b9a80571fea3c Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:18 2013 +0000 target-ppc: emulate fcpsgn instruction Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 725bcec2885d4f6df78e24fb54459c9efb97abd5 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:17 2013 +0000 target-ppc: emulate prtyw and prtyd instructions Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> [agraf: fix 32-bit host compile, simplify code] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fcfda20f2f5df30d88d087d443c1c08649df8827 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:16 2013 +0000 target-ppc: emulate cmpb instruction Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9c2627b09d1bdee8a58730bbf48c76be48bd659f Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:15 2013 +0000 target-ppc: add instruction flags for Book I 2.05 .. and enable it on POWER7 CPU. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 88770fec6c8daeb96c1f5cdbedff9df173431fd6 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:14 2013 +0000 disas: Disassemble all ppc insns for the guest Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bf45a2e67cab8fcccb24e389bbd4ef68866a1cff Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:13 2013 +0000 target-ppc: optimize fabs, fnabs, fneg fabs, fnabs and fneg are just flipping the bit sign of an FP register, this can be implemented in TCG instead of using softfloat. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 414f5d1448fef9aad6d37f1d40d1158396573447 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Apr 26 09:18:58 2013 +0200 PPC: Fix dcbz for linux-user on 970 The default with linux-user for dcbz on 970 is to emulate 32 byte clears. However, redoing the dcbzl support we added a check to not honor the bit in HID5 that sets this. Remove the #ifdef check on linux user, so that we get 32 byte clears again. Reported-by: Riku Voipio <riku.voipio@xxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit db72c9f256ae70b30c5d5985234f085df4226c55 Author: Tristan Gingold <gingold@xxxxxxxxxxx> Date: Tue Apr 9 05:00:55 2013 +0000 powerpc: correctly handle fpu exceptions. Raise the exception on the first occurence, do not wait for the next floating point operation. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c4eda5b7234265313b09c2c9f9fdd3a960db97db Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:17 2013 +0000 pseries: Generate device paths for VIO devices This patch implements a get_dev_path qdev hook for the pseries paravirtual VIO bus. With upcoming savevm support, this will become very important for scsi disks hanging of VIO virtual SCSI adapters. scsibus_get_dev_path uses the get_dev_path of the parent adapter if available, but otherwise just uses a local channel/target/lun number to identify the device. So if two disks are present in the system having the same target and lun on seperate VIO scsi adapters, savevm cannot distinguish them. Since the conventional way of using VSCSI adapters is to have just one disk per adapter, such a conflict is very likely. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fd506b4f61cd22793f8c54a9adf5c69345792501 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:16 2013 +0000 pseries: Convert VIO code to QOM style type safe(ish) casts Curerntly the pseries VIO device code contains quite a few explicit uses of DO_UPCAST and plain C casts. This is (obviously) type unsafe, and not the conventional way of doing things in the QOM model. This patch converts the code to use the QOM convention of per-type macros to do verified casts with OBJECT_CHECK(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9b00ea4906a618756bcd10f09d432780eab87782 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:22 2013 +0000 target-ppc: Synchronize VPA state with KVM For PAPR guests, KVM tracks the various areas registered with the H_REGISTER_VPA hypercall. For full emulation, of course, these are tracked within qemu. At present these values are not synchronized. This is a problem for reset (qemu's reset of the VPA address is not pushed to KVM) and will also be a problem for savevm / migration. The kernel now supports accessing the VPA state via the ONE_REG interface, this patch adds code to qemu to use that interface to keep the qemu and KVM ideas of the VPA state synchronized. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e03c902cb617414dae49d77a810f6957ff7affac Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:21 2013 +0000 pseries: Fix some small errors in XICS logic Under certain circumstances the emulation for the pseries "XICS" interrupt controller was clearing a pending interrupt from the XISR register, without also clearing the corresponding priority variable. This will cause problems later when can trigger sanity checks in the under-development in-kernel XICS implementation. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 702763fa322ea69dde92517735507e0ac3879b5d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:20 2013 +0000 target-ppc: Add more stubs for POWER7 PMU registers In addition to the performance monitor registers found on nearly all 6xx chips, the POWER7 has two additional counters (PMC5 & PMC6) and an extra control register (MMCRA). This patch adds stub support for them to qemu - the registers won't do anything, but with this change won't cause illegal instruction traps accessing them. They're also registered with their ONE_REG ids, so their value will be kept in sync with KVM where appropriate. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0cbad81f70546b58f08de3225f1eca7a8b869b09 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:19 2013 +0000 pseries: Fixes and enhancements to L1 cache properties PAPR requires that the device tree's CPU nodes have several properties with information about the L1 cache. We already create two of these properties, but with incorrect names - "[id]cache-block-size" instead of "[id]-cache-block-size" (note the extra hyphen). We were also missing some of the required cache properties. This patch adds the [id]-cache-line-size properties (which have the same values as the block size properties in all current cases). We also add the [id]-cache-size properties. Adding the cache sizes requires some extra infrastructure in the general target-ppc code to (optionally) set the cache sizes for various CPUs. The CPU family descriptions in translate_init.c can set these sizes - this patch adds correct information for POWER7, I'm leaving other CPU types to people who have a physical example to verify against. In addition, for -cpu host we take the values advertised by the host (if available) and use those to override the information based on PVR. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f36951c19f15f3c053a31234bd2c297d86c1a052 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:18 2013 +0000 pseries: Fix incorrect calculation of RMA size in certain configurations For the pseries machine, we need to advertise to the guest the size of its RMA - that is the amount of memory it can access with the MMU off. For HV KVM, this is constrained by the hardware limitations on the virtual RMA of one hash PTE per PTE group in the hash page table. We already had code to calculate this, but it was assuming the VRMA page size was the same as the (host) backing page size for guest RAM. In the case of a host kernel configured for 64k base page size, but running on hardware (or firmware) which only allows 4k pages, the hose will do all its allocations with a 64k page size, but still use 4k hardware pages for actual mappings. Usually that's transparent to things running under the host, but in the case of the maximum VRMA size it's not. This patch refines the RMA size calculation to instead use the largest available hardware page size (as reported by the SMMU_INFO call) which is less than or equal to the backing page size. This now gives the correct RMA size in all cases I've tested. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c8ff5daa09516272117eb23cd00da5d188ba73eb Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Apr 19 02:35:08 2013 +0200 PPC: Fix compile with profiling enabled When using profiling, we rely on profile_getclock() being available at our disposal. Somehow that function got moved from an indirect include we used to have in translate-init.c, so that we were now left not properly compiling anymore. Add an explicit include to timer.h which defines profile_getclock, so that we can compile again. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 20f649dd22dae13301c906c27a8768a318591ae8 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Apr 4 18:45:07 2013 +0200 PPC: mac newworld: fix cpu NIP reset value On -M mac99, we can run 970 CPUs. However, these CPUs define the initial instruction pointer they start execution at as part of their bootup protocol, so effectively it's up to the board to decide where they start. This went unnoticed, because they used to boot at the same location our flash was mapped to, but due to the recent reset changes our 970 CPUs want to reset to 0x100 now, which is always a 0 instruction. Set the initial IP to something reasonable for -M mac99. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> commit 31f2cb8ff415e376b05335dcf63ba38c00f29e5e Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Sun Feb 24 18:16:21 2013 +0000 Enable kvm emulated watchdog Enable the KVM emulated watchdog if KVM supports (use the capability enablement in watchdog handler). Also watchdog exit (KVM_EXIT_WATCHDOG) handling is added. Watchdog state machine is cleared whenever VM state changes to running. This is to handle the cases like return from debug halt etc. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: rebase to current code base, fix non-kvm cases] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cae7f586419ad261f55ef8700bf8f3fa5b4879d4 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Apr 4 15:40:44 2013 +0200 linux-headers: Update to kvm/queue Based on kvm.git queue branch with commit e1e2e605. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 752d634ecc74c76eb5e32db0e536d84c2d6aa3d8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Apr 3 10:56:45 2013 +0000 target-ppc: Fix narrow-mode add/sub carry output Broken in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a, the carry itself was fixed in 79482e5ab38a05ca8869040b0d8b8f451f16ff62. But we still need to produce the full 64-bit addition. Simplify the conditions at the top of the functions for when we need a new temporary. Only plain addition is important enough to warrent avoiding the temporary, and the extra tcg move op that would come with it. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2bc173224adc0fc318f2bd6fcf65dfdbc7d51123 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Wed Apr 3 04:03:38 2013 +0000 PPC: Add breakpoint registers for 603 and e300 Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Fri Mar 29 02:06:28 2013 +0000 PPC: fix hreset_vector for 60x, 7x0, 7x5, G2, MPC8xx, MPC5xx, 7400 and 7450 According to the different user's manuals, the vector offset for system reset (both /HRESET and /SRESET) is 0x00100. This patch may break support of some executables, as the power-on start address may change. For a specific board, if the power-on start address is different than HRESET vector (i.e. 0x00000100 or 0xfff00100), this should be fixed in board's initialization code. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8e7a6db96566fe4162edaeb3e8b62fc8004d1598 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 14:33:16 2013 +0000 target-ppc: fix nego and subf*o instructions The overflow computation of nego and subf*o instructions has been broken in commit ffe30937. Contrary to other targets, the instruction is subtract from an not subtract on PowerPC. This patch fixes the issue by using the correct argument in the xor computation. Thanks to Peter Maydell for the hint. With this change the PPC emulation passes the Gwenole Beauchesne testsuite again. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2cf3eb6df552cee74b52de9989e270b74e42847e Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Fri Mar 29 02:06:27 2013 +0000 PPC: Remove env->hreset_excp_prefix This value is not needed if we use correctly the MSR[IP] bit. excp_prefix is always 0x00000000, except when the MSR[IP] bit is implemented and set to 1, in that case excp_prefix is 0xfff00000. The handling of MSR[IP] was already implemented but not used at reset because the value of env->msr was changed "manually". The patch uses the function hreg_store_msr() to set env->msr, this ensures a good handling of MSR[IP] at reset, and therefore a good value for excp_prefix. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3b961124bf8a0b490e4fc3a6a39e004500ae6967 Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Sat Mar 30 06:40:49 2013 +0000 PPC: e500: advertise 4.2 MPIC only if KVM supports EPR Older KVM versions don't support EPR which breaks guests when we announce MPIC variants that support EPR. Catch that case and expose only MPIC version 2.0 which tells the guest that we don't support the EPR capability yet. Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> [agraf: Add comment, route cap check through kvm_ppc.c] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e71ec2e93dad4446d245031382e30b377640d9ca Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 05:06:23 2013 +0000 target-ppc: Enable ISEL on POWER7 ISEL is a Power ISA 2.06 instruction and thus is available on POWER7. Given this is trapped and emulated by the Linux kernel, I guess it went unnoticed. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 75f6e8b0f121beeee6a95eb9e35d88ec1f01824f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Sun Apr 14 03:14:49 2013 +0000 virtio-rng-s390: add properties. I don't see any reason why these properties are missing. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Note: Need to apply virtio-rng-refactoring first! Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3474b679486caa8f6448bae974e131370f360c13 Author: Jason J. Herne <jjherne@xxxxxxxxxx> Date: Thu Apr 25 04:25:51 2013 +0000 Utilize selective runtime reg sync for hot code paths Make use of new kvm_s390_get_registers_partial() for kvm_handle_css_inst() and handle_hypercall() since they only need registers from the partial set and they are called quite frequently. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 420840e58b85f7f4e5493dca3f273566f261090a Author: Jason J. Herne <jjherne@xxxxxxxxxx> Date: Thu Apr 25 04:25:50 2013 +0000 Allow selective runtime register synchronization We want to avoid expensive register synchronization IOCTL's on the hot path so a new kvm_s390_get_registers_partial() is introduced as a compliment to kvm_arch_get_registers(). The new function is called on the hot path, and kvm_arch_get_registers() is called when we need the complete runtime register state. kvm_arch_put_registers() is updated to only sync the partial runtime set when we've only dirtied the partial runtime set. This is to avoid sending bad data back to KVM if we've only partially synced the runtime register set. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7dc5af5545bb72e1343cc959b3f0e5cdd8758f1f Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 26 02:12:49 2013 +0000 Common: Add quick access to first boot device Instead of manually parsing the boot_list as character stream, we can access the nth boot device, specified by the position in the boot order. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba747cc8f31a1de7e0a20e7f0cf97965be338e70 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:12:54 2013 +0200 S390: CCW: Use new, working firmware by default Since we now have working firmware for s390-ccw in the tree, we can default to it on our s390-ccw machine, rendering it more useful. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0c1fecdd5234ba4bb0406362d38f8806a5be8fcc Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:10:50 2013 +0200 S390: ccw firmware: Add compiled blob Now that we have all the source code ready, add a compiled blob into the QEMU source tree, so that people without access to an s390 compiler can run the s390-ccw firmware. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit abbbe3de4aea92319f77cc9d402e983513d08539 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:55 2013 +0000 s390-ccw.img: Get queue config from host. Ask the host about the configuration instead of guessing it. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0f3f1f302fd2021a5ce6cb170321d0a0d35bdec5 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:54 2013 +0000 s390-ccw.img: Rudimentary error checking. Try to handle at least some of the errors that may happen. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 776e7f0f215dd11dde85277723408fae3d319143 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:53 2013 +0000 s390-ccw.img: Enhance drain_irqs(). - Use tpi + tsch to get interrupts. - Return an error if the irb indicates problems. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 22d67ab55aad82383a0e5628b902a1a0556b2fc9 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:52 2013 +0000 s390-ccw.img: Detect devices with stsch. stsch is the canonical way to detect devices. As a bonus, we can abort the loop if we get cc 3, and we need to check only the valid devices (dnv set). Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dc03640b5851d3115448493f0eee2b7f539de81a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:04 2013 +0000 s390-ccw.img: Fix compile warning in s390 ccw virtio code Lets fix this gcc warning: virtio.c: In function â??vring_send_bufâ??: virtio.c:125:35: error: operation on â??vr->next_idxâ?? may be undefined [-Werror=sequence-point] Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6328801f19b08302377e812c454fd2b837f669e3 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:05 2013 +0000 s390-ccw.img: Take care of the elf->img transition We have to call strip with s390-ccw.elf as input and s390-ccw.img as output Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9933c30509f97e04be0a348659f38b5f53c1ad5c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:03 2013 +0000 s390-ccw.img: build s390-ccw rom on s3900 system by default Lets build the s390-ccw rom if on s390. Also fix the separate build folder case. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7f61cbc108dd16df9a53649d53f26143ad506fe1 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:02 2013 +0000 s390-ccw.img: replace while loop with a disabled wait on s390 bios dont waste cpu power on an error condition. Lets stop the guest with a disabled wait. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b462fcd57c0949e4dfd457fafa91db17e0e99113 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:03:39 2013 +0200 S390: ccw firmware: Add Makefile This patch adds a makefile, so we can build our ccw firmware. Also add the resulting binaries to .gitignore, so that nobody is annoyed they might be in the tree. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 685d49a63e0665f609973ffe4ba34f06981e1b03 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:02:49 2013 +0200 S390: ccw firmware: Add bootmap interpreter On s390, there is an architected boot map format that we can read to boot a certain entry off the disk. Implement a simple reader for this that always boots the first (default) entry. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c9c39d3b5ea870073703141ba04813c7a8779b02 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:01:49 2013 +0200 S390: ccw firmware: Add glue header Like all great programs, we have to call between different functions in different object files. And all of them need a common ground of defines. Provide a file that provides these defines. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1e17c2c15b354a1e6c1d1ad41bb17f7bf146e9ba Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:01:00 2013 +0200 S390: ccw firmware: Add virtio device drivers In order to boot, we need to be able to access a virtio-blk device through the CCW bus. Implement support for this. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0369b2eb0707970c5f031b3ece84ccda953a8375 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 20:59:25 2013 +0200 S390: ccw firmware: Add sclp output In order to communicate with the user, we need an I/O mechanism that he can read. Implement SCLP ASCII support, which happens to be the default in the s390 ccw machine. This file is missing read support for now. It can only print messages. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 92f2ca38b01578075208799dd2f060fcc3638ed4 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 20:57:58 2013 +0200 S390: ccw firmware: Add main program This C file is the main driving piece of the s390 ccw firmware. It provides a search for a workable block device, sets it as the default to boot off of and boots from it. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 80fea6e8930384d7d8adae0eb1a00acb7647f7ec Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 20:56:08 2013 +0200 S390: ccw firmware: Add start assembly We want to write most of our code in C, so add a small assembly stub that jumps straight into C code for us to continue booting. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d0249ce5a8d11564958262fd567d1ea770358134 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 16:52:53 2013 +0200 S390: IPL: Use different firmware for different machines We have a virtio-s390 and a virtio-ccw machine in QEMU. Both use vastly different ways to do I/O. Having the same firmware blob for both doesn't really make any sense. Instead, let's parametrize the firmware file name, so that we can have different blobs for different machines. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3325995640e0a598c4c350a1a02357b422e90973 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 16:47:32 2013 +0200 S390: IPL: Support ELF firmware Our firmware blob is always a raw file that we load at a fixed address today. Support loading an ELF blob instead that we can map high up in memory. This way we don't have to be so conscious about size constraints. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 74ad2d22c1f6e2b24412f6b2adea7d6f9a719047 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 16:44:39 2013 +0200 S390: Make IPL reset address dynamic We can have different load addresses for different blobs we boot with. Make the reset IP dynamic, so that we can handle things more flexibly. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bf9b255f484fd61cbaa91faeff254140a0ecd18c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 26 08:48:46 2013 -0500 gtk: refactor menu creation Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c34688f9015c5dacc81efc4f2a0df5742d9c927c Merge: 186b027... 859e555... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 26 08:32:17 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Liu Yuan (4) and others # Via Stefan Hajnoczi * stefanha/block: sheepdog: fix loadvm operation sheepdog: resend write requests when SD_RES_READONLY is received sheepdog: add helper function to reload inode sheepdog: add SD_RES_READONLY result code sheepdog: cleanup find_vdi_name rbd: Fix use after free in rbd_open() block: Disable driver-specific options for 1.5 sheepdog: implement .bdrv_co_is_allocated() sheepdog: use BDRV_SECTOR_SIZE sheepdog: add discard/trim support for sheepdog block/ssh: Require libssh2 >= 1.2.8. Message-id: 1366976682-10251-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 186b027d98a3c91c1c6dee631a027d5b2a0fce25 Merge: a1bff71... 6ea8430... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 26 08:32:13 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Ed Maste (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: bsd-user: Track change in FreeBSD SYSCTL(9) types virtio: Fix compilation without CONFIG_VHOST_SCSI qemu-doc: Option -ignore-environment removed. s390x: use CONFIG_INT128 to detect __uint128_t linux-user: fix compile error due to stray colon at end of #ifdef line Message-id: 1366975563-16216-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 859e5553a428225de6b8ef302cdcfd68d140b926 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Thu Apr 25 20:49:39 2013 +0800 sheepdog: fix loadvm operation Currently the 'loadvm' opertaion works as following: 1. switch to the snapshot 2. mark current working VDI as a snapshot 3. rely on sd_create_branch to create a new working VDI based on the snapshot This works not the same as other format as QCOW2. For e.g, qemu > savevm # get a live snapshot snap1 qemu > savevm # snap2 qemu > loadvm 1 # This will steally create snap3 of the working VDI Which will result in following snapshot chain: base <-- snap1 <-- snap2 <-- snap3 ^ | working VDI snap3 was unnecessarily created and might be annoying users. This patch discard the unnecessary 'snap3' creation. and implement rollback(loadvm) operation to the specified snapshot by 1. switch to the snapshot 2. delete working VDI 3. rely on sd_create_branch to create a new working VDI based on the snapshot The snapshot chain for above example will be: base <-- snap1 <-- snap2 ^ | working VDI Cc: qemu-devel@xxxxxxxxxx Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 13c31de2fdd534c065ce4710f6e8df3921e98c4f Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:54 2013 +0900 sheepdog: resend write requests when SD_RES_READONLY is received When a snapshot is taken from out side of qemu (e.g. qemu-img snapshot), write requests to the current vdi return SD_RES_READONLY. In this case, the sheepdog block driver needs to update the current inode to the latest one and resend the write requests. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ff53a0eb89afacfa1ba56b009d40be942d3bd63 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:53 2013 +0900 sheepdog: add helper function to reload inode This adds a helper function to update the current inode state with the specified vdi object. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6a0b5490338ed0fdf55c43062c88dd7638f05d6d Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:52 2013 +0900 sheepdog: add SD_RES_READONLY result code Sheepdog returns SD_RES_READONLY when qemu sends write requests to the snapshot vdi. This adds the result code and makes sd_strerror() print its error reason. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 982dcbf4cbe80fa362c1edc37b2ced1cb8bcf37b Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:51 2013 +0900 sheepdog: cleanup find_vdi_name This makes 'filename' and 'tag' constant variables, and renames 'for_snapshot' to 'lock' to clear how it works. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c3ca988d2b0ee94dc8d53eff4b1c2de4ac06a270 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Apr 25 15:59:27 2013 +0200 rbd: Fix use after free in rbd_open() Commit a9ccedc3 frees the QemuOpts for the driver-specific options immediately, even though it still needs the filename string that is contained there. This doesn't work. Move the deletion of the QemuOpts to the end of the function where its content isn't needed any more. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 24 15:29:29 2013 +0200 block: Disable driver-specific options for 1.5 We don't want to commit to the API yet before everything is worked out. Disable it for the 1.5 release. This commit is meant to be reverted after the 1.5 release. The disabling of the driver-specific options is achieved by applying the old checks while parsing the command line. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8d71c63137600a41b5b959217c0492278536b3dc Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Apr 23 14:03:35 2013 +0800 sheepdog: implement .bdrv_co_is_allocated() Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e8bfaa2faeb7c9585a5586aafaad5f3affc37814 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Apr 23 14:03:34 2013 +0800 sheepdog: use BDRV_SECTOR_SIZE Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cac8f4a60fc5c372bacd59eeff0646955fb4f246 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Apr 23 14:03:33 2013 +0800 sheepdog: add discard/trim support for sheepdog The 'TRIM' command from VM that is to release underlying data storage for better thin-provision is already supported by the Sheepdog. This patch adds the TRIM support at QEMU part. For older Sheepdog that doesn't support it, we return 0(success) to upper layer. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4fc16838b8392a29644d4d2c01495e6ff447a6f0 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Fri Apr 19 09:16:39 2013 +0100 block/ssh: Require libssh2 >= 1.2.8. libssh2 >= 1.2.8 is required to enable this block device (because that version introduced the libssh2_session_handshake call). Change the test to use pkg-config exclusively. If the user requests --enable-libssh2 and the minimum version is not available, then the following error is displayed: $ ./configure --enable-libssh2 ERROR: libssh2 >= 1.2.8 required for --enable-libssh2 If --enable-libssh2 is not specified, then the feature is silently disabled if sufficiently new libssh2 is not available. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6ea8430d98c48eb67e47d14dfe8c0fdb86413555 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Apr 25 13:59:41 2013 -0400 bsd-user: Track change in FreeBSD SYSCTL(9) types Originally from Garrett Cooper in FreeBSD PR ports/155558 http://www.freebsd.org/cgi/query-pr.cgi?pr=155558 Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b702d2aebeb6b1392f42262f537f70e6890233a7 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Apr 25 13:38:28 2013 -0400 virtio: Fix compilation without CONFIG_VHOST_SCSI Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 48c75f484de13d59df6ae0e6becfe4ad4cd41ad5 Author: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx> Date: Thu Apr 25 18:41:16 2013 +0200 qemu-doc: Option -ignore-environment removed. Has been removed in commit fc9c54124d134dbd76338a92a91804dab2df8166. Signed-off-by: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d49b8e0b299df3f0472945eb6d33b8413d102046 Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Date: Tue Apr 23 18:15:12 2013 +0100 s390x: use CONFIG_INT128 to detect __uint128_t Target s390x uses ad-hoc macro magic to guess if the compiler supports the GCC extension __uint128_t. This patch uses the the dedicated macro CONFIG_INT128 defined by configure instead. This fixes compilation with the CIL source code analyzer, which uses GCC as a preprocessor but does not support __uint128_t. Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7edd2cf1a2eace84e3f8753e912449ae8871802f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sun Apr 21 13:30:03 2013 +0100 linux-user: fix compile error due to stray colon at end of #ifdef line Remove a stray colon from the end of a #ifdef line. Some versions of gcc complain about this: linux-user/syscall.c: In function â??do_syscallâ??: linux-user/syscall.c:7606:28: error: extra tokens at end of #ifdef directive [-Werror] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-By: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a1bff71c56f2d1048244c829b63797940dd4ba0e Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Tue Apr 23 14:27:09 2013 +0200 microblaze: Add internal base vectors reg Configurable at CPU synthesis/instantiation. Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e3351000cd682200835763caca87adf708ed1c65 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Apr 22 14:41:28 2013 +1000 Makefile: Use QEMU_FLAGS for DTC compilation Build DTC as QEMU is built. Fixes the issue with mingw build which can't handles DTC's default CFLAGS. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9005a51b096272e1834638f8e184706548ee7364 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Apr 22 14:40:49 2013 +1000 Makefile: Don't build shared libfdt The submodule DTC should just build and use DTC as static (the whole motivation for using submod is lack of widespread distro support). The .so causes build failures on some platforms, so adjust the make target to just build the static lib. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 5257144a7860313c8cf19271c85f76fcbd123c39 Merge: 79f2007... 1f8f987... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Apr 25 15:57:27 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Amos Kong # Via Luiz Capitulino * luiz/queue/qmp: monitor: introduce query-command-line-options Message-id: 1366922656-32545-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 79f2007578a0a205e25a6f299cc52d6732337089 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Apr 25 13:53:02 2013 +0200 qemu-char: Set foo_tag = 0 when returning FALSE from callbacks While reviewing some patches I found this problem where tcp_chr_accept does not clear listen_tag when returning FALSE, leading to a double g_source_remove of the underlying source. Not really a problem unless the id gets re-used in between, but still something we should fix. While at it I've also reviewed all the other code in qemu-char.c for similar problems and found that pty_chr_timer has the same problem. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1366890782-10311-1-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4dcd8ace175a1a6bfb8945d8ae1906be051b36b Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Apr 25 12:17:11 2013 -0400 Remove unnecessary FreeBSD #include sys/param.h was included to define __FreeBSD_version, but the conditional using it was removed by commit d05ef160453e98546a4197496dc8a3cb2defac53 (Brad Smith, "Allow clock_gettime() monotonic clock to be utilized on more OS's"), so the include is no longer needed here. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1366906631-2680-1-git-send-email-emaste@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d3002b0463727bf8110833b9d1a6efaa28990c28 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 25 09:33:19 2013 +0200 console: add dummy surface for guests without graphic card So users get a notification instead of a crash. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5209089fcd1373c363dc424827593ffaced12203 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Apr 23 15:44:31 2013 +0200 console: zap ds arg from register_displaychangelistener We don't have multiple DisplayStates any more, so passing it in as argument is not needed. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cdd5b9375744130e2f49548a3cac7be176a931ca Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Apr 23 13:26:59 2013 +0200 console: switch ppm_save to qemu_open ... so it works with fdset. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 14a936490bf90df32ab83d13563efe4b4c768c3c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 18 07:30:40 2013 +0200 console: add qemu_console_lookup_by_device Look up the QemuConsole for a given device, using the new link. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit aa2beaa1f57ca329cfceece08cc19d52368e6a8f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 17 10:21:27 2013 +0200 console: add device link to QemuConsoles So it is possible to figure which qemu console displays which device. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 95be0669a353d7f4093876a8fe94474e39c7af9d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 17 09:45:10 2013 +0200 console: qom-ify QemuConsole Just the minimal bits to turn QemuConsoles into Objects. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1f8f987d349f8f1bace4b47a83323b68ab0e084c Author: Amos Kong <akong@xxxxxxxxxx> Date: Thu Apr 25 17:50:35 2013 +0800 monitor: introduce query-command-line-options Libvirt has no way to probe if an option or property is supported, This patch introduces a new qmp command to query command line option information. hmp command isn't added because it's not needed. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> CC: Luiz Capitulino <lcapitulino@xxxxxxxxxx> CC: Osier Yang <jyang@xxxxxxxxxx> CC: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 7c4869761d7f2e0a3f806a5359eea5d2473ec5d5 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Apr 23 17:15:19 2013 +0200 virtio-ccw: Check indicators location. If a guest neglected to register (secondary) indicators but still runs with notifications enabled, we might end up writing to guest zero; avoid this by checking for valid indicators and only writing to the guest and generating an interrupt if indicators have been setup. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 9953f8822cc316eec9962f0a2858c3439a80adec Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Apr 12 17:25:03 2013 +0200 pc: Kill the "use flash device for BIOS unless KVM" misfeature Use of a flash memory device for the BIOS was added in series "[PATCH v10 0/8] PC system flash support", commit 4732dca..1b89faf, v1.1. Flash vs. ROM is a guest-visible difference. Thus, flash use had to be suppressed for machine types pc-1.0 and older. This was accomplished by adding a dummy device "pc-sysfw" with property "rom_only": * Non-zero rom_only means "use ROM". Default for pc-1.0 and older. * Zero rom_only means "maybe use flash". Default for newer machines. Not only is the dummy device ugly, it was also retroactively added to the older machine types! Fortunately, it's not guest-visible (thus no immediate guest ABI breakage), and has no vmstate (thus no immediate migration breakage). Breakage occurs only if the user unwisely enables flash by setting rom_only to zero. Patch review FAIL #1. Why "maybe use flash"? Flash didn't (and still doesn't) work with KVM. Therefore, rom_only=0 really means "use flash, except when KVM is enabled, use ROM". This is a Bad Idea, because it makes enabling/ disabling KVM guest-visible. Patch review FAIL #2. Aside: it also precludes migrating between KVM on and off, but that's not possible for other reasons anyway. Fix as follows: 1. Change the meaning of rom_only=0 to mean "use flash, no ifs, buts, or maybes" for pc-i440fx-1.5 and pc-q35-1.5. Don't change anything for older machines (to remain bug-compatible). 2. Change the default value from 0 to 1 for these machines. Necessary, because 0 doesn't work with KVM. Once it does, we can flip the default back to 0. 3. Don't revert the retroactive addition of device "pc-sysfw" to older machine types. Seems not worth the trouble. 4. Add a TODO comment asking for device "pc-sysfw" to be dropped once flash works with KVM. Net effect is that you get a BIOS ROM again even when KVM is disabled, just like for machines predating the introduction of flash. To get flash instead, use "--global pc-sysfw.rom_only=0". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365780303-26398-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fd028f64f662c801fd5a54d0e3a1d2baeee93ea Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Apr 12 17:25:02 2013 +0200 pc: Split pc_init_pci_1_0() off pc_init_pci_1_2() Just to make the next commit easier to review. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365780303-26398-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 36afbc5135062ccd7d0166ffc3ddbca052d05c71 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Apr 12 17:25:01 2013 +0200 pc: Inline pc_init_pci_1_3() into pc_init_pci_1_2() Just to make the commit after next easier to review. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365780303-26398-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1bfffe21a686ab273abce5ef12e8d2a3de320023 Merge: f3aa844... 57f9783... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Apr 24 13:23:26 2013 -0500 Merge remote-tracking branch 'alon/libcacard_ccid.1' into staging # By Alon Levy (15) and others # Via Alon Levy * alon/libcacard_ccid.1: (28 commits) libcacard/cac: change big switch functions to single return point dev-smartcard-reader: empty implementation for Mechanical (fail correctly) libcacard: move atr setting from macro to function libcacard/vreader: add debugging messages for apdu dev-smartcard-reader: copy atr protocol to ccid parameters dev-smartcard-reader: change default protocol to T=0 dev-smartcard-reader: define structs for CCID_Parameter internals ccid-card-passthru, dev-smartcard-reader: add debug environment variables ccid-card-passthru: add atr check libcacard: change default ATR dev-smartcard-reader: reuse usb.h definitions dev-smartcard-reader: support windows guest dev-smartcard-reader: remove aborts (never triggered, but just in case) dev-smartcard-reader: nicer debug messages dev-smartcard-reader: white space fixes libcacard: remove default libcoolkey loading libcacard: remove sql: prefix libcacard: teach vscclient to use GMainLoop for portability libcacard: vscclient to use QemuThread for portability libcacard: split vscclient main() from socket reading ... Message-id: 921423767.1475937.1366790789930.JavaMail.root@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f3aa844bbb2922a5b8393d17620eca7d7e921ab3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 16 10:50:38 2013 +0200 build: include config-{, all-}devices.mak after defining CONFIG_SOFTMMU and CONFIG_USER_ONLY Moving the inclusions closer to Makefile, and before rules.mak, makes Makefile and Makefile.target more consistent with each other. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1366102238-12374-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fca0a70cdb629b1184f80a7531def457f528b4ca Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:23 2013 +0200 virtio: drop unused function prototypes. This removes the unused prototypes in virtio.h. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a1a8cc7af5741a4221e1c5bc80c41390d896ff5 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:22 2013 +0200 virtio: cleanup: init and exit function. This clean the init and the exit functions and rename virtio_common_cleanup to virtio_cleanup. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1c819449836b926d6f9db860127211ef092da88e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:21 2013 +0200 virtio: remove virtiobindings. This remove virtio-bindings, and use class instead. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 181103cd52710b987799ae980bb92407994243bc Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:20 2013 +0200 virtio: remove the function pointer. This remove the function pointer in VirtIODevice, and use only VirtioDeviceClass function pointer. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a2f1078b70b6cfc98ed795f17f9d975b1dec1f65 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:19 2013 +0200 virtio-pci: cleanup. This remove the init, exit functions as they are no longer used. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d51fcfac8aca37f5f10981d2229681474de6304d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:18 2013 +0200 virtio-bus: make virtio_x_bus_new static. virtio_x_bus_new are only used in file scope. So this make them static. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5d448f9dac460d0adf7d7549a9c324f50f1dd1e2 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:17 2013 +0200 virtio-bus: add new functions. This add two functions: * virtio_bus_set_vdev_config. * virtio_bus_set_vdev_feature. Needed by virtio-ccw. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 611aa333b472c3fee5d4aed3b7e007621797e895 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:08:01 2013 +0200 virtio-rng: cleanup: use QOM casts. As the virtio-rng-pci, virtio-rng-s390 and virtio-rng-ccw are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-9-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 65f3b678f5b825010a1d167e82dca26ca84a199d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:08:00 2013 +0200 virtio-rng: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 46a5a89d654573425b63f8a7a613833973955f35 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:59 2013 +0200 virtio-rng: cleanup: init and exit functions. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2db26d4ca240bc0f04898253b9469a2435665084 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:58 2013 +0200 virtio-rng-ccw: switch to the new API. Here the virtio-rng-ccw is modified for the new API. The device virtio-rng-pci extends virtio-pci. It creates and connects a virtio-rng-device during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0bca1f531312037ab988b883ea3df85ddd2cc5b1 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:57 2013 +0200 virtio-rng-s390: switch to the new API. Here the virtio-rng-s390 is modified for the new API. The device virtio-rng-s390 extends virtio-s390-device as before. It creates and connects a virtio-rng during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 59ccd20a9ac719cff82180429458728f03ec612f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:56 2013 +0200 virtio-rng-pci: switch to the new API. Here the virtio-rng-pci is modified for the new API. The device virtio-rng-pci extends virtio-pci. It creates and connects a virtio-rng-device during the init. The properties are not changed. The virtio_pci_reset function, is removed as no longer used. The virtio_pci_rst function, is renamed virtio_pci_reset. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6eac8aec02b1e9c5a626820bcca7654cb7d006a7 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:55 2013 +0200 virtio-rng: add virtio-rng device. Create virtio-rng-device which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit af1a8ad6467eb7056573bc3580d3d1824a05224a Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:54 2013 +0200 virtio-rng: don't use pointer for configuration. The configuration field must not be a pointer as it will be used for virtio-rng properties. So *conf is replaced by conf. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5a37532d0897de488c35ab2db6d86647bd2a1b6f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 12:08:38 2013 +0200 input: introduce keyboard handler list Add a linked list of keyboard handlers. Added handlers will go to the head of the list. Removed handlers will be zapped from the list. The head of the list will be used for events. This fixes the keyboard-dead-after-usb-kbd-unplug issue, key events will be re-routed to the ps/2 kbd instead of being discarded. [ v2: fix cut+paste bug found my Markus ] Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1366798118-3248-3-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 72711efb58c13e28c89813490120b32947a2d719 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 12:08:37 2013 +0200 input: make QEMUPutLEDEntry + QEMUPutMouseEntry private There is no need for anybody outside ui/input.c to access the struct elements. Move the definitions, leaving only the typedefs in the header files. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1366798118-3248-2-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a3ac6b53d4e8ed6fa2ca1af87c68a8b7d5535220 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed Apr 24 18:37:22 2013 +0800 ich9: kill cmos_s3 Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366799842-18550-1-git-send-email-hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 57f97834efe0c208ffadc9d2959f3d3d55580e52 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 21:43:36 2013 +0200 libcacard/cac: change big switch functions to single return point Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 58aeda15abb963196faaa4a0f23c5af45840f1b0 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 17:31:10 2013 +0200 dev-smartcard-reader: empty implementation for Mechanical (fail correctly) Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 0b6a16c1a47b622b1a692ab179013d9e30e9cf3b Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 16:27:43 2013 +0200 libcacard: move atr setting from macro to function Only because qemu's checkpatch complains about it. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 7a6858962457c54be44715d6562504c765d9ea76 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 15:32:19 2013 +0200 libcacard/vreader: add debugging messages for apdu Using g_debug with log domain libcacard Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 2f8f916b6d4482976bb5cf179f65aa2cfcd1aec9 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:58:29 2013 +0200 dev-smartcard-reader: copy atr protocol to ccid parameters Adds todos. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit d7d218ef02d87c637d20d64da8f575d434ff6f78 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Wed Mar 27 10:14:15 2013 +0200 dev-smartcard-reader: change default protocol to T=0 We don't support T=1 so we shouldn't advertise it by default. Two independent changes: * Default ATR sets T=0. This gets overwritten by the client provided ATR later. * Class descriptor changes dwAdvertise dwProtocols.PPPP to 0x1 and dwProtocols.RRRR=0 per spec. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 4942d6c39477f441a106430ab11f85806b4532f5 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:57:45 2013 +0200 dev-smartcard-reader: define structs for CCID_Parameter internals Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit b16352acf3105000e14f194b556e159d5d06cff9 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:41:28 2013 +0200 ccid-card-passthru, dev-smartcard-reader: add debug environment variables Introduces a new utility function: parse_debug_env to avoid code duplication. This overrides whatever debug value is set on the corresponding devices from the command line, and is meant to ease the usage with any management stack. For libvirt you can set environment variables by extending the dom namespace, i.e: <domain type='kvm' id='3' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <qemu:commandline> <qemu:env name='QEMU_CCID_PASSTHRU_DEBUG' value='4'/> <qemu:env name='QEMU_CCID_DEBUG' value='4'/> </qemu:commandline> </domain> Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 0e61400c1941aabc9f45d5ff961b57337c7caac6 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:39:09 2013 +0200 ccid-card-passthru: add atr check Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit a26dfd95d33d650f9f9f93b6ee6f03be925db1a8 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 15:35:24 2013 +0200 libcacard: change default ATR Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 693e47738d05463b2743b0a652412d33cf254977 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 15:31:26 2013 +0200 dev-smartcard-reader: reuse usb.h definitions Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit c5cd7c875608911ec74817d24cd12b825014ba19 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 21:40:53 2013 +0200 dev-smartcard-reader: support windows guest By not advertising USB wakeup support (which we don't). Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 47bf53af7507986fc473cb308324340448fd85e7 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:55:07 2013 +0200 dev-smartcard-reader: remove aborts (never triggered, but just in case) Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 7e1ac5abe3fbbfee4ddfc2d9971a644bd787e055 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:50:33 2013 +0200 dev-smartcard-reader: nicer debug messages Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 4543d43c6181d90f86fb528430f250810dde03d5 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:45:49 2013 +0200 dev-smartcard-reader: white space fixes Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit ad2181f2b612cd8bf0a790faa2a1b51559f7234b Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Mar 20 14:07:49 2013 +0100 libcacard: remove default libcoolkey loading Use only the modules defined in the NSS database. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 667e0b4b6806d53e0b46e29a15d24427ef958c78 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Mar 20 14:07:48 2013 +0100 libcacard: remove sql: prefix For some reason, with sql:/ prefix, the PKCS11 modules are not loaded. This patch goes on top of Alon smartcard series. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit c9495ee9eb57786f5a60d4591bb186b23f6b6bef Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:16 2013 +0100 libcacard: teach vscclient to use GMainLoop for portability This version handles non-blocking sending and receiving from the socket. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 930c8ad472ec00d40cfbf1e9b1395946bf0dd392 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:15 2013 +0100 libcacard: vscclient to use QemuThread for portability Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit a50b831ae1fe039b7c22793f307e0b8afdf50589 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:14 2013 +0100 libcacard: split vscclient main() from socket reading Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 5354e4d242175e067bb70732f694ae9322a81351 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:13 2013 +0100 libcacard: fix mingw64 cross-compilation Compile and link with version.lo Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 37746c5eacf309fa019ea0fa45f776c36c561457 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:12 2013 +0100 build-sys: must link with -fstack-protector It is needed to give that flag to the linker as well, but latest libtool 2.4.2 still swallows that argument, so let's pass it with libtool -Wc argument. qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to `__stack_chk_guard' Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit d3bf825e59125bc6a0accec0dca119ea0155cb82 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:11 2013 +0100 util: move socket_init() to osdep.c vscclient needs to call socket_init() for portability. Moving to osdep.c since it has no internal dependency. Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit e2d9c5e769d59f2bca649b8286892d49bdcfc2b1 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Feb 27 21:08:06 2013 +0100 libcacard: use system config directory for nss db on win32 It's a bit nicer to look for default database under CSIDL_COMMON_APPDATA\pki\nss rather that /etc/pki/nss. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit da000a4867749434e03896a5072321771736352a Author: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon May 21 21:51:33 2012 +0200 ccid: declare DEFAULT_ATR table to be "static const" Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit d18c7117467aa5fae95a7c6eaffcf50618197e79 Author: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon May 21 21:56:20 2012 +0200 ccid: make backend_enum_table "static const" and adjust users Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit d0ebd78890fba2ab458ec34763dae8566ccb1b72 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Nov 21 14:16:08 2012 +0100 ccid-card-emul: do not crash if backend is not provided Program received signal SIGSEGV, Segmentation fault. __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164 164 movdqu (%rsi), %xmm2 (gdb) bt at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:477 at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:503 Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit e2fd2115ce26049335d66ae0ae5e5c0ad06fb498 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Sun Dec 2 22:00:55 2012 +0100 libcacard: correct T0 historical bytes size The VCARD_ATR_PREFIX macro adds a prefix of 6 characters only. pcsc_scan was complaining before the patch: + Historical bytes: 56 43 41 52 44 5F 4E 53 53 ERROR! ATR is truncated: 2 byte(s) is/are missing Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit bb71623811686ce3c34ce724f073f5c5dd95f51b Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 22 10:41:39 2013 -0400 Move TPM passthrough specific command line options to backend structure Move the TPM passthrough specific command line options to the passthrough backend implementation and attach them to the backend's interface structure. Add code to tpm.c for validating the TPM command line options. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryan <coreyb@xxxxxxxxxxxxxxxxxx> Message-id: 1366641699-21420-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 13daf6cad05a65970381cd8b876426d55133aadf Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:43 2013 +0200 virtio-9p: cleanup: QOM casts. As the virtio-9p-pci is switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e8111e50557761b0d86cd5c90fe7a272aeddd7a3 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:42 2013 +0200 virtio-9p: cleanup: init function. This remove old init function as it is no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 234a336f9e308ae60ad8ef8f2662eb0a93d7ff00 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:41 2013 +0200 virtio-9p-pci: switch to the new API. Here the virtio-9p-pci is modified for the new API. The device virtio-9p-pci extends virtio-pci. It creates and connects a virtio-9p-device during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e7303c43031302279ee7b5d6ea7031bf81e2e2d9 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:40 2013 +0200 virtio-9p: add the virtio-9p device. Create virtio-9p-device which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 93b971c4ff0881349d4fa5a1394cc3d6faf351c3 Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Date: Tue Apr 23 13:04:16 2013 +0300 ui/gtk: Add Turkish translations Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Message-id: 1366711456-1935-1-git-send-email-ozancag@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 571253d410d6050637ccd3b6c122a3ad61e2ab25 Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Date: Tue Apr 23 13:03:22 2013 +0300 ui/gtk: Use gtk_widget_get_window() to support both gtk2 and gtk3 This fixes build with gtk+-3.0. Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Message-id: 1366711402-1750-1-git-send-email-ozancag@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2cfd5cc06ab14879964c8bbd5595d416490605ea Merge: 4567367... 3f5cc97... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 23 10:33:45 2013 -0500 Merge remote-tracking branch 'kraxel/usb.81' into staging # By Gerd Hoffmann (3) and Hans de Goede (1) # Via Gerd Hoffmann * kraxel/usb.81: usb-host: raise libusbx minimum version to 1.0.13 usb: better speed mismatch error reporting ehci_free_packet: Discard finished packets when the queue is halted xhci: remove XHCIRing->base (unused) Message-id: 1366705929-11251-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3f5cc97e2ba00b34fd20a5553ed9d2fecf32f7e3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 18 12:16:44 2013 +0200 usb-host: raise libusbx minimum version to 1.0.13 Allows to remove one FIXME. Makes LIBUSB_LOG_LEVEL_WARNING build errors go away. And starting with that version libusb has a LIBUSBX_API_VERSION define which allows to easily #ifdef version dependencies should that need arrive in the future. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3b7e759a4110690c9617b1ffa6a7c96a343a330d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 18 11:57:21 2013 +0200 usb: better speed mismatch error reporting Report the supported speeds for device and port in the error message. Also add the speeds to the tracepoint. And while being at it drop the redundant error message in usb_desc_attach, usb_device_attach will report the error anyway. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e449f26bed42b1d8c6efefcd8dc768f23f19458f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 9 10:24:22 2013 +0200 ehci_free_packet: Discard finished packets when the queue is halted With pipelining it is possible to encounter a finished packet when cleaning the queue due to a halt. This happens when a non stall error happens while talking to a real device. In this case the queue on the usb-host side will continue processing packets, and we can have completed packets waiting in the queue after an error condition packet causing a halt. There are 2 reasons to discard the completed packets at this point, rather then trying to writing them back to the guest: 1) The guest expect to be able to cancel and/or change packets after the packet with the error without doing an unlink, so writing them back may confuse the guest. 2) Since the queue does not advance when halted, the writing back of these packets will fail anyways since p->qtdaddr != q->qtdaddr, so the ehci_verify_qtd call in ehci_writeback_async_complete_packet will fail. Note that 2) means that then only functional change this patch introduces is the printing of a warning when this scenario happens. Note that discarding these packets means that the guest driver and the device will get out of sync! This is unfortunate, but should not be a problem since with a non stall error (iow an io-error) the 2 are out of sync already anyways. Still this patch adds a warning to signal this happening. Note that sofar this has only been seen with a DVB-T receiver, which gives of a MPEG-2 stream, which allows for recovering from lost packets, see: https://bugzilla.redhat.com/show_bug.cgi?id=890320 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7d04c2b75562664a28612d7481f328ee4ec51dda Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 13:03:08 2013 +0200 xhci: remove XHCIRing->base (unused) Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 456736710df19c2275192269fe67a3f0b2583835 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Apr 22 17:48:40 2013 +0200 block: Fix build with tracing enabled filename was still uninitialised when it's used as a parameter to a tracing function, so let's move the initialisation. Also, commit c2ad1b0c forgot to add a NULL check, which this patch adds while we're at it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1366645720-11384-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e36d6ca34243fdc9f48f4bdbe5fca2b19162bfa Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 16 17:08:36 2013 -0400 tpm: Simplify creation of cancel path Simplify the creation of the cancel path given the TPM's device path. Given the path /dev/tpm0 build the path /sys/class/misc/tpm0/device/cancel. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1366146516-23814-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 56863d4f19c854acc5ebf5f5c1b590eb8164851a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sun Apr 21 14:30:03 2013 +0100 qtest: Handle addresses and values for {in, out}[bwl] as unsigned Handle the addresses and values for {in,out}[bwl] as unsigned (ie with strtoul), as per the protocol specification comment. This fixes a test failure in test_i440fx_defaults on 32-bit hosts where the test tries to write 0x80000000 and qtest was instead writing 0x7fffffff. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1366551003-16649-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 888a6bc63c94ef34026399117ebf6a1fa0e7a29a Author: Satoru Moriya <satoru.moriya@xxxxxxx> Date: Fri Apr 19 16:42:06 2013 +0200 Add option to mlock qemu and guest memory In certain scenario, latency induced by paging is significant and memory locking is needed. Also, in the scenario with untrusted guests, latency improvement due to mlock is desired. This patch introduces a following new option to mlock guest and qemu memory: -realtime mlock=on|off Signed-off-by: Satoru Moriya <satoru.moriya@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366382526-26146-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b316774f60291f57ca9ecb6a9f0712c532cae34 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:09 2013 +0200 qemu-char: do not operate on sources from finalize callbacks Due to a glib bug, the finalize callback is called with the GMainContext lock held. Thus, any operation on the context from the callback will cause recursive locking and a deadlock. This happens, for example, when a client disconnects from a socket chardev. The fix for this is somewhat ugly, because we need to forego polymorphism and implement our own function to destroy IOWatchPoll sources. The right thing to do here would be child sources, but we support older glib versions that do not have them. Not coincidentially, glib developers found and fixed the deadlock as part of implementing child sources. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Message-id: 1366385529-10329-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cdbf6e165988ab9d7c01da03b9e27bb8ac0c76aa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:08 2013 +0200 qemu-char: correct return value from chr_read functions Even if a CharDriverState's source is blocked by the front-end, it must not be dropped. The IOWatchPoll that wraps it will take care of adding and removing it to the main loop. Only remove the source when the channel is closed; and in that case, make sure that the wrapping IOWatchPoll is removed too. These should just be theoretical bugs. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366385529-10329-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 85a67692d04e15a6b7d5a0e2b9d573d8bffbe108 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:07 2013 +0200 qemu-char: simplify pty polling There is no need to use a timer and pty_chr_read to detect a connected pty. It is simpler to just call g_poll periodically and check for POLLHUP. It is done once per second, and only if the pty is disconnected, so it is cheap enough. Tested with "-monitor pty" and "-serial mon:pty", both of which work correctly and do not freeze QEMU. (How to test ptys? "socat -,raw,echo=0 /dev/pts/4,raw"). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366385529-10329-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 910b63682ea72f34307b8797c4cc81a1f2a0c47f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:06 2013 +0200 qemu-char: use consistent idiom for removing sources Always check that the source is active, and zero the tag afterwards. The occurrence in pty_chr_state will trigger with the next patch, the others are just theoretical. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366385529-10329-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0aa09897571c55292703b7a099d7ea79baa09950 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Apr 22 17:42:50 2013 +1000 translate-all: fix compiler warning and linked error The code did use profile_getclock() but did not include include/qemu/timer.h where this function is defined. The patch fixes this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1366616571-4321-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f1ab7a5acf08dcc11638b22660ed87d5f6d633c2 Merge: 2569073... 7da94ca... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:08:22 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (16) and Stefan Hajnoczi (4) # Via Kevin Wolf * kwolf/for-anthony: qemu-iotests: add 053 unaligned compressed image size test block: Allow overriding backing.file.filename block: Remove filename parameter from .bdrv_file_open() vvfat: Use bdrv_open options instead of filename sheepdog: Use bdrv_open options instead of filename rbd: Use bdrv_open options instead of filename iscsi: Use bdrv_open options instead of filename gluster: Use bdrv_open options instead of filename curl: Use bdrv_open options instead of filename blkverify: Use bdrv_open options instead of filename blkdebug: Use bdrv_open options instead of filename raw-win32: Use bdrv_open options instead of filename raw-posix: Use bdrv_open options instead of filename block: Enable filename option block: Add driver-specific options for backing files block: Fail gracefully when using a format driver on protocol level qemu-iotests: Fix _filter_qemu qemu-img: do not zero-pad the compressed write buffer qcow: allow sub-cluster compressed write to last cluster qcow2: allow sub-cluster compressed write to last cluster Message-id: 1366630294-18984-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 25690739f1f067b6d8b2e616d87b1d976db0db92 Merge: 6165daa... 97ebbab... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:05:14 2013 -0500 Merge remote-tracking branch 'bonzini/nbd-next' into staging # By Stefan Hajnoczi # Via Paolo Bonzini * bonzini/nbd-next: nbd: set TCP_NODELAY nbd: use TCP_CORK in nbd_co_send_request() nbd: unlock mutex in nbd_co_send_request() error path Message-id: 1366381830-11267-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6165daa4c8431d9d60382352864b46f34dd61ab4 Merge: d639498... d6e5191... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:05:05 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (5) and others # Via Paolo Bonzini * bonzini/scsi-next: vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module vhost-scsi: new device supporting the tcm_vhost Linux kernel module virtio: simplify Makefile conditionals virtio-scsi: create VirtIOSCSICommon vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping scsi: VMWare PVSCSI paravirtual device implementation scsi: avoid assertion failure on VERIFY command Message-id: 1366381460-6041-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d639498852773a6019cf1b970dd8dc2f3791c45b Merge: 68c0aa6... dcc6cef... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:04:21 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Amos Kong (1) and Luiz Capitulino (1) # Via Luiz Capitulino * luiz/queue/qmp: virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event monitor: fix the wrong order of releasing keys Message-id: 1366375833-995-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7da94ca741e01a80afd65e107cc2cee160d1b2d2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Apr 16 11:14:23 2013 +0200 qemu-iotests: add 053 unaligned compressed image size test Test that qemu-img convert -c works when input image length is not a multiple of the cluster size. Previously an error message would be produced: qemu-img: error while compressing sector 0: Input/output error Now that qcow2 and qcow handle this case the test passes successfully. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1cb6f506444ddf00bb163e5ffa28ab1051b65642 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 20:27:07 2013 +0200 block: Allow overriding backing.file.filename If a filename is passed in the driver-specific options from the command line, the backing file path from the image is ignored now. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 56d1b4d21d444619302d3f1291a133b1c2b9b072 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 20:02:37 2013 +0200 block: Remove filename parameter from .bdrv_file_open() It is unused now in all block drivers. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 7ad9be64e8ac17811ff358279ef7193cc623da1a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 19:42:04 2013 +0200 vvfat: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit c8c96350e0127c1d3d55c5f16978f1f5201c52e8 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 18:10:49 2013 +0200 sheepdog: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit a9ccedc3daa06723821663c6b3b02c1760035bb9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 18:05:35 2013 +0200 rbd: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 60beb3412dfa9a6341338c93d0ef44312a9c4f66 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 17:59:59 2013 +0200 iscsi: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit b489477653702ae2beb919084644a6c8b0b72c36 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 17:50:16 2013 +0200 gluster: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 8e6d58cd5b695045dd4a203176d2a57138e7f02a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 15:31:33 2013 +0200 curl: Use bdrv_open options instead of filename As a bonus, going through the QemuOpts QEMU_OPT_SIZE parser for the readahead option gives us proper error reporting that the previous use of atoi() lacked. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 16c790926b0dda0535187a82d1b00fde19580571 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 14:40:28 2013 +0200 blkverify: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f468121290c2f632cb91f7b5e8184101e1ee0ab6 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 13:37:33 2013 +0200 blkdebug: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 8a79380b8ef1b02d2abd705dd026a18863b09020 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 11:34:56 2013 +0200 raw-win32: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit c66a615723914405e4307e5f13a28fd6b910150e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 2 10:47:40 2013 +0200 raw-posix: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 035fccdf7993a5b9a40f9dec22a663d4d6edb36b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 9 14:34:19 2013 +0200 block: Enable filename option This allows using the file.filename option instead of the string that comes from -drive file=... and is passed around as a separate parameter. The goal is to get rid of this parameter and use the options QDict more consistently. With this option you can access not only the top-level image, but specify a filename for the backing file (currently only if no backing file exists, but we'll allow overriding it later) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 31ca6d077c24b7aaa322d8930e3e5debbdb4a047 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Mar 28 15:29:24 2013 +0100 block: Add driver-specific options for backing files Options starting in "backing." are passed to the backing file now. If you don't need to specify the filename for the backing file, you can add it on the command line instead of in the image file: $ qemu-nbd -t /tmp/test.img $ qemu-img create -f qcow2 empty.qcow2 1G $ qemu-system-x86_64 -drive file=empty.qcow2,backing.file.driver=nbd,\ backing.file.host=localhost Note that this doesn't override the backing filename from the image. If the image has one, this will fail because NBD doesn't want the options and a filename at the same time. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 2af5ef70af9fdc823407ddc4ae14766806d4837a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 9 13:19:18 2013 +0200 block: Fail gracefully when using a format driver on protocol level Specifying the wrong driver could fail an assertion: $ qemu-system-x86_64 -drive file.driver=qcow2,file=x qemu-system-x86_64: block.c:721: bdrv_open_common: Assertion `file != ((void *)0)' failed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bdda92324dad963e85589e9ea74b2f2620319304 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 16 11:22:36 2013 +0200 qemu-iotests: Fix _filter_qemu $QEMU_PROG happens to be 'qemu' in my setup, so this sed command replaces a bit too much. Restrict it to the start of the line and to when it's followed by a colon, i.e. the form used by error messages. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 54f106d5fd51fcf385bab2ddf125477e83758038 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 17:17:33 2013 +0200 qemu-img: do not zero-pad the compressed write buffer bdrv_write_compressed() does not allow requests that span the end of the device. Therefore it is useless to zero-pad the last cluster and thereby exceed the end of the device. Let image formats handle zero-padding the final compressed cluster, if necessary. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 16b3c5cd9f27678bc9d6707664640653b47533b9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 17:17:32 2013 +0200 qcow: allow sub-cluster compressed write to last cluster Compression in qcow requires image length to be a multiple of the cluster size. Lift this requirement by zero-padding the final cluster when necessary. The virtual disk size is still not cluster-aligned, so the guest cannot access the zero sectors. Note that this is almost identical to the qcow2 version of this code. qcow2's compression code is drawn from qcow. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f4d38bef7cc79018e2aa789b0e4c23c3a8cdfca5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 17:17:31 2013 +0200 qcow2: allow sub-cluster compressed write to last cluster Compression in qcow2 requires image length to be a multiple of the cluster size. Lift this requirement by zero-padding the final cluster when necessary. The virtual disk size is still not cluster-aligned, so the guest cannot access the zero sectors. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 68c0aa6e02f79f8825c0c5dc4c7ed25d524aaa8b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Apr 17 09:16:35 2013 +0000 ui/cocoa.m: Fix recent compile breakage Fix failures to compile introduced by recent console commits 1dbfa00503, 81c0d5a6) which removed is_graphic_console() and vga_hw_update() without updating the cocoa UI backend to match. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 089305ac0a273e64c9a5655d26da7fe19ecee66f Author: Pavel Dovgaluk <Pavel.Dovgaluk@xxxxxxxxx> Date: Mon Apr 15 10:59:15 2013 +0400 i386 ROR r8/r16 instruction fix Fixed EFLAGS corruption by ROR r8/r16 instruction located at the end of the TB. Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 21e5181f9552e3a876b488c77dc5cfeccff66414 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Apr 20 14:48:28 2013 +0100 qdev: Drop taddr properties Drop all the infrastructure for taddr properties (ie ones which are 'hwaddr' sized). These are now unused, and any further desired use would be rather questionable since device properties shouldn't generally depend on a type that is conceptually variable based on the target CPU. 32 or 64 bit integer properties should be used instead as appropriate for the specific device. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 19298eca060036c3697b0fd9ae77a3ba715cc9c5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Apr 20 14:48:27 2013 +0100 hw/sm501: Use correct setter for sysbus-ohci dma-address property The sysbus-ohci dma-address property is declared as a HEX64 property, not a TADDR, so use the correct setter for it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f4374c82b158b36bd40a5055bffa60796569a300 Merge: 32370db... af9277e... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 20 11:39:08 2013 +0000 Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm: hw/versatile_pci: Drop unnecessary vpb_pci_config_addr() versatile_pci: Expose PCI memory space to system arm/realview: Fix mapping of PCI regions versatile_pci: Implement the PCI controller's control registers versatile_pci: Implement the correct PCI IRQ mapping versatile_pci: Put the host bridge PCI device at slot 29 versatile_pci: Use separate PCI I/O space rather than system I/O space versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE versatile_pci: Update to realize and instance init functions versatile_pci: Expose PCI I/O region on Versatile PB versatile_pci: Fix hardcoded tabs commit 32370db3fb8433259435397c4d60006164c0d198 Merge: 87885c8... e91f229... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 20 11:38:48 2013 +0000 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Correctly restore FPSCR target-arm: Add some missing CPU state fields to VMState target-arm: port ARM CPU save/load to use VMState target-arm: Reinsert missing return statement in ARM mode SRS decode commit 87885c8e57db38669dad2aa1a83577fe95f481be Merge: f691df5... 03903ff... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 20 11:38:29 2013 +0000 Merge branch 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu * 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu: linux-user: fix setgroups/getgroups for non-UID16 archs linux-user: fix undefined shift in copy_to_user_fdset linux-user: change do_semop to return target errno when unsuccessful commit d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 29 01:08:16 2013 +0000 vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ccf6916c843edd30ea4ecfaaac68faa865529c97 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 16:16:50 2013 +0200 vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 50787628ee343d3c149eb35c206b68429d1cfdf4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 29 01:08:16 2013 +0000 vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5e9be92d775208cf6cc9bf9a592853888046239e Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 29 01:08:16 2013 +0000 vhost-scsi: new device supporting the tcm_vhost Linux kernel module The WWPN specified in configfs is passed to "-device vhost-scsi-pci". The tgpt field of the SET_ENDPOINT ioctl is obsolete now, so it is not available from the QEMU command-line. Instead, I hardcode it to zero. Changes in Patch-v2: - Add vhost_scsi_get_features() in order to determine feature bits supports by host kernel (mst + nab) - Re-enable usage of DEFINE_VIRTIO_COMMON_FEATURES, and allow EVENT_IDX to be disabled by host in vhost_scsi_get_features() - Drop unused hotplug bit in DEFINE_VHOST_SCSI_PROPERTIES Changes in Patch-v1: - Set event_idx=off by default (nab, thanks asias) - Disable hotplug feature bit for v3.9 tcm_vhost kernel code, need to re-enable in v3.10 (nab) - Update to latest qemu.git/master HEAD Changes in WIP-V3: - Drop ioeventfd vhost_scsi_properties (asias, thanks stefanha) - Add CONFIG_VHOST_SCSI (asias, thanks stefanha) - Add hotplug feature bit Changes in WIP-V2: - Add backend guest masking support (nab) - Bump ABI_VERSION to 1 (nab) - Set up set_guest_notifiers (asias) - Set up vs->dev.vq_index (asias) - Drop vs->vs.vdev.{set,clear}_vhost_endpoint (asias) - Drop VIRTIO_CONFIG_S_DRIVER check in vhost_scsi_set_status (asias) Howto: Use the latest seabios, at least commit b44a7be17b git clone git://git.seabios.org/seabios.git make cp out/bios.bin /usr/share/qemu/bios.bin qemu -device vhost-scsi-pci,wwpn=naa.6001405bd4e8476d,event_idx=off ... Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> [ Rebase on top of VirtIOSCSICommon patch, fix bugs in feature negotiation and irqfd masking - Paolo ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e9cd423fa833533612beaa7674f988954bccb801 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 10:45:25 2013 +0200 virtio: simplify Makefile conditionals Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 292c8e50d540735c601886acc13eb0c117ee94f8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 29 01:08:15 2013 +0000 virtio-scsi: create VirtIOSCSICommon This patch refactors existing virtio-scsi code into VirtIOSCSICommon in order to allow virtio_scsi_init_common() to be used by both internal virtio_scsi_init() and external vhost-scsi-pci code. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Asias He <asias@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f691df528340807d42247fe79a89ea88e6303e1d Merge: 5dff24b... ad6b40f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 19 08:38:16 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Stefan Weil (3) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: m25p80: Remove bogus include of devices.h ssh: Remove unnecessary use of strlen function. block/ssh: Add missing gcc format attributes linux-user: change do_semop to return target errno when unsuccessful w64: Fix compiler warnings (wrong format specifier) Remove unneeded type casts virtio.h: drop unused function prototypes bswap: fix compiler warning Message-id: 1366371241-23430-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5dff24bebae5103810002ea76b1d03927e2148f2 Merge: b6c99f8... 22773d6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 19 08:38:05 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci: add pci test device This adds a new device that we can use for testing PCI PIO and MMIO, with and without ioeventfd in different configurations. FAST_MMIO will be added if/when kvm supports it. Also included are minor cleanups in kvm APIs that it needs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Mon 15 Apr 2013 05:42:24 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin # Via Michael S. Tsirkin * mst/tags/for_anthony: pci: add pci test device kvm: support non datamatch ioeventfd kvm: support any size for pio eventfd kvm: remove unused APIs Message-id: cover.1366272004.git.mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b6c99f8a6d66c5fa01a60483d9b012eb2b0932f2 Merge: 09dada4... 007e986... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 19 08:37:58 2013 -0500 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging # By Jan Kiszka (4) and Marcelo Tosatti (1) # Via Marcelo Tosatti * qemu-kvm/uq/master: vmxcap: Update according to SDM of January 2013 target-i386: kvm: save/restore steal time MSR vmxcap: Report APIC register emulation and RDTSCP control vmxcap: Augment reported information vmxcap: Open MSR file in unbuffered mode Message-id: cover.1366253306.git.mtosatti@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dcc6ceffc066745777960a1f0d32f3a555924f65 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu Apr 18 11:53:32 2013 -0400 virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event Because dev->actual is uint32_t, the expression 'dev->actual << VIRTIO_BALLOON_PFN_SHIFT' is truncated to 32 bits. This overflows when dev->actual >= 1048576. To reproduce: 1. Start a VM with a QMP socket and 5G of RAM 2. Connect to the QMP socket, negotiate capabilities and issue: { "execute":"balloon", "arguments": { "value": 1073741824 } } 3. Watch for BALLOON_CHANGE QMP events, the last one will incorretly be: { "timestamp": { "seconds": 1366228965, "microseconds": 245466 }, "event": "BALLOON_CHANGE", "data": { "actual": 5368709120 } } To fix it this commit casts it to ram_addr_t, which is ram_size's type. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 153d02e338a063ad5c51ff0725d5d88285f44121 Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Apr 16 13:47:32 2013 +0800 monitor: fix the wrong order of releasing keys (qemu) sendkey ctrl_r-scroll_lock-scroll_lock Executing this command could not let Windows guest panic, it caused by the wrong order of releasing keys. This problem was introduced by commit e4c8f004c55d9da3eae3e14df740238bf805b5d6. The right release order should be starting from last item. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e91f229a253f489f6d12b946ad7bdcdc158c5b67 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 12:24:19 2013 +0100 target-arm: Correctly restore FPSCR Use the helper functions to save and restore the FPSCR, so that we correctly propagate rounding mode and flushing behaviour into the float_status fields. This also allows us to stop saving the vector length/stride fields separately. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 602131e944f513f85ffa5593b020d263599cb2cd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 12:24:19 2013 +0100 target-arm: Add some missing CPU state fields to VMState A number of CPU state fields were accidentally omitted from our migration state: some OMAP specific cp15 registers, and some related to state for load/store exclusive insns. Add them. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 3cc1d20823e8677038c5bb5db10910f6271b1883 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Apr 19 12:24:19 2013 +0100 target-arm: port ARM CPU save/load to use VMState Port the ARM CPU save/load code to use VMState. Some state is saved in a slightly different order to simplify things -- for example arrays are saved one after the other rather than 'striped', and we always save all 32 VFP registers even if the CPU happens to only have 16. Use one subsection for each feature. This means that we don't need to bump the version field each time that a new feature gets introduced. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> [PMM: fixed conflicts, updated to use cpu_class_set_vmsd(), updated with new/removed fields since original patch, changed to use custom VMStateInfo for cpsr rather than presave/postload hooks, corrected subsection names so vmload doesn't fail] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 3b3284486be6898937395fac3ddbd2e68c5cb52f Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Date: Fri Apr 19 12:24:18 2013 +0100 target-arm: Reinsert missing return statement in ARM mode SRS decode Since patch 81465888c5306cd94abb9847e560796fd13d3c2f target-arm: factor out handling of SRS instruction the ARM mode SRS instruction has not worked in QEMU. The problem is a missing return directive that was removed in the refactoring, so after decoding the instruction, qemu would fall through to generate an UNDEF exception for an illegal instruction. Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit af9277e69df688ebb8ccccb7edecc45f0f85ea51 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:21 2013 +0100 hw/versatile_pci: Drop unnecessary vpb_pci_config_addr() Drop the vpb_pci_config_addr() function -- it is unnecessary since the size of the memory regions means the hwaddr is always within the 24 bit size. (This function was probably a leftover from when read/write functions were called with absolute addresses rather than relative ones.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 89a32d32fb573b32bbe129421602c2b3c3c247ec Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:20 2013 +0100 versatile_pci: Expose PCI memory space to system The VersatilePB's PCI controller exposes the PCI memory space to the system via three regions controlled by the mapping control registers. Implement this so that guests can actually use MMIO-BAR PCI cards. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit a2bff788d2316c037ce5ab72468b3fda1a0527a1 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:20 2013 +0100 arm/realview: Fix mapping of PCI regions Fix the mapping of the PCI regions for the realview board, which were all incorrect. (This was never noticed because the Linux kernel doesn't actually include a PCI driver for the realview boards.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 7468d73ac9a514b33c0c2797a1238db11163b23b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:20 2013 +0100 versatile_pci: Implement the PCI controller's control registers The versatile_pci PCI controller has a set of control registers which handle the mapping between PCI and system address spaces. Implement these registers (though for now they have no effect since we don't implement mapping PCI space into system memory at all). The most natural order for our sysbus regions has the control registers at the start, so move all the others down one. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 66a96d7018b9cbabb73c9b87b62a37e4cc46580a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:19 2013 +0100 versatile_pci: Implement the correct PCI IRQ mapping Implement the correct IRQ mapping for the Versatile PCI controller; it differs between realview and versatile boards, but the previous QEMU implementation was correct only for the first PCI card on a versatile board, since we weren't swizzling IRQs based on the slot number. Since this change would otherwise break any uses of PCI on Linux kernels which have an equivalent bug (since they have effectively only been tested against QEMU, not real hardware), we implement a mechanism for automatically detecting those broken kernels and switching back to the old mapping. This works by looking at the values the kernel writes to the PCI_INTERRUPT_LINE register in the config space, which is effectively the interrupt number the kernel expects the device to be using. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:19 2013 +0100 versatile_pci: Put the host bridge PCI device at slot 29 On real hardware the host bridge appears as a PCI device in slot 29, so make QEMU put its host bridge in that slot too. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 967c2607496087abf84904c82e6de0cd320a3831 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:18 2013 +0100 versatile_pci: Use separate PCI I/O space rather than system I/O space Rather than overloading the system I/O space (which doesn't even make any sense on ARM) for PCI I/O, create an memory region in the PCI controller and use that to represent the I/O space. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 0688810b416a5a4a41aa480132e89d65f81dafc6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:18 2013 +0100 versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally handle PCI in a more QOM-like fashion. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit cd93dbf375bd3d7ccbb7005d8d4e2b91293e967b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:18 2013 +0100 versatile_pci: Update to realize and instance init functions Update the Versatile PCI controller to use a realize function rather than SysBusDevice::init. To reflect the fact that the 'realview_pci' class is taking most of its implementation from 'versatile_pci' (and to make the QOM casts work) we make 'realview_pci' a subclass of 'versatile_pci'. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 5fb8084f31e9df7f0b2d63cfd3d10645d29b5eab Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:17 2013 +0100 versatile_pci: Expose PCI I/O region on Versatile PB Comments in the QEMU source code claim that the version of the PCI controller on the VersatilePB board doesn't support the PCI I/O region, but this is incorrect; expose that region, map it in the correct location, and drop the misleading comments. This change removes the only currently implemented difference between the realview-pci and versatile-pci models; however there are other differences in not-yet-implemented functionality, so we retain the distinction between the two device types. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit c5c86c5346e927f55918ffdf1b09742fee7a5d8d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:17 2013 +0100 versatile_pci: Fix hardcoded tabs There is just one line in this source file with a hardcoded tab indent, so just fix it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit ad6b40f471cf8bf7b106032145b1b2ac105f99cf Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Apr 19 12:18:05 2013 +1000 m25p80: Remove bogus include of devices.h I think in the early revisions of this we had an instantiation helper for the device in devices.h. This was later removed and this header was left over. Removed Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c7a101f5297442de7cbee44f7a31428f0e85a09f Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Thu Apr 18 22:09:33 2013 +0100 ssh: Remove unnecessary use of strlen function. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6ae7d660a089502ec5f5cea133e5fd93fd82f3a8 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Apr 18 22:21:05 2013 +0200 block/ssh: Add missing gcc format attributes Now gcc will check whether format string and variable arguments match. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 40508bb424971d9f39f3fb3b455a1765aa7799ee Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Thu Mar 21 18:57:36 2013 +0100 linux-user: change do_semop to return target errno when unsuccessful do_semop() is called from two places, and one of these fails to convert return error to target errno when semop fails. This patch changes the function to always return target errno in case of an unsuccessful call. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7f1721dfb7d3a9e464ba59a7d5f76761fd8a3ab9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Apr 13 22:45:50 2013 +0200 w64: Fix compiler warnings (wrong format specifier) GetLastError() returns a DWORD value which is unsigned long, so the correct format specifier is %lu. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e1fe50dcb3c86e25ce482a7f67f2ac5405bced8a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Apr 12 20:53:58 2013 +0200 Remove unneeded type casts cpu_physical_memory_read, cpu_physical_memory_write take any pointer as 2nd argument without needing a type cast. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fd1ca7e0d5f76c6787428171355bcde49133c9c1 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Apr 12 09:12:55 2013 -0400 virtio.h: drop unused function prototypes They are unused since commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ea44910eefc3661af6b80442858102a4f8cd8034 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Apr 15 11:47:56 2013 +1000 bswap: fix compiler warning The bswap functions use memcpy but the bswap.h header itself does not seem to include it in some configuration such as cross compiling for powerpc64 on x86_64 machine. The patch explicitly includes string.h. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit af60314291af3cabda18d27f928b0e0ff899cc76 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Wed Apr 3 09:15:11 2013 +0000 vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping This patch follows MST's recommendation to move checks for vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations from MemoryListener->region_[add,del]() -> vhost_set_memory() into final MemoryListener->commit() -> vhost_commit() callback. It addresses the case where virtio-scsi vq ioport RAM re-mapping to read-only SeaBIOS ROM triggers a cpu_physical_memory_map() NIL MemoryRegionSection pointer failure. Also save vhost_dev->mem_changed_[start,end]_addr values in vhost_set_memory() for final ranges_overlap checks. (Thanks Paolo!) Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Asias He <asias@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 881d588a98bf0dce98ddb65c15aa0854c0ac41ed Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Fri Apr 19 10:05:46 2013 +0300 scsi: VMWare PVSCSI paravirtual device implementation Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> [ Rename files to vmw_pvscsi, fix setting of hostStatus in pvscsi_request_cancelled - Paolo ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ef8489d45927a6d35b214365e4b39ab311b48f2a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 18:50:15 2013 +0200 scsi: avoid assertion failure on VERIFY command A verify command is not an actual read (we do not implement compare mode) and thus does not have an AIOCB attached. Do not crash in scsi_dma_complete. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 03903ffcfb5a7c75e52da97d00eb9d0bb0660f28 Author: Andreas Schwab <schwab@xxxxxxx> Date: Tue Apr 9 05:41:33 2013 +0000 linux-user: fix setgroups/getgroups for non-UID16 archs Don't assume target_id is a short. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 9ab709be595bef9956ea550a95e14e157cb5704e Author: Andreas Schwab <schwab@xxxxxxx> Date: Tue Apr 9 01:02:34 2013 +0000 linux-user: fix undefined shift in copy_to_user_fdset If TARGET_ABI_BITS is bigger than 32 we shift by more than the size of int. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit c7128c9fd58ee92cae70c7cd1d53acc529cebbbb Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Thu Mar 21 07:57:36 2013 +0000 linux-user: change do_semop to return target errno when unsuccessful do_semop() is called from two places, and one of these fails to convert return error to target errno when semop fails. This patch changes the function to always return target errno in case of an unsuccessful call. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 09dada400328d75daf79e3eca1e48e024fec148d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:47 2013 +0200 configure: remove duplicate test We already had a test to add -march=i486 when needed. Make the existing test independent of vhost-net, so that it is also used under Win32. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 15c08efebde85a564b68285a4b6999f673ce422f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:46 2013 +0200 configure: CONFIG_NO_XEN is duplicated We already define it in Makefile.target. But we need to avoid a curious double negation in order to eliminate it. Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 2b6b7099fb17ab9efa51c430e348ee88d6fbcef2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:45 2013 +0200 configure: eliminate target_libs_softmmu Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f544a488e55d3c504b65b6209199a977df9b24b9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:44 2013 +0200 configure: move common libraries to config-host.mak Move -lm to the end of the line, so that it can be picked up as a dependency by pixman in the static build case. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 727e52838c709f542d4306849567bf3d8c64479e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:43 2013 +0200 configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 918fc54caff20b1810c633a63bf6d6c5499bd5dd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:42 2013 +0200 elfload: use abi_llong/ullong instead of target_llong/ullong The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 6cfd9b5251c1d03c60f9ebc95fa98670db8f3e09 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:41 2013 +0200 elfload: only give abi_long/ulong the alignment specified by the target Previously, this was done for target_long/ulong, and propagated to abi_long/ulong via a typedef. But target_long/ulong should not have any specific alignment, it is never used to access guest memory. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f8fd4fc4cd9138576cb1cec15c6ac9416e51eeb8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:40 2013 +0200 elfload: use abi_int/uint instead of target_int/uint The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 1ddd592fd3b00227a61d5cd890c51b51847a415b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:39 2013 +0200 elfload: use abi_short/ushort instead of target_short/ushort The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 86cd7b2d486b6c80df41f48dffbdcc055a85faa1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:38 2013 +0200 elfload: use tswapreg consistently in elf_core_copy_regs Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a29f998d04a515e389ec4d5aa76ba5f585f4e540 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:37 2013 +0200 elfload: fix size of registers for N32 Registers are 64-bit in size for the MIPS n32 ABI. Define target_elf_greg_t accordingly, and use the correct function to do endian swaps. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit ca98ac830f4e3a7d7729ec1ff22d54d97c86dcbd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:36 2013 +0200 elfload: fix size of ABI-dependent fields in core dumps Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32, sparc32plus). Use abi_long/ulong for those. Also, the fields of target_elf_siginfo are ints. Use tswap32 to convert them. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 5b5e30370147ce3495b7509238e88ef9a6d873ec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:35 2013 +0200 configure: QEMU_INCLUDES are the same for all subtargets Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a540f158db41205c3f7bad8b214f9738dc00724d Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 18 14:47:31 2013 +1000 configure/Make: Build libfdt from submodule DTC Configure to use the DTC submodule to build libfdt when no system libfdt is found. Prompt to install the DTC submodule if --enable-fdt is set but no DTC can be found. DTC has no out-of-tree build capability, so the configure will symlink the Makefile and scripts directory in the out of tree build directory and pass in all the needed DTC arguments to make out of tree build happen. Ideally we fix the DTC make to support out of tree, but did it this way to avoid commits to DTC. Signed-off-by: David Holsgrove <david.holsgrove@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 98f6360569b1fbc1d94f6c8d7808577e4e5e0100 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 18 14:46:53 2013 +1000 dtc: add submodule Add dtc submodule as a fallback for old distros. Picking version 1.3.0. as this is the most recently tagged stable version. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 79f3b12f7072d592dcddfe71dd846eab3be310ea Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 18 14:46:14 2013 +1000 configure: Put cross compile flags in EXTRA_CFLAGS The cross compile CFLAGS are needed to properly build pixman (and any other submodules). Only the EXTRA_CFLAGS set is passed to submodules not QEMU_CFLAGS, so put the cross compile flags in EXTRA_CFLAGS instead. Signed-off-by: Peter Crosthwaite peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 007e986ff2dd140348e76feb21cde1a51ce6c5b4 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun Mar 17 11:45:50 2013 +0100 vmxcap: Update according to SDM of January 2013 This adds reporting of VMCS shadowing, #VE, IA32_SMBASE, unrestricted VMWRITE and fixes the range of the MSEG revision ID. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 917367aa968fd4fef29d340e0c7ec8c608dffaab Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Tue Feb 19 23:27:20 2013 -0300 target-i386: kvm: save/restore steal time MSR Read and write steal time MSR, so that reporting is functional across migration. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 614413f7f9a88d97ab40ecabd1c7920fb288f820 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Feb 18 07:56:54 2013 +0100 vmxcap: Report APIC register emulation and RDTSCP control Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit ea4ee28399f8ffee4eed2d724c28d2d9879b22fa Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Feb 13 12:44:06 2013 +0100 vmxcap: Augment reported information Parse the Basic VMX Information MSR and add the bit for the new posted interrupts. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit f505a4d74aae6fc8bb5502a6038b5f671aa97713 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Feb 13 12:43:10 2013 +0100 vmxcap: Open MSR file in unbuffered mode Python may otherwise decide to to read larger chunks, applying the seek only on the software buffer. This will return results from the wrong MSRs. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 1773d9ee6e7138e3956081670215e8bc0ae14828 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:30:02 2013 +0200 virtio-net: cleanup: init and exit function. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 17a0ca55657114c055cb407291c1163e09b29973 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:30:01 2013 +0200 virtio-net: cleanup: use QOM cast. As the virtio-net-pci and virtio-net-s390 are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 89334c8b6baebb1e84cd9bb6e796683e53391769 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:30:00 2013 +0200 virtio-net-ccw: switch to the new API. Here the virtio-net-ccw is modified for the new API. The device virtio-net-ccw extends virtio-ccw-device as before. It creates and connects a virtio-net-device during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 74b4fe3d79098b72813e461af565557bb5d35649 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:59 2013 +0200 virtio-net-s390: switch to the new API. Here the virtio-net-s390 is modified for the new API. The device virtio-net-s390 extends virtio-s390-device as before. It creates and connects a virtio-net-device during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e37da3945fa2fde161e1b217f937fc318c4b7639 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:58 2013 +0200 virtio-net-pci: switch to the new API. Here the virtio-net-pci is modified for the new API. The device virtio-net-pci extends virtio-pci. It creates and connects a virtio-net-device during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 17ec5a8686143da66208273d355f2eeb09807614 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:57 2013 +0200 virtio-net: add the virtio-net device. Create virtio-net-device which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a87acf7df4b31ca0896b95b86dac9698420a9ed Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:56 2013 +0200 virtio: add two functions to VirtioDeviceClass. Recent changes need two functions to VirtioDevice. This just add them into VirtioDeviceClass. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e6f53fd514bbdcf63a5905536ff4d0effc146742 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Apr 16 13:51:06 2013 +0200 Fix warnings suppressors to honor --disable-werror Replace #pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic error FOO by #pragma GCC diagnostic push #pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic pop Broken in commit 3f4349d, commit 092bb30, and commit c95e308. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366113066-1340-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bf2a38d41e304ccd92191327248fd32f14ff11d2 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:21 2013 -0500 fw_cfg: add qtest test case This validates some basic characteristics of fw_cfg. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-8-git-send-email-aliguori@xxxxxxxxxx commit a875711af9518f0878e084aef00c323098b8f972 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:20 2013 -0500 i440fx-test: add test for PAM functionality This tests PAM settings for the i440fx. This test does a lot of byte MMIO which is fairly slow with qtest today. But the test does complete in under 2 seconds. We don't fully emulate PAM largely because of limitations with KVM so we #if 0 that part of the test case. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-7-git-send-email-aliguori@xxxxxxxxxx commit 9bda413c96c3c7cced25ee4509c74d71e40f094d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:19 2013 -0500 i440fx-test: add test to compare default register values This test compares all of the default register values against the spec. It turns out we deviate in quite a few places. These places are really only visible to the BIOS though which is why this hasn't created any problems. The deviation actually happens in the core PCI layer so I suspect it's not a simple fix if we really care to fix it. For now, just disable the affected checks. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-6-git-send-email-aliguori@xxxxxxxxxx commit 8a0743cf747c659a3443e722a832c8f21f1cc774 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:18 2013 -0500 libqos: add malloc support This is a very simple allocator for the PC platform. It should be possible to add backends for other platforms. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-5-git-send-email-aliguori@xxxxxxxxxx commit 234c69c5f92f18d7692e859d2784edb17a88873f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:17 2013 -0500 libqos: add fw_cfg support fw_cfg is needed to get the top of memory which is necessary for doing PCI allocation and allocating RAM for DMA. Add a PC version of fw_cfg and enough abstraction to support other platforms. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-4-git-send-email-aliguori@xxxxxxxxxx commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:16 2013 -0500 qtest: add libqos including PCI support This includes basic PCI support for the PC platform. Enough abstraction should be present to support non-PC platforms too. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-3-git-send-email-aliguori@xxxxxxxxxx commit 8a8fd63734944bf6f7111596bd9cc9db6afb9b7c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:15 2013 -0500 qtest: don't use system command to avoid double fork Currently we waitpid on the child process we spawn off that does nothing more than system() another process. While this does not appear to be incorrect, it's wasteful and confusing so get rid of it. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-2-git-send-email-aliguori@xxxxxxxxxx commit 4aead69241e010c3cda624084e3872aa9f7dcaef Author: Eric Blake <eblake@xxxxxxxxxx> Date: Tue Apr 16 15:50:41 2013 -0600 migration: reflect incoming failure to shell Management apps like libvirt don't know to pay attention to stderr unless there is a non-zero exit status. * migration.c (process_incoming_migration_co): Exit with non-zero status on failure. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1366149041-626-1-git-send-email-eblake@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95e2af98d4edb59780e47da2085ea9133f6466bb Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Apr 17 17:49:00 2013 +1000 qbus: remove wrong error messages The existing code shows the "Bus '%s' is full" message even if name is specified and different from bus->name (i.e. match=0). The patch excludes unnecessary error message. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1366184940-13516-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bd5ac20325ed67eb8f1af719d76aad6ad80e5697 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 17 16:46:54 2013 +0800 chardev: remove the headers of Memory chardev driver Memory chardev driver is no longer used, and Commit: 4bf0bb8014ac2ac61b1004f5d92b2a4594d48017 has droped it but the headers, so clean it up. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Message-id: 1366188414-24214-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 20781f9c0057bc00cc74b684b3dc57730cdf83f0 Merge: e0a83fc... e9d8fbf... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Apr 17 10:14:07 2013 -0500 Merge remote-tracking branch 'bonzini/migration-writev' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/migration-writev: qemu-file: do not use stdio for qemu_fdopen iov: handle partial writes from sendmsg and recvmsg iov: reorganize iov_send_recv, part 3 iov: reorganize iov_send_recv, part 2 iov: reorganize iov_send_recv, part 1 qemu-file: drop socket_put_buffer Message-id: 1366192012-14872-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9d8fbf53a33983c81d67d18e1baa914eb16cdea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:32 2013 +0100 qemu-file: do not use stdio for qemu_fdopen This uses system calls directly for Unix file descriptors, so that the efficient writev_buffer can be used. Pay attention to the possibility of partial writes in writev. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 83f75c26e8e791311900d0e2a4cc9379abedb85c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:31 2013 +0100 iov: handle partial writes from sendmsg and recvmsg Partial writes can still happen in sendmsg and recvmsg, if a signal is received in the middle of a write. To handle this, retry the operation with a new offset/bytes pair. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f48869ad2825b640911666bb091cedb1e1d6ad5e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:30 2013 +0100 iov: reorganize iov_send_recv, part 3 "si" and "ei" are merged in a single variable. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5209d6753c90a3d6411abd0729a9cca3775dce3f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:29 2013 +0100 iov: reorganize iov_send_recv, part 2 Do not touch the "bytes" argument anymore. Instead, remember the original length of the last iovec if we touch it, and restore it afterwards. This requires undoing the changes in opposite order. The previous algorithm didn't care. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb6247a7e3e07ead908d2e7fbc8848cc2e135056 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:28 2013 +0100 iov: reorganize iov_send_recv, part 1 Once the initial part of the iov is dropped, it is not used anymore. Modify iov/iovcnt directly instead of adjusting them with the "si" variable. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 15711565f66de53c22c3a9faee04fc2092409ce4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:27 2013 +0100 qemu-file: drop socket_put_buffer It is enough to implement one of socket_writev_buffer and socket_put_buffer. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e0a83fc2c1582dc8d4453849852ebe6c258b7c3a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 2 15:50:00 2013 +0200 qom: do nothing on unparent of object without parent Otherwise, device_unparent will fail to get a canonical path of the object. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364910600-3418-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2f7bd829dbaf39eb14706c3e889f28b795e050ca Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Apr 16 03:50:21 2013 +0200 qdev: Fix device_add bus assumptions Drop an unreachable fallback bus assignment to SysBus. If no ,bus= is specified, only search busses recursively for bus type if the DeviceClass has a bus_type specified. Handle resulting NULL cases. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1366077021-28882-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit acbbc036619092fcd2c882222e1be168bd972b3e Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Apr 16 15:58:16 2013 +0530 rng random backend: check for -EAGAIN errors on read Not handling EAGAIN triggers the assert qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len != -1) Aborted (core dumped) This happens when starting a guest with '-device virtio-rng-pci', issuing a 'cat /dev/hwrng' in the guest, while also doing 'cat /dev/random' on the host. Reported-by: yunpingzheng <yunzheng@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: eacda84dfaf2d99cf6d250b678be4e4d6c2088fb.1366108096.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7dda5dc82a776a39a7996020c188eb2a29187117 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 9 17:43:43 2013 +0200 migration: initialize RAM to zero Using qemu_memalign only leaves the RAM zero by chance, because libc will usually use mmap to satisfy our huge requests. But memory will not be zero when using MALLOC_PERTURB_ with a nonzero value. In the case of incoming migration, this breaks a recently-introduced invariant (commit f1c7279, migration: do not sent zero pages in bulk stage, 2013-03-26). To fix this, use mmap ourselves to get a well-aligned, always zero block for the RAM. Mmap-ed memory is easy to "trim" at the sides. This also removes the need to do something special on valgrind (see commit c2a8238a, Support running QEMU on Valgrind, 2011-10-31), thus effectively reverts that patch. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365522223-20153-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 86c7dba0d0ed1e9e202f77f7414ce0faf2395a90 Merge: 6f8111a... 2b2325f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:58 2013 -0500 Merge remote-tracking branch 'kraxel/usb.80' into staging # By Gerd Hoffmann (6) and Hans de Goede (1) # Via Gerd Hoffmann * kraxel/usb.80: use libusb for usb-host xhci: fix address device xhci: use slotid as device address xhci: fix portsc writes xhci: add xhci_cap_write xhci: remove leftover debug printf usb-serial: Remove double call to qemu_chr_add_handlers( NULL ) Message-id: 1366107190-30853-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6f8111a16d9cb3744a7b05726df28ee8cb6d8d30 Merge: 100c533... 75c439b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:51 2013 -0500 Merge remote-tracking branch 'spice/spice.v69' into staging # By Hans de Goede (5) and others # Via Gerd Hoffmann * spice/spice.v69: spice-qemu-char: vmc_write: Don't write more bytes then we're asked too spice-qemu-char: Remove intermediate buffer spice-qemu-char: Add watch support spice-qemu-char: Remove #ifdef-ed code for old spice-server compat virtio-console: Remove any pending watches on close virtio-console: Also throttle when less was written then requested spice: (32 bit only) fix surface cmd tracking destruction qxl: add 2000x2000 and 2048x2048 video modes qxl: add 4k + 8k resolutions Message-id: 1366106194-28826-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 100c533220d70ae9732ba63142d71d1c48688f54 Merge: 398973f... bfe528b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:43 2013 -0500 Merge remote-tracking branch 'kraxel/pixman.v11' into staging # By Gerd Hoffmann (22) and Igor Mitsyanko (2) # Via Gerd Hoffmann * kraxel/pixman.v11: (24 commits) qxl: register QemuConsole for secondary cards gtk: custom cursor support console: allow pinning displaychangelisteners to consoles console: add qemu_console_is_* xen: re-enable refresh interval reporting for xenfb console: gui timer fixes console: add GraphicHwOps console: make DisplayState private to console.c console: move gui_update+gui_setup_refresh from vl.c into console.c console: zap g_width + g_height console: simplify screendump console: give each QemuConsole its own DisplaySurface console: rename vga_hw_*, add QemuConsole param console: displaystate init revamp console: add trace events console: switch color_table_rgb to pixman_color_t console: use pixman for font rendering console: use pixman for fill+blit pixman: render vgafont glyphs into pixman images pixman: add qemu_pixman_color() ... Message-id: 1366105178-26744-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 398973fe1f92e65f39f6a26dacc07baa0da632fc Merge: 095b9c4... b21bfee... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:36 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Igor Mammedov (8) and others # Via Andreas Färber * afaerber/qom-cpu: target-cris: Override do_interrupt for pre-v32 CPU cores qdev: Set device's parent before calling realize() down inheritance chain cpu: Pass CPUState to *cpu_synchronize_post*() target-i386: Split out CPU creation and features parsing target-i386/cpu.c: Coding style fixes ioapic: Replace FROM_SYSBUS() with QOM type cast kvmvapic: Replace FROM_SYSBUS() with QOM type cast target-i386: Split APIC creation from initialization in x86_cpu_realizefn() target-i386: Consolidate error propagation in x86_cpu_realizefn() qdev: Add qdev property for bool type target-i386: Improve -cpu ? features output target-i386: Fix including "host" in -cpu ? output commit 2b2325ff6491224a42e1fec99b1c39fbc521c95c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 30 16:02:11 2012 +0100 use libusb for usb-host Reimplement usb-host on top of libusb. Reasons to do this: (1) Largely rewritten from scratch, nice opportunity to kill historical cruft. (2) Offload usbfs handling to libusb. (3) Have a single portable code base instead of bsd + linux variants. (4) Bring usb-host support to any platform supported by libusbx. For now this goes side-by-side to the existing code. That is only to simplify regression testing though, at the end of the day I want remove the old code and support libusb exclusively. Merge early in 1.5 cycle, remove the old code after 1.5 release or something like this. Thanks to qdev the old and new code can coexist nicely on linux. Just use "-device usb-host-linux" to use the old linux driver instead of the libusb one (which takes over the "usb-host" name). The bsd driver isn't qdev'ified so it isn't that easy for bsd. I didn't bother making it runtime switchable, so you have to rebuild qemu with --disable-libusb to get back the old code. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a67188743bc30a3ad1358b8cd0a2a3cb64c10ff9 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 15:18:52 2013 +0200 xhci: fix address device Zero-initialize the set-address dummy USBPacket, also add buffer to avoid sanity checks triggering. https://bugzilla.redhat.com/show_bug.cgi?id=929019 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit af203be36deb234550c3c8d2cbafbaef0f08ae1b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 21 10:59:05 2013 +0100 xhci: use slotid as device address Is good enougth for unique device addresses and avoids the need for any state for device addressing. Makes live migration support easier. Also makes device->slot lookups trivial. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bdfce20df113522f389b4483ffd9d5b336e3c774 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 14:55:28 2013 +0200 xhci: fix portsc writes Check for port reset first and skip everything else then. Add sanity checks for PLS updates. Add PLC notification when entering PLS_U0 state. This gets host-initiated port resume going on win8. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6d3bc22e31bcee74dc1e05a5370cabb33b7c3fda Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 11:29:14 2013 +0200 xhci: add xhci_cap_write Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 94ae9eece7c8192170a4159804e152fa32e9eacf Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 13:56:53 2013 +0200 xhci: remove leftover debug printf Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7598b41cfa13b2469b9411eee237a5c551e0ffaf Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:25 2013 +0200 usb-serial: Remove double call to qemu_chr_add_handlers( NULL ) usb-serial has a qdev chardev property, and hw/qdev-properties-system.c already contains: static void release_chr(Object *obj, const char *name, void *opaque) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; CharDriverState **ptr = qdev_get_prop_ptr(dev, prop); CharDriverState *chr = *ptr; if (chr) { qemu_chr_add_handlers(chr, NULL, NULL, NULL, NULL); qemu_chr_fe_release(chr); } } So doing the qemu_chr_add_handlers(s->cs, NULL, NULL, NULL, NULL); from the usb handle_destroy function too will lead to it being done twice. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 75c439bc65c07d76f5e74c734ed5432bc6114a3b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:24 2013 +0200 spice-qemu-char: vmc_write: Don't write more bytes then we're asked too This one took me eons to debug, but I've finally found it now, oh well. The usage of the MIN macro in this line: last_out = MIN(len, qemu_chr_be_can_write(scd->chr)); Causes qemu_chr_be_can_write to be called *twice*, since the MIN macro evaluates its arguments twice (bad MIN macro, bad!). And the result of the call can change between the 2 calls since the guest may have consumed some data from the virtio ringbuffer between the calls! When this happens it is possible for qemu_chr_be_can_write to return less then len in the call made for the comparision, and then to return more then len in the actual call for the return-value of MIN, after which we will end up writing len data + some extra garbage, not good. This patch fixes this by only calling qemu_chr_be_can_write once. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b010cec86b9a4a0b63162cd27e37c2d99e90ed66 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Fri Apr 5 11:30:23 2013 +0200 spice-qemu-char: Remove intermediate buffer virtio-serial's buffer is valid when it calls us, and we don't access it otherwise: vmc_read is only called in response to wakeup, or else we set datalen=0 and throttle. Then vmc_read is called back, we return 0 (not accessing the buffer) and set the timer to unthrottle. Also make datalen int and not ssize_t (to fit spice_chr_write signature). HdG: Update to apply to spice-qemu-char with new gio-channel based flowcontrol support. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ae893e5e818878caf433d716d37be9df297403fe Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:22 2013 +0200 spice-qemu-char: Add watch support Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 52fe0e75b757c7c54fd3b967c9ff70d337790195 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:21 2013 +0200 spice-qemu-char: Remove #ifdef-ed code for old spice-server compat We now require spice-server to be >= 0.12.0 so this is no longer needed. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c3d6b96ebba18d016be26ffa475feea0d81801a2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:20 2013 +0200 virtio-console: Remove any pending watches on close Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f9fb0532fb0c7155c0616614dc12ecccf93f8afb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:19 2013 +0200 virtio-console: Also throttle when less was written then requested This is necessary so that we get properly woken up to write the rest. This patch also changes the len argument to the have_data callback, to avoid doing an unsigned signed comparison. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8bb9f51ca243551fb838a3a6a2983016ed2bbb73 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Wed Mar 13 17:58:35 2013 +0200 spice: (32 bit only) fix surface cmd tracking destruction No change for 64 bit arches, but for 32 bit previously we zeroed half the surfaces cmd array, instead of all of it. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5c74fb27f94821057c7929a8244cabe86adf2b8d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 4 10:15:34 2013 +0200 qxl: add 2000x2000 and 2048x2048 video modes Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 095b9c4860b1351e4a0322e43708f39c79c1f34b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:34:50 2013 +1000 m25p80: Add debug message for no bdrv If there is no backing bdrv, let the debugging developer know about it. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 28097d02078cfb708c2034f90394936209785f2e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:34:11 2013 +1000 m25p80.c: Multiple debug verbosity levels The debug printfs on every page program/read is extremely verbose. Add a second level of debug for this. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e9711b4d52ed07b9b754f9aa10b4a8c741815d0a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:33:32 2013 +1000 m25p80: Convert guest errors to LOG_GUEST_ERROR Some of the debug printfs in m25p80 are really guest errors. Changed over to qemu_log_mask(LOG_GUEST_ERROR accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 3bec0c7d461a2f0139d60e959a80641487835d5a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:32:53 2013 +1000 m25p80: Fix debug messages. Some dodgy casts were making a mess of these msgs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 42bb9c9178ae7ac4c439172b1ae99cc29188a5c6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:28:35 2013 +1000 stream: Remove app argument hack The uint32_t *app argument doesn't exist in real hardware. It was a hack in xilinx_axidma/enet to fake the (secondary) control stream connection. Removed the argument and added the second stream to axienet/dma. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 3630ae952a17c2107db25f397233536ef874558e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:27:55 2013 +1000 xilinx_axienet/dma: Implement rx path flow control Implement flow control for the RX data path from xilinx_axienet->xilinx_axidma. On short return from axidma, then ethernet sets up the notify callback to resume transfer from where it left off. This also allows the ethernet to track whether there is an in progress transaction and return false from ethernet can_receive() as appropriate. If the DMA backs up or is disabled it waits for enablement. When the rx stream IO region is touched, the can_push() notify function is called if set. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 35e60bfdbc14ce31bba55cc82144f8a2a82ede68 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:27:16 2013 +1000 stream: Add flow control API Add basic flow control to stream. A stream slave may return short, indicating that it is not capable of accepting any more data at the present time. Polling or a callback can be used via the can_push() function to determine when the slave can receive again. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 210914e29975d17e635f9e8c1f7478c0ed7a208f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:26:37 2013 +1000 xilinx_axidma: Fix rx/tx halted bit. If there is no DMA buffer descriptor, the DMA halts, not idles. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e1500e35c22be345cd04f77fa6993770b689eaa9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:25:57 2013 +1000 xilinx_axidma: Create Proxy object for stream Create a separate child object to proxy the stream slave connection. This is setup for future work where a second stream slave connection is needed. The new child object is created at qdev init time and is linked back to the parent (the ethernet device itself) automatically. Stream slave masters differentiate which slave connection they are connected to by linking to the proxy object rather than the parent. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:25:18 2013 +1000 xilinx_axienet: Create Proxy object for stream Create a separate child object to proxy the stream slave connection. This is setup for future work where a second stream slave connection is needed. The new child object is created at qdev init time and is linked back to the parent (the ethernet device itself) automatically. Stream slave masters differentiate which slave connection they are connected to by linking to the proxy object rather than the parent. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit b19ceaad0dee6bca619ba2de19003b50e1a8cb01 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:24:39 2013 +1000 petalogix_ml605_mmu: Attach ethernet to machine Explicitly make the ethernet a child of the machine. This is needed to set and use links pre-realize. Also makes the ethernet initialization consistent with its peer DMA. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 54ff2a399fc9453fa75f9223d7d2cd912f17fb4b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:23:59 2013 +1000 petalogix_ml605_mmu: Fix machine node attachment Just attach devices straight to the root machine node, rather than the "unattached node" Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e65436634dc4f3b43ba914b7e38fe696853da3ca Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:23:20 2013 +1000 xilinx_axidma: converted init->realize The prescribed transition from SysBusDevice::init to Device::realize. I'm going with Andreas suggestion to move the sysbus foo to Object::init for early IRQ visibility. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 897374db7db10a9c17fd4da4e089705b553b4ee1 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:22:41 2013 +1000 xilinx_axidma: Register reset properly Register the reset function as the Device::reset function rather than explicitly call it from the sysbus::init. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit cbde584f58b484a8200eb578a5ba81057488f0eb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:22:02 2013 +1000 xilinx_axidma: Defined and use type cast macro Standard QOM cast macro. Replaces usages of FROM_SYSBUS Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 42e8a283f50da698e8bff7ed36b8b39e21d70eaa Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:21:23 2013 +1000 xilinx_axidma: typedef XilinxAXIDMA struct Typedef xilinx_axidma's object state struct to shorten the repeated usages of struct XilinxAXIDMA. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit b2d9dfe94cc9a27e0b59d892ae8e3ec223ff9514 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:20:44 2013 +1000 xilinx_axienet: converted init->realize The prescribed transition from SysBusDevice::init to Device::realize. Im going with Andreas suggestion to move the sysbus foo to Object::init for early IRQ visibility. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9ee0ceb7a8e643a0db232f42ddee2ed325dd4d86 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:20:06 2013 +1000 xilinx_axienet: Register reset properly Register the reset function and the Device::reset function rather than explicitly call it from the sysbus::init. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f0e7a81c0ca122126e92a9f06b9599f04a0eaebb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:19:27 2013 +1000 xilinx_axienet: Defined and use type cast macro Standard QOM cast macro. Replaces usages of FROM_SYSBUS Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 545129e58965dcedf229dac3ed7ea1235a9838f2 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:18:47 2013 +1000 xilinx_axienet: typedef XilinxAXIEnet struct Typedef xilinx_axienets object state struct to shorten the repeated usages of struct XilinxAXIEnet. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit bfe528b9b99d52693a55f2b803039d68a97bcfb2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 16:59:58 2013 +0100 qxl: register QemuConsole for secondary cards Hook secondary qxl cards properly into the qemu console subsystem. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 09:11:41 2013 +0100 gtk: custom cursor support Makes gtk ui play nicely with qxl (and vmware_svga) as you can actually see your pointer now ;) Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 284d1c6b3bf4ece6278f4b9831c7192e3777290c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 15 15:45:54 2013 +0100 console: allow pinning displaychangelisteners to consoles DisplayChangeListener gets a new QemuConsole field, which can be set to non-NULL before registering. This will pin the QemuConsole, so that particular DisplayChangeListener will not follow console switches. spice+gtk (which don't support text console input anyway) are switched over to be pinned to console 0, which usually is the graphical display. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 81c0d5a66295024d0a42e3d28efcd102a32f93c3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 14 14:27:08 2013 +0100 console: add qemu_console_is_* Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit dea1b0bdd8b0bb9d76a012fd0f234ba1768a4a93 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 15:01:02 2013 +0100 xen: re-enable refresh interval reporting for xenfb xenfb informs the guest about the gui refresh interval so it can avoid pointless work. That logic was temporarely disabled for the DisplayState reorganization. Restore it now, with a proper interface for it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d4bcb199fb15f9f079ef280e7e6f9ccdfaa49ced Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 15 11:53:47 2013 +0100 qxl: add 4k + 8k resolutions Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0f7b2864d0d0c3ef2801f9214d8c510c80a220d1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 14 11:56:16 2013 +0100 console: gui timer fixes Make gui update rate adaption code in gui_update() actually work. Sprinkle in a tracepoint so you can see the code at work. Remove the update rate adaption code in vnc and make vnc simply use the generic bits instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 380cd056ec0e7fc8bbd553cdcb061d3ca612bb82 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 14:04:18 2013 +0100 console: add GraphicHwOps Pass a single GraphicHwOps struct pointer to graphic_console_init, instead of a bunch of function pointers. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 27be55872dd747c733a42a3d90864d9f59272d26 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 12:25:25 2013 +0100 console: make DisplayState private to console.c With gui_* being moved to console.c nobody outside console.c needs access to DisplayState fields any more. Make the struct private. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 98a9ad9082284df62fb5b9355dd1901639de8268 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 12:17:13 2013 +0100 console: move gui_update+gui_setup_refresh from vl.c into console.c Pure code motion, no functional changes. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 36671fbd06f31efc592c37acda3f8a75599e48e0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 10:14:52 2013 +0100 console: zap g_width + g_height We have a surface per QemuConsole now, so there is no need to keep track of the QemuConsole size any more as we can query the surface size directly at any time. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2c62f08ddbf3fa80dc7202eb9a2ea60ae44e2cc5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 12 14:48:31 2013 +0100 console: simplify screendump Screendumps are alot simpler as we can update non-active QemuConsoles now. So we only need to update the QemuConsole we want write out, then dump the DisplaySurface content into a ppm file. Done. No console switching needed. No special support code in the gfx card emulation needed. Zap it all. Also move ppm_save out of the vga code and next to the qmp_screendump function. For now screen dumping is limited to console #0 (like it used to be), even though it is dead simple to extend it to other consoles. I wanna finish the console cleanup before setting new qapi interfaces into stone. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> commit 321f048d248472f1e90559976bb917d869981c68 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 12 14:39:22 2013 +0100 console: give each QemuConsole its own DisplaySurface Go away from the global DisplaySurface, give one to each QemuConsole instead. With this patch applied it is possible to call graphics_hw_* functions with qemu consoles which are not the current foreground console. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1dbfa005032d4fa5d7a5242da856d3487c907431 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 12 13:44:38 2013 +0100 console: rename vga_hw_*, add QemuConsole param Add QemuConsole parameter to vga_hw_*, so the interface allows to update non-active consoles (the actual code can't handle this yet, see next patch). Passing NULL is allowed and updates the active console, like the functions do today. While touching all vga_hw_* calls anyway rename that to the functions to hardware-neutral graphics_hw_* Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 64840c66b702cc4c809c72d8ad5d26861dd7fd8d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 7 17:08:29 2013 +0100 console: displaystate init revamp We have only one DisplayState, so there is no need for the "next" linking, rip it. Also consolidate all displaystate initialization into init_displaystate(). This function is called by vl.c after creating the devices (and thus all QemuConsoles) and before initializing DisplayChangeListensers (aka gtk/sdl/vnc/spice ui). Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 437fe1061be3da49b0b05ed2f0c9c50e2255c3fe Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 7 16:04:52 2013 +0100 console: add trace events Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e27bd65a72dece59e93914d3ffa8653ce0c70511 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 8 08:43:24 2013 +0100 console: switch color_table_rgb to pixman_color_t Now that all text console rendering uses pixman we can easily switch the color tables to use pixman_color_t directly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7d6ba01c3741bc32ae252bf64a5fd3f930c2df4f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 15:44:10 2013 +0100 console: use pixman for font rendering Zap homegrown font rendering code, use pixman calls instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 68db6dc5310df9bb0d8d4ed8f5138b0c5c6415be Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 15:43:23 2013 +0100 console: use pixman for fill+blit Zap homegrown pixel shuffeling code, use pixman calls instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b762795257353760e8c69e144188ef7ab2b84c37 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 7 15:23:48 2013 +0100 pixman: render vgafont glyphs into pixman images Add helper functions to create pixman mask images for glyphs and to render these glyphs into a pixman image. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 867c538f988d326f6b447acde867e5de5a5014a0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 14:14:17 2013 +0100 pixman: add qemu_pixman_color() Helper function to map qemu colors (32bit integer + matching PixelFormat) into pixman_color_t. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit eb2f9b024d68884a3b25e63e4dbf90b67f8da236 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 11:44:21 2013 +0100 hw/vmware_vga.c: various vmware vga fixes. Hardcode depth to 32 bpp. It effectively was that way before because that is the default surface depth, this just makes it explicit in the code. Rename depth to new_depth to make it consistent with the new_width + new_height names. In theory we can make new_depth changeable (i.e. allow the guest to fill in -- say -- 16 there). In practice the guests don't try, the X-Server refuses to start if you ask it to use 16bpp depth (via DefaultDepth in the Screen section). Always return the correct rmask+gmask+bmask values for the given new_depth. Fix mode setting to also verify at new_depth to make sure we have a correct DisplaySurface, even if the current video mode happes to be 16bpp (set by vgabios via bochs vbe interface). While being at it switch over to use qemu_create_displaysurface_from, so the surface is backed by guest-visible video memory and we save a memcpy. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7a6404cd8be97d73d1fc272dda82445c19f05aa1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 09:53:35 2013 +0100 hw/vmware_vga.c: add tracepoints for mmio reads+writes Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 17866fc888445ec7d2568645df45bb47e6be01de Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Tue Mar 19 23:44:56 2013 +0400 hw/vmware_vga.c: fix screen resize bug introduced after console revamp In vmsvga display update function, a pointer to DisplaySurface must be acquired after a call to vmsvga_check_size since this function might replace current DisplaySurface with a new one. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 522fccbe71e35efc96f66cb475f778c2ce02e9fc Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Tue Mar 19 23:44:55 2013 +0400 exynos4210_fimd.c: fix display resize bug introduced after console revamp In exynos4210 display update function, we were acquiring DisplaySurface pointer before calling screen resize function, not paying attention that resize procedure can replace current DisplaySurface with newly allocated one. Right thing to do is to initialize DisplaySurface AFTER a call to resize function. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b21bfeead284cf212d88dfa25171fee122407bc2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 18 19:59:39 2013 +0100 target-cris: Override do_interrupt for pre-v32 CPU cores Instead of forwarding from cris_cpu_do_interrupt() to do_interruptv10(), override CPUClass::do_interrupt with crisv10_cpu_do_interrupt() in the newly introduced class_init functions. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a7ddba527c0b9dd32dfa7e35fa41701f990a3db4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 11 16:51:56 2013 +0200 qdev: Set device's parent before calling realize() down inheritance chain Currently device_set_realized() sets parent only after device was realized, but qdev_device_add() sets it before device is realized. Make behavior consistent and alter device_set_realized() to behave like qdev_device_add(). It will allow to set link<> properties in realize() method in classes inherited from DEVICE. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3f24a58fa7dacd82cb72393367be207b0dab16b4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 11 16:51:41 2013 +0200 cpu: Pass CPUState to *cpu_synchronize_post*() ... so it could be called without requiring CPUArchState. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7f833247df4b68719413b5dccc5f84944f442cb3 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 11 16:51:40 2013 +0200 target-i386: Split out CPU creation and features parsing Move CPU creation and features parsing into a separate cpu_x86_create() function, so that board would be able to set board-specific CPU properties before CPU is realized. Keep cpu_x86_init() for compatibility with the code that uses cpu_init() and doesn't need to modify CPU properties. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd13e08804c8c33c6021c0e27787422534d3b321 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Apr 11 17:07:23 2013 -0300 target-i386/cpu.c: Coding style fixes * Add braces to 'if' statements; * Remove last TAB character from the source. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> [AF: Changed whitespace] Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f16a69f7fce97186fd352c79201b1d0145c02d66 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:37:00 2013 +0200 ioapic: Replace FROM_SYSBUS() with QOM type cast Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f1fc3e66581f638ba72d93c1a4912cfa573dd187 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:36:59 2013 +0200 kvmvapic: Replace FROM_SYSBUS() with QOM type cast ... and define type name and type cast macro for kvmvapic according to accepted convention. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d3c64d6a1874f94246af91963927fb4d924332f1 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:36:54 2013 +0200 target-i386: Split APIC creation from initialization in x86_cpu_realizefn() When APIC is hotplugged during CPU hotplug, device_set_realized() calls device_reset() on it. And if QEMU runs in KVM mode, following call chain will fail: apic_reset_common() -> kvm_apic_vapic_base_update() -> kvm_vcpu_ioctl(cpu->kvm_fd,...) due to cpu->kvm_fd not being initialized yet. cpu->kvm_fd is initialized during qemu_init_vcpu() but x86_cpu_apic_init() can't be moved after it because kvm_init_vcpu() -> kvm_arch_reset_vcpu() relies on APIC to determine if CPU is BSP for setting initial env->mp_state. So split APIC device creation from its initialization and realize APIC after CPU is created, when it's safe to call APIC's reset method. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4dc1f449ab22bb79ea3894bd90b154c30d73573e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:36:53 2013 +0200 target-i386: Consolidate error propagation in x86_cpu_realizefn() Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 72cc5137759ce1393c9eeac81b677947d618351d Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Mar 7 17:16:18 2013 +0100 qdev: Add qdev property for bool type Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> [AF: Use new qdev_prop_set_after_realize()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3af60be28c35257e3ad1fc6ef1c415b09bdc8545 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Feb 27 10:15:51 2013 +0100 target-i386: Improve -cpu ? features output We were missing a bunch of feature lists. Fix this by simply dumping the meta list feature_word_info. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 21ad77892d321f15325d77f6fab700864af61f49 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun Mar 24 17:01:02 2013 +0100 target-i386: Fix including "host" in -cpu ? output kvm_enabled() cannot be true at this point because accelerators are initialized much later during init. Also, hiding this makes it very hard to discover for users. Simply dump unconditionally if CONFIG_KVM is set. Add explanation for "host" CPU type. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 22773d6066a7f01a95f78c270edf9dbd2e755ac3 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 31 15:31:14 2013 +0300 pci: add pci test device This device is used for kvm unit tests, currently it supports testing performance of ioeventfd. Using updated kvm unittest, here's an example output: mmio-no-eventfd:pci-mem 8796 mmio-wildcard-eventfd:pci-mem 3609 mmio-datamatch-eventfd:pci-mem 3685 portio-no-eventfd:pci-io 5287 portio-wildcard-eventfd:pci-io 1762 portio-datamatch-eventfd:pci-io 1777 Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 24a6e7f4d91e9ed5f8117ecb083431a23f8609a0 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Sun Apr 14 14:07:00 2013 +0200 virtio-balloon: fix dynamic properties. To keep compatibility with the old virtio-balloon-x, add the dynamic properties to virtio-balloon-pci and virtio-balloon-ccw. Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1365941220-8114-1-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ceb193d30fe9b1cda0dc73bddb8051659926fb9 Merge: a907cf5... c72dd2d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 17:06:04 2013 -0500 Merge remote-tracking branch 'bonzini/hw-dirs' into staging * bonzini/hw-dirs: exec: remove useless declarations from memory-internal.h memory: move core typedefs to qemu/typedefs.h include: avoid useless includes of exec/ headers sysemu: avoid proliferation of include/ subdirectories tpm: reorganize headers and split hardware part configure: fix TPM logic acpi.h: make it self contained acpi: move declarations from pc.h to acpi.h hw: Add lost ARM core again Fix failure to create q35 machine Add linux-headers to QEMU_INCLUDES arm: fix location of some include files Conflicts: configure aliguori: trivial conflict in configure output Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a907cf59d8a41ecb909ad4367cd016c7d71f8546 Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Mon Apr 15 21:28:17 2013 +0200 Allow qtest to be used together with a virtual CPU Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1366054097-14132-1-git-send-email-edgar.iglesias@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fe6c211781f80ef4fc246269cecbbc21981089f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Apr 15 18:34:10 2013 +0200 qdev: Fix QOM unrealize behavior Since commit 249d41720b7dfbb5951b430b9eefdbee7464f515 (qdev: Prepare "realized" property) setting realized = true would register the device's VMStateDescription, but realized = false would not unregister it. Fix that. Moving the code from unparenting also revealed that we were calling DeviceClass::init through DeviceClass::realize as interim solution but DeviceClass::exit still at unparenting time with a realized check. Make this symmetrical by implementing DeviceClass::unrealize to call it, while we're setting realized = false in the unparenting path. The only other unrealize user is mac_nvram, which can safely override it. Thus, mark DeviceClass::exit as obsolete, new devices should implement DeviceClass::unrealize instead. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1366043650-9719-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e0e367bad7170e264916cdcba4306f79f47bb95c Merge: e6b6367... 39dc85b... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 15 22:51:32 2013 +0200 Merge branch 'tcg-ppc64' of git://github.com/rth7680/qemu * 'tcg-ppc64' of git://github.com/rth7680/qemu: (33 commits) tcg-ppc64: Handle deposit of zero tcg-ppc64: Implement mulu2/muls2_i64 tcg-ppc64: Implement add2/sub2_i64 tcg-ppc64: Use getauxval for ISA detection tcg-ppc64: Implement movcond tcg-ppc64: Use ISEL for setcond tcg-ppc64: Use MFOCRF instead of MFCR tcg-ppc64: Cleanup i32 constants to tcg_out_cmp tcg-ppc64: Use TCGType throughout compares tcg-ppc64: Use I constraint for mul tcg-ppc64: Implement deposit tcg-ppc64: Handle constant inputs for some compound logicals tcg-ppc64: Implement compound logicals tcg-ppc64: Implement bswap64 tcg-ppc64: Implement bswap16 and bswap32 tcg-ppc64: Implement rotates tcg-ppc64: Streamline qemu_ld/st insn selection tcg-ppc64: Use automatic implementation of ext32u_i64 tcg-ppc64: Improve and_i64 with constant tcg-ppc64: Improve and_i32 with constant ... commit e6b636779b51c97e67694be740ee972c52460c59 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Tue Mar 19 11:20:20 2013 +0000 Add -f FMT / --format FMT arg to qemu-nbd Currently the qemu-nbd program will auto-detect the format of any disk it is given. This behaviour is known to be insecure. For example, if qemu-nbd initially exposes a 'raw' file to an unprivileged app, and that app runs 'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0' then the next time the app is started, the qemu-nbd will now detect it as a 'qcow2' file and expose /etc/shadow to the unprivileged app. The only way to avoid this is to explicitly tell qemu-nbd what disk format to use on the command line, completely disabling auto-detection. This patch adds a '-f' / '--format' arg for this purpose, mirroring what is already available via qemu-img and qemu commands. qemu-nbd --format raw -p 9000 evil.img will now always use raw, regardless of what format 'evil.img' looks like it contains Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> [Use errx, not err. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 39dc85b98561ea3de2b029f43a3a2db95c57afa3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 4 12:47:22 2013 -0700 tcg-ppc64: Handle deposit of zero The TCG optimizer does great work when inserting constants, being able to fold the open-coded deposit expansion to just an AND or an OR. Avoid a bit the regression caused by having the deposit opcode by expanding deposit of zero as an AND. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6645c147db4bb84b1b24c49be9398be22902923b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 16:20:51 2013 -0800 tcg-ppc64: Implement mulu2/muls2_i64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6c858762de60ffff80011251b5fe1ae93cbcd2c8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 14:26:52 2013 -0800 tcg-ppc64: Implement add2/sub2_i64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1e6e9aca157bb8bc4bef60374e1f584d742e7fb2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 18 09:11:15 2013 -0800 tcg-ppc64: Use getauxval for ISA detection Glibc 2.16 includes an easy way to get feature bits previously buried in /proc or the program startup auxiliary vector. Use it. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 027ffea9728704d9e23ae52baf51a1bcfbf34680 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 13:00:05 2013 -0800 tcg-ppc64: Implement movcond Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 70fac59a2ae334c5994037b45a76f8dc9f034ab5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 15:16:10 2013 -0700 tcg-ppc64: Use ISEL for setcond There are a few simple special cases that should be handled first. Break these out to subroutines to avoid code duplication. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6995a4a063d3ab3ceb21aad8c8a78f4cfc5e4140 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 15:09:52 2013 -0700 tcg-ppc64: Use MFOCRF instead of MFCR It takes half the cycles to read one CR register instead of all 8. This is a backward compatible addition to the ISA, so chips prior to Power 2.00 spec will simply continue to read the entire CR register. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 991041a4eb8895390d816375021dccfd12c81752 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 14:14:23 2013 -0700 tcg-ppc64: Cleanup i32 constants to tcg_out_cmp Nothing else in the call chain ensures that these constants don't have garbage in the high bits. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4c314da6d1b438c815533380981880fe3f49b1ac Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 14:58:27 2013 -0700 tcg-ppc64: Use TCGType throughout compares The optimization/bug being fixed is that tcg_out_cmp was not applying the right type to loading a constant, in the case it can't be implemented directly. Rather than recomputing the TCGType enum from the arch64 bool, pass around the original TCGType throughout. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ef809300fcf300a3efef479734e9456dc5b7581c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 09:45:11 2013 -0800 tcg-ppc64: Use I constraint for mul The mul_i32 pattern was loading non-16-bit constants into a register, when we can get the middle-end to do that for us. The mul_i64 pattern was not considering that MULLI takes 64-bit inputs. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 33de9ed2235f8729c36110906c6806b361f96a24 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 08:39:30 2013 -0800 tcg-ppc64: Implement deposit Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 37251b98db28ff606479f53ff59ec0724348c40b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 13:48:38 2013 -0800 tcg-ppc64: Handle constant inputs for some compound logicals Since we have special code to handle and/or/xor with a constant, apply the same to andc/orc/eqv with a constant. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ce1010d6e3080aae0ba597cb9cce07dbf6ec5a5a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 07:49:13 2013 -0800 tcg-ppc64: Implement compound logicals Mostly copied from the ppc32 port. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 68aebd45b1bc13828029e60d12147222ddef3259 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 21:41:54 2013 -0800 tcg-ppc64: Implement bswap64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5d221582009d942de77a538d21b09c9120929dc5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 21:16:38 2013 -0800 tcg-ppc64: Implement bswap16 and bswap32 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 313d91c778e9a2a684d5aacc09750421a6612416 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 19:24:06 2013 -0800 tcg-ppc64: Implement rotates Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 49d9870a54161b0c2cd29a8b70cf5aa6d3aed469 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 2 00:58:14 2013 -0800 tcg-ppc64: Streamline qemu_ld/st insn selection Using a table to look up insns of the right width and sign. Include support for the Power 2.06 LDBRX and STDBRX insns. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 28f2dba6dc451daf462456adc4edfeb3d911fb12 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 4 13:36:07 2013 -0500 tcg-ppc64: Use automatic implementation of ext32u_i64 The enhancements to and immediate obviate this. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 637af30c764e08763e28908d01e5f73efb5e2318 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 23:58:17 2013 -0800 tcg-ppc64: Improve and_i64 with constant Use RLDICL and RLDICR. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a9249dff4dc233f9377e7a3025aa124d8941b096 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 23:43:42 2013 -0800 tcg-ppc64: Improve and_i32 with constant Use RLWINM Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dce74c57bbf9839e72a2f83e3d994d4dd86f93c6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 20:22:05 2013 -0800 tcg-ppc64: Tidy or and xor patterns. Handle constants in common code; we'll want to reuse that later. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 148bdd23738a2919dda101908f9cfd94f253ef66 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 4 07:30:20 2013 -0700 tcg-ppc64: Allow constant first argument to sub Using SUBFIC for 16-bit signed constants. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ee924fa6b36330fb2d7c383df6436fcac77e1f23 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 16:17:17 2013 -0800 tcg-ppc64: Improve constant add and sub ops. Improve constant addition -- previously we'd emit useless addi with 0. Use new constraints to force the driver to pull full 64-bit constants into a register. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3d582c6179c853cf27e3c7a19575b6c9b94bd154 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 16:51:53 2013 -0800 tcg-ppc64: Rearrange integer constant constraints We'll need a zero, and Z makes more sense for that. Make sure we have a full compliment of signed and unsigned 16 and 32-bit tests. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 421233a1469123cc51ddd19849f7db4b6bd380e7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 15:52:49 2013 -0800 tcg-ppc64: Cleanup tcg_out_movi The test for using movi32 was sub-optimal for TCG_TYPE_I32, comparing a signed 32-bit quantity against an unsigned 32-bit quantity. When possible, use addi+oris for 32-bit unsigned constants. Otherwise, standardize on addi+oris+ori instead of addis+ori+rldicl. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 752c1fdb6d3e7cc03157af213837f3b081b03858 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 11:13:28 2013 -0700 tcg-ppc64: Fix setcond_i32 We weren't ignoring the high 32 bits during a NE comparison. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2fd8eddcab144d29f9f58c842ad7a7fd65147394 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 16:08:50 2013 -0800 tcg-ppc64: Introduce and use TAI and SAI Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5e916c287e023c57f05689f908cc4579a6b53245 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:19:05 2013 -0800 tcg-ppc64: Introduce and use tcg_out_shri64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0a9564b964f2fec444cd422343bc1cc370c60dee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:12:14 2013 -0800 tcg-ppc64: Introduce and use tcg_out_shli64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6e5e06024ff722057db928ce5da0b0de64768bc8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:06:30 2013 -0800 tcg-ppc64: Introduce and use tcg_out_ext32u Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 9e555b735c8c0077bcf88ae92d6a0a26c38b437e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:00:45 2013 -0800 tcg-ppc64: Introduce and use tcg_out_rlw Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit aceac8d68537b96aa2ef8e8ba246bfaf179975dd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 14:48:37 2013 -0800 tcg-ppc64: Use TCGReg everywhere Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 66d4f6a32bf5aa0e3e20c1da11ecc75f8b566899 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 11:16:21 2013 -0800 disas: Disassemble all ppc insns for the host Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c72dd2d04bd28f7ec6b073316270258684ba5fc3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 18:26:41 2013 +0200 exec: remove useless declarations from memory-internal.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b421d9c6aba0ba3338c00b56cf45edbc150c42f3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 9 11:10:27 2013 +0200 memory: move core typedefs to qemu/typedefs.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0bc3cd624f1d59456cad769bb07e84066a2ddaf9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 17:29:59 2013 +0200 include: avoid useless includes of exec/ headers Headers in include/exec/ are for the deepest innards of QEMU, they should almost never be included directly. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dccfcd0e5f8f37360ebda11ccc4dab164c04d5a3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 16:55:25 2013 +0200 sysemu: avoid proliferation of include/ subdirectories Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bdee56f5466a724f043e6cfcfcf69866cc48cc94 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 2 18:28:41 2013 +0200 tpm: reorganize headers and split hardware part The TPM subsystem does not have a full front-end/back-end separation. The sole available backend, tpm_passthrough, depends on the data structures of the sole available frontend, tpm_tis. However, we can at least try to split the user interface (tpm.c) from the implementation (hw/tpm). The patches makes tpm.c not include tpm_int.h, which is shared between tpm_tis.c and tpm_passthrough.c; instead it moves more stuff to tpm_backend.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0ca5aa4f4c4a8bcc73988dd52a536241d35e5223 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 15:23:27 2013 +0200 qemu-char: another io_add_watch_poll fix After attaching the source, we have to remove the reference we hold to it, because we do not hold anymore a pointer to the source. If we do not do this, removing the source will not finalize it and will not drop the "real" I/O watch source. This showed up when backporting the new flow control patches to older versions of QEMU that still used select. The whole select then failed with EBADF (poll instead will reporting POLLNVAL on a single pollfd) and QEMU froze. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365600207-21685-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5990ff46759d918309dc10409a7d7ee83467642 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:36 2013 +0200 virtio-serial: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 76017fd2ea9bbd24850deb0bf665ef65c920d7f3 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:35 2013 +0200 virtio-serial: cleanup: use QOM casts. As the virtio-serial-pci and virtio-serial-s390 are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 34b95b2c647e6e66adcf877d06ea8b7911d31e80 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:34 2013 +0200 virtio-serial: cleanup: init and exit functions. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6acf69cd4fcc089f6c2415912431c04e096b5d5e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:33 2013 +0200 virtio-serial-ccw: switch to the new API. Here the virtio-serial-ccw is modified for the new API. The device virtio-serial-ccw extends virtio-ccw-device as before. It creates and connects a virtio-serial during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 55169140020c431bae446280858bd25e1e54f366 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:32 2013 +0200 virtio-serial-s390: switch to the new API. Here the virtio-serial-s390 is modified for the new API. The device virtio-serial-s390 extends virtio-s390-device as before. It creates and connects a virtio-serial during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7f7464afdb9f6f792de080ca4b3c520168513ad Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:31 2013 +0200 virtio-serial-pci: switch to the new API. Here the virtio-serial-pci is modified for the new API. The device virtio-serial-pci extends virtio-pci. It creates and connects a virtio-serial during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2cd2b016a145c57204ab629d2876b7e0a931ab12 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:30 2013 +0200 virtio-serial: add the virtio-serial device. Create virtio-serial which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f574fa8b0700bd5a3a400dbdc3bd514eaf53e005 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 12:04:48 2013 +0200 virtio: fix broken aliases. This fix the broken aliases, by renaming the devices. So: * virtio-blk => virtio-blk-device. * virtio-balloon => virtio-balloon-device. * virtio-scsi => virtio-scsi-device. All virtio-*-pci, virtio-*-s390, virtio-*-ccw didn't change. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1365501888-14602-1-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9fd02979d7f0fc58519f0119120797cba2a9fe70 Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Date: Mon Apr 8 23:08:13 2013 +0200 Update Makefile to actually install the new efi-enabled nic roms that are used by default. Commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f made a switch use the efi-enabled nic roms by default. This patch updates the Makefile to install the roms so they can actually be used. Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Message-id: 1365455293-7084-1-git-send-email-linux@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3718c7f0914c39d048a00f609baa4f47f7fc727f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 15 11:12:50 2013 +0300 acpi.h: make it self contained Headers shouldn't assume another header is included, pull in everything necessary. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130415081250.GA7374@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 97ebbab0e324831dff47dbfa4bed55808cb3ec74 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 16:14:48 2013 +0200 nbd: set TCP_NODELAY Disable the Nagle algorithm to reduce latency. Note this means we must also use TCP_CORK when sending header followed by payload to avoid fragmenting lots of little packets. The previous patch took care of that. Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Tested-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0fcece25c0b1b79b39d1dff5c2c55b88feae7eef Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 16:14:47 2013 +0200 nbd: use TCP_CORK in nbd_co_send_request() Use TCP_CORK to defer packet transmission until both the header and the payload have been written. Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6760c47aa42ce30efdd12c132f73c8749c575995 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 16:14:46 2013 +0200 nbd: unlock mutex in nbd_co_send_request() error path Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b1ca31d7ce648a10e3513bb4b5e7f89a8702aec7 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Apr 15 13:54:07 2013 +0200 target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR The operands for MAQ_SA_W.PHL/MAQ_SA_W.PHR must in specified format. Otherwise, the results are unpredictable. Once the operands were corrected in the tests (part of this change), a bug in mipsdsp_mul_q15_q15 became visible. This change corrects the tests for MAQ_SA_W.PHL/MAQ_SA_W.PHR and fixes sign-related issue in mipsdsp_mul_q15_q15. It also removes unnecessary comment. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> commit e3d142d073d02f0a3a4aad79eb838c15b6f99c01 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 12 16:37:52 2013 +0100 fpu: Correct edgecase in float64_muladd In handling float64_muladd, if we end up doing a subtraction of the product and c, and the 128 bit result of this subtraction happens to have its most significant bit in bit 63, we weren't handling this correctly when attempting to normalize to put the most significant bit into bit 126. We would end up doing a right shift by a negative number (undefined behaviour in C) so at best we would return an incorrect result to the guest. MSB in bit 63 has to be handled as a special case separately from MSB in 0..62 and MSB in 63..126. (MSB in 127 is not possible.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 3b8acc11d3f60792f9f716f2a93c258e729af980 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 18 16:37:50 2013 +0100 configure: fix TPM logic A non-native i386 or x86_64 emulator should not have TPM passthrough support, since the TPM is only present for those hosts. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e53339cf7cf90cf5c7a6bca64d0e7c0956f53a66 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 15 11:12:50 2013 +0300 acpi.h: make it self contained Headers shouldn't assume another header is included, pull in everything necessary. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0445259ba686f9ddf395f700c7d5b1ac400a451c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 15 09:19:22 2013 +0300 acpi: move declarations from pc.h to acpi.h Functions defined in acpi/ should be declared in acpi.h Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 174d5d990c7b08e75677402a71c834b000171c94 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Apr 14 22:52:50 2013 +0200 hw: Add lost ARM core again Commit 0434e30afb6175212389811e0b28b948eb3c1e40 accidentally removed the compilation of arm11mpcore.c. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35b2028f47eef4e20752f94f7cff650d828bfaee Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed Apr 10 16:43:09 2013 +0800 Fix failure to create q35 machine This is a regression introduced by c0907c9e6417c. How to reproduce: $ qemu-system-x86_64 -nodefaults -vnc :0 -M q35 qemu-system-x86_64: Unknown device 'q35-pcihost' for default sysbus Aborted (core dumped) Tested-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd123245b98fd6e13d829878f25b30a9417f4bfc Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Apr 10 10:29:47 2013 +0200 Add linux-headers to QEMU_INCLUDES virtio/dataplane/vring.c requires the Linux headers and is built for all targets. So we need to add the corresponding include to QEMU_INCLUDES to avoid that outdated distribution headers are used. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bd2be1500337f0349f70802e4d8d43f5aca61477 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Apr 9 15:26:55 2013 +0100 arm: fix location of some include files The recent rearrangement of include files had some minor errors: devices.h is not ARM specific and should not be in arm/ arm.h should be in arm/ Move these two headers to correct this. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit db08dc213ba87d16c34c235f5c83f70f0239f023 Merge: c530b14... dc7588c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 08:02:41 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: rbd: add an asynchronous flush iotests: Add 'check -ssh' option to test Secure Shell block device. block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk. block: Add support for Secure Shell (ssh) block device. ide: refuse WIN_READ_NATIVE_MAX on empty device qemu-iotests: filter QEMU_PROG in 051.out qemu-iotests: Add test for -drive options qemu-iotests: A few more bdrv_pread/pwrite tests block: Introduce bdrv_pwritev() for qcow2_save_vmstate savevm: Implement block_writev_buffer() block: Introduce bdrv_writev_vmstate Conflicts: savevm.c aliguori: add f->pos parameter to writev_buffer(). Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c530b1423b86f1589c49bccb460a75cb87322562 Merge: b25ce10... c85a128... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 07:49:21 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Michal Novotny (2) and Eric Blake (1) # Via Luiz Capitulino * luiz/queue/qmp: qapi: use valid JSON in schema Revert "New QMP command query-cpu-max and HMP command cpu_max" New cpu-max field in query-machines QMP command output Message-id: 1365775103-18737-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b25ce104a2ea690d77b1803cc829fee3142b310d Merge: e2ec3f9... 4d11724... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 07:46:39 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Paolo Bonzini # Via Juan Quintela * quintela/migration.next: migration: simplify writev vs. non-writev logic migration: drop is_write complications migration: use a single I/O operation when writev_buffer is not defined migration: set f->is_write and flush in add_to_iovec Message-id: 1365512961-15623-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dc7588c1eb3008bda53dde1d6b890cd299758155 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Mar 29 13:03:23 2013 -0700 rbd: add an asynchronous flush The existing bdrv_co_flush_to_disk implementation uses rbd_flush(), which is sychronous and causes the main qemu thread to block until it is complete. This results in unresponsiveness and extra latency for the guest. Fix this by using an asynchronous version of flush. This was added to librbd with a special #define to indicate its presence, since it will be backported to stable versions. Thus, there is no need to check the version of librbd. Implement this as bdrv_aio_flush, since it matches other aio functions in the rbd block driver, and leave out bdrv_co_flush_to_disk when the asynchronous version is available. Reported-by: Oliver Francke <oliver@xxxxxxxx> Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 342809e807ecb55551e579942f535966251cbe27 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Apr 9 15:30:55 2013 +0100 iotests: Add 'check -ssh' option to test Secure Shell block device. Note in order to run these tests on ssh, you must be running a local ssh daemon, and that daemon must accept loopback connections, and ssh-agent has to be set up to allow logins on the local daemon. In other words, the following command should just work without demanding any passphrase: ssh localhost Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9a2d462e7bfba36597ccbd3774ba3bb1bd4c54d8 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Apr 9 15:30:54 2013 +0100 block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk. libssh2_sftp_fsync is an extension to libssh2 to support fsync(2) over sftp, which is itself an extension of OpenSSH. If both libssh2 and the ssh daemon support it, this will allow bdrv_flush_to_disk to commit changes through to disk on the remote server. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0a12ec87a513b31eb3b6e035d30649e483322270 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Apr 9 15:30:53 2013 +0100 block: Add support for Secure Shell (ssh) block device. qemu-system-x86_64 -drive file=ssh://hostname/some/image QEMU will ssh into 'hostname' and open '/some/image' which is made available as a standard block device. You can specify a username (ssh://user@host/...) and/or a port number (ssh://host:port/...). You can also use an alternate syntax using properties (file.user, file.host, file.port, file.path). Current limitations: - Authentication must be done without passwords or passphrases, using ssh-agent. Other authentication methods are not supported. - Uses a single connection, instead of concurrent AIO with multiple SSH connections. This is implemented using libssh2 on the client side. The server just requires a regular ssh daemon with sftp-server support. Most ssh daemons on Unix/Linux systems will work out of the box. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit aad64f3193cbdc3741d10afa0237b6833e46e94e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:51:01 2013 +0200 ide: refuse WIN_READ_NATIVE_MAX on empty device What is the highest addressable sector on an empty CD-ROM? Nothing is addressable so produce an error. This patch prevents a divide-by-zero in ide_set_sector() since s->sectors and s->heads would be 0. Not to mention that a sector=-1 argument would be nonsense. Note that WIN_READ_NATIVE_MAX can be triggered using hdparm -N 1024 /dev/cdrom. The LBA bit will be set to 1 though, so the only easy way to go down the ide_set_sector() CHS code path which divides by zero is to comment out the s->select & 0x40 case for testing. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> commit c09b437b5fab487edd924e09d1732062d7dcf093 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 10:15:17 2013 +0200 qemu-iotests: filter QEMU_PROG in 051.out Filter the name of the QEMU executable so the output can be diffed no matter what QEMU_PROG is (e.g. qemu-system-x86_64). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 47e5df2146e8b6cd1c093720461928e66f824222 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 9 15:56:13 2013 +0200 qemu-iotests: Add test for -drive options Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cf07aecf955453de7570c66fa0e582c83f2aac4c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:56 2013 +0200 qemu-iotests: A few more bdrv_pread/pwrite tests Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8d3b1a2d0b34a95800c482e1414c63f469ac4973 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:55 2013 +0200 block: Introduce bdrv_pwritev() for qcow2_save_vmstate Directly pass the QEMUIOVector on instead of linearising it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 05fcc84888cfabec2267851415b66395a73a0f5f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:54 2013 +0200 savevm: Implement block_writev_buffer() Instead of breaking up RAM state into many small chunks, pass the iovec to the block layer for better performance. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cf8074b3825f7229a20c60e679511592bde41340 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:53 2013 +0200 block: Introduce bdrv_writev_vmstate Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 41cb62c2d9a5a2668165fdd6f195f54ad30e5396 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 2 16:52:25 2013 +0300 kvm: support non datamatch ioeventfd Adding restrictions just adds code. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 44c3f8f7c77ff24edbd4e682c12a8f1f50a20ae9 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 2 00:54:45 2013 +0300 kvm: support any size for pio eventfd Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 500ffd4a29bda2109ab07fadc0f767473dab6010 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 2 00:05:21 2013 +0300 kvm: remove unused APIs There are only used internally now, move them out of header and out of stub. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e2ec3f976803b360c70d9ae2ba13852fa5d11665 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:21 2013 +0200 qjson: to_json() case QTYPE_QSTRING is buggy, rewrite Known bugs in to_json(): * A start byte for a three-byte sequence followed by less than two continuation bytes is split into one-byte sequences. * Start bytes for sequences longer than three bytes get misinterpreted as start bytes for three-byte sequences. Continuation bytes beyond byte three become one-byte sequences. This means all characters outside the BMP are decoded incorrectly. * One-byte sequences with the MSB are put into the JSON string verbatim when char is unsigned, producing invalid UTF-8. When char is signed, they're replaced by "\\uFFFF" instead. This includes \xFE, \xFF, and stray continuation bytes. * Overlong sequences are happily accepted, unless screwed up by the bugs above. * Likewise, sequences encoding surrogate code points or noncharacters. * Unlike other control characters, ASCII DEL is not escaped. Except in overlong encodings. My rewrite fixes them as follows: * Malformed UTF-8 sequences are replaced. Except the overlong encoding \xC0\x80 of U+0000 is still accepted. Permits embedding NUL characters in C strings. This trick is known as "Modified UTF-8". * Sequences encoding code points beyond Unicode range are replaced. * Sequences encoding code points beyond the BMP produce a surrogate pair. * Sequences encoding surrogate code points are replaced. * Sequences encoding noncharacters are replaced. * ASCII DEL is now always escaped. The replacement character is U+FFFD. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1d50c8e947180174acb02bad9ff95e0aee6249ea Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:20 2013 +0200 check-qjson: Test noncharacters other than U+FFFE, U+FFFF in strings Test cases cover the two noncharacters in the BMP. Add tests for the other 64 noncharacters. Three existing test cases involve noncharacters U+FFFF and U+10FFFF. Instead of deleting them as now duplicates, adjust them to use U+FFFC and U+10FFFFD. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d6244e2ce48b353402eff271d382ee6fd47ce166 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:19 2013 +0200 check-qjson: Improve a few comments, delete bogus ones Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cb2744ea343d8cb96bab0389f6b7d6e1a3ddf6c1 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:18 2013 +0200 unicode: New mod_utf8_codepoint() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 75312e745ad1b672cbabdc3022f6e7c8eff69b00 Merge: d640045... 0727b86... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 14:31:54 2013 +0200 Merge branch 'mingw' of git://qemu.weilnetz.de/qemu * 'mingw' of git://qemu.weilnetz.de/qemu: qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 Release SMP restriction on Windows Ensure good ordering of memory instruction in cpu_exec Check effective suspension of TCG thread commit d640045a3ede028293b83e57e9ae1ce4f81044b8 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:31 2013 +0200 target-i386: add AES-NI instructions Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 5d6f5cdd8ae3a67a07012b4f3fcb5db7a6117766 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:31 2013 +0200 aes: make Td[0-5] and Te[0-5] tables non static Remove static attribute to Td[0-5] and Te[0-5] tables so that they can be used outside of aes.c. Change their type from u32 to uint32_t, to keep the u32 udef local to aes.c. Prefix them with AES_ so that they do not conflict with other symbols. Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 753d9b82c5a18182294980f4fc1081d7926aae83 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 aes: move aes.h from include/block to include/qemu Move aes.h from include/block to include/qemu to show it can be reused by other subsystems. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 309b4de122c387e0f75624307fcd9896be7ec8fe Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 disas/i386.c: disassemble aes-ni instructions Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 target-i386: enable PCLMULQDQ on Westmere CPU The PCLMULQDQ instruction has been introduced on the Westmere CPU. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e71827bc0ed50edb31bee6050bc96b3bd1e0c055 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 target-i386: add pclmulqdq instruction Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8dbd3fc37593c81a04a62cb4266ba9127de4498a Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 disas/i386.c: disassemble pclmulqdq instruction Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2f493fee18a62104caddfabaa2712b076528cede Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Apr 9 16:51:24 2013 +0200 sh7750: Change cpu field type to SuperHCPU This brings us a step closer to QOM'ified SH7750 SoC and fixes b350ab75 (target-sh4: Move PVR/PRR/CVR into SuperHCPUClass) assuming SuperHCPU type for SUPERH_CPU_GET_CLASS(). Fix Coding Style issues while at it (indentation, braces). Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 06f3ed26983a04df74729d748a7b05400d8f3386 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Apr 9 16:51:23 2013 +0200 shix: Catch CPU initialization errors Print an error message as done for the r2d machine and exit. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 396a14a3be17edbcdf33ad2c94d6e1069464f9e0 Merge: 0a9c234... c30d1ae... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 13:50:34 2013 +0200 Merge branch 'trivial-patches' of git://github.com/stefanha/qemu * 'trivial-patches' of git://github.com/stefanha/qemu: cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC) Typo, spelling and grammatical fixes linux-user: pass correct host flags to eventfd2 call target-moxie: Fix VMState registration commit 0a9c2341de2e735166084538d000ed80182ff404 Merge: 4b7b054... ee79c35... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 13:50:06 2013 +0200 Merge branch 'tci' of git://qemu.weilnetz.de/qemu * 'tci' of git://qemu.weilnetz.de/qemu: tci: Make tcg temporaries local to tcg_qemu_tb_exec tci: Delete unused tb_ret_addr tci: Avoid code before declarations tci: Use a local variable for env tci: Use 32-bit signed offsets to loads/stores commit 4b7b05468289531dae80ec81d0f08021ed92f123 Merge: 93b48c2... b879f30... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 13:49:20 2013 +0200 Merge branch 'tcg-s390' of git://github.com/rth7680/qemu * 'tcg-s390' of git://github.com/rth7680/qemu: tcg-s390: Fix merge error in tgen_brcond tcg-s390: Use all 20 bits of the offset in tcg_out_mem tcg-s390: Use load-address for addition tcg-s390: Cleanup argument shuffling fixme in softmmu code tcg-s390: Use risbgz for andi tcg-s390: Remove constraint letters for and tcg-s390: Implement deposit opcodes tcg-s390: Implement movcond opcodes tcg-s390: Implement mulu2_i64 opcode tcg-s390: Implement add2/sub2 opcodes tcg-s390: Remove useless preprocessor conditions tcg-s390: Properly allocate a stack frame. tcg-s390: Fix movi commit 0727b867542eea7fedfd2c53568e9782627fd3bd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Feb 20 14:43:31 2013 +0100 qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 These are needed for any of the Win32 alarm timer implementations. They are not tied to mmtimer exclusively. Jacob tested this patch with both mmtimer and Win32 timers. Cc: qemu-stable@xxxxxxxxxx Tested-by: Jacob Kroon <jacob.kroon@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit 1046127d1fcc69359b3f5a44de08e6c5b16c90bc Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Apr 9 18:06:55 2013 +0200 Release SMP restriction on Windows The previous patches make QEMU SMP safe on Windows, we can now release the restriction. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit ec9bd89fa48147e1d16e078217513c1235f9132a Author: Olivier Hainque <hainque@xxxxxxxxxxx> Date: Tue Apr 9 18:06:54 2013 +0200 Ensure good ordering of memory instruction in cpu_exec The IO thread, when it senses cpu_single_env == 0, expects exit_request to be checked later on. A compiler scheduling constraint is not strong enough to ensure this on modern architecture. A memory fence is needed as well. Signed-off-by: Olivier Hainque <hainque@xxxxxxxxxxx> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit ed9164a3549f93204d6b096136cda2ce54e9f03a Author: Olivier Hainque <hainque@xxxxxxxxxxx> Date: Tue Apr 9 18:06:53 2013 +0200 Check effective suspension of TCG thread On multi-core systems, SuspendThread does not guaranty immediate thread suspension. We add busy loop to wait for effective thread suspension after call to ThreadSuspend(). Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit c85a128480a3d05d2002728c449a32e32663e7de Author: Eric Blake <eblake@xxxxxxxxxx> Date: Wed Apr 10 13:12:44 2013 -0600 qapi: use valid JSON in schema * qapi-schema.json: JSON doesn't allow trailing commas. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 315f9e1a8f596a37853bbed4647954029f9350db Author: Michal Novotny <minovotn@xxxxxxxxxx> Date: Tue Apr 9 16:23:39 2013 +0200 Revert "New QMP command query-cpu-max and HMP command cpu_max" This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked by Luiz. The patch has been obsoleted by extending MachineInfo structure by cpu-max field. Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c72e768836d78c9d844428b541f7d27d54e7653d Author: Michal Novotny <minovotn@xxxxxxxxxx> Date: Mon Apr 8 18:21:02 2013 +0200 New cpu-max field in query-machines QMP command output Alter the query-machines QMP command to output information about maximum number of CPUs for each machine type with default value set to 1 in case the number of max_cpus is not set. Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c30d1aea1478cd55e8cfdf866afa39cd00bb4ea1 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Apr 11 21:21:46 2013 +0100 cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC) The CONFIG_DEBUG_EXEC define compiles out a single qemu_log_mask() call, which is a pretty trivial cost even for something in the main cpu_exec() loop. Having this be conditionally defined means that '-d exec' on a non-debug build will silently do nothing. Drop the define and the configure machinery that sets it, in favour of just always allowing this log option to be enabled at runtime. As a concession to the mainloopiness, we use qemu_loglevel_mask()+qemu_log() rather than qemu_log_mask() to avoid the function call overhead. Note that DEBUG_DISAS is always defined, so removing the '|| defined(CONFIG_DEBUG_EXEC)' from those conditionals makes no behavioural change for that logging. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e03ba136377ff0038276ba493473127338c68ebc Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Apr 9 12:48:19 2013 +0100 Typo, spelling and grammatical fixes Minor fixes to documentation and code comments. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5947c697ce71898015ae1c6ac5d23d1ecc388552 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx> Date: Mon Apr 8 20:26:10 2013 +0200 linux-user: pass correct host flags to eventfd2 call This change makes conversion of TARGET_O_NONBLOCK and TARGET_O_CLOEXEC flags to host flags before calling eventfd for TARGET_NR_eventfd2. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 183543cdb68a0f2e1ff1c68d37338037dcc9d6c5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 8 16:51:46 2013 +0100 target-moxie: Fix VMState registration Register the CPU VMState in the correct way, via cpu_class_set_vmsd(), rather than doing it in two different wrong ways (once by providing cpu_save and cpu_load functions, and once by setting the vmsd field in DeviceClass). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ee79c356ffe18eea90ea4bbde2057cebe6bb654f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:55 2013 +0000 tci: Make tcg temporaries local to tcg_qemu_tb_exec We're moving away from the temporaries stored in env. Make sure we can differentiate between temp stores and possibly bogus stores for extra call arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way of the parameter passing registers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 4699ca6dbf335b0c38e291a530c6ad85e599253d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:54 2013 +0000 tci: Delete unused tb_ret_addr Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit dea8fde8b8cb1ab14e15308aadbf88eeccd4e873 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:53 2013 +0000 tci: Avoid code before declarations This only valid with c99 extensions enabled, and easy to avoid. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 7648746844a7775566ada1db1c117943aaf64b83 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:52 2013 +0000 tci: Use a local variable for env Since we have total conversion away from global AREG0, we do not need a global variable named "env". Retain that name as the function parameter inside the interpreter. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 03fc0548b70393b0c8d43703591a9e34fb8e3123 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:51 2013 +0000 tci: Use 32-bit signed offsets to loads/stores Since the change to tcg_exit_req, the first insn of every TB is a load with a negative offset from env. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 4d1172472cdf28a444321ca8b165ce7326eb919e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:57 2013 +0200 migration: simplify writev vs. non-writev logic Check f->iovcnt in add_to_iovec, f->buf_index in qemu_put_buffer/byte. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d9658c4732a88efc42ab43bda69ae9f62559205b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:56 2013 +0200 migration: drop is_write complications The same QEMUFile is never used for both read and write. Simplify the logic to simply look for presence or absence of the right ops. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7ce51f1b8157a2aa6bd3945bba9904442d3c3cdd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:55 2013 +0200 migration: use a single I/O operation when writev_buffer is not defined The recent patches to use vectored I/O for RAM migration caused a regression in savevm speed. To restore previous performance, add data to the buffer in qemu_put_buffer_async whenever writev_buffer is not available in the QEMUFile. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit af74db72d33e4776d7d1430b57d0bf065a6f03df Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:54 2013 +0200 migration: set f->is_write and flush in add_to_iovec Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 93b48c201eb6c0404d15550a0eaa3c0f7937e35e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 9 10:22:35 2013 +0200 virtio-9p: Fix virtio-9p no longer building after hw-dirs branch merge Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1365495755-10902-1-git-send-email-hdegoede@xxxxxxxxxx Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 47b5264eb3e1cd2825e48d28fd0d1b239ed53974 Merge: 1f8010f... 47b43a1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 13:12:32 2013 -0500 Merge remote-tracking branch 'bonzini/hw-dirs' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/hw-dirs: (35 commits) hw: move private headers to hw/ subdirectories. MAINTAINERS: update for source code movement hw: move last file to hw/arm/ hw: move hw/kvm/ to hw/i386/kvm hw: move ARM CPU cores to hw/cpu/, configure with default-configs/ hw: move other devices to hw/misc/, configure with default-configs/ hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/ hw: move GPIO interfaces to hw/gpio/, configure with default-configs/ hw: move interrupt controllers to hw/intc/, configure with default-configs/ hw: move DMA controllers to hw/dma/, configure with default-configs/ hw: move VFIO and ivshmem to hw/misc/ hw: move PCI bridges to hw/pci-* or hw/ARCH hw: move SD/MMC devices to hw/sd/, configure with default-configs/ hw: move timer devices to hw/timer/, configure with default-configs/ hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ hw: move char devices to hw/char/, configure via default-configs/ hw: move more files to hw/xen/ hw: move SCSI controllers to hw/scsi/, configure via default-configs/ hw: move SSI controllers to hw/ssi/, configure via default-configs/ hw: move I2C controllers to hw/i2c/, configure via default-configs/ ... Message-id: 1365442249-18259-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1f8010f0790b53e5a75dbbd3e14868759ac00e6c Merge: 7c2acc7... 389dd80... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 13:12:25 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Dmitry Fleytman # Via Stefan Hajnoczi * stefanha/net: vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped vmxnet3: iPXE compatibility fixes Message-id: 1365435829-23535-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 47b43a1f414c5b3eb9eb7502d0b0be0d134259ba Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 18 17:36:02 2013 +0100 hw: move private headers to hw/ subdirectories. Many headers are used only in a single directory. These can be kept in hw/. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8d8b636d28a97af7bf43c3267d07f87b9530939a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:19:30 2013 +0100 MAINTAINERS: update for source code movement Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit aacf8895e13c3763ce6d30a4e673ebcc6326d9ff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 18:49:23 2013 +0100 hw: move last file to hw/arm/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 54976b75fb159ca175636b7fef1cd08130cb662f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move hw/kvm/ to hw/i386/kvm Peter requested the KVM GIC to be in hw/intc. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0434e30afb6175212389811e0b28b948eb3c1e40 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move ARM CPU cores to hw/cpu/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e28bee8ee654b81f4688a505e56ade0692174b5c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 3 18:06:08 2013 +0200 hw: move other devices to hw/misc/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 914e29d28052dbe5a4f41b71eaf8c7bb19ac0929 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5193899a5a7de923c77cbc4e5019e5009294245e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move GPIO interfaces to hw/gpio/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7702e47c21e9e7c9962a25de03caa999ea4cd2ea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:12:12 2013 +0100 hw: move interrupt controllers to hw/intc/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d2c0bd845847820e4abd99638aa2e9b90611a5bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:54:35 2013 +0100 hw: move DMA controllers to hw/dma/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ba25df88cc004dffad908b54a71ad8510551e6d2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:41:36 2013 +0100 hw: move VFIO and ivshmem to hw/misc/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c0907c9e6417cb959dfd9ef6873221536ec91351 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:06:20 2013 +0100 hw: move PCI bridges to hw/pci-* or hw/ARCH Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8ac5c6510b609c123d6b394b2de16462ac7c395f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:54:35 2013 +0100 hw: move SD/MMC devices to hw/sd/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3bd884511f8dc44a01e32878b2972443a16db70d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:38:25 2013 +0100 hw: move timer devices to hw/timer/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 47934d0aadc075b05ce2d9e8a44fa6a46edd1afa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:13:04 2013 +0100 hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9944d320016914912133b348b6fbbb18c7417035 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:35:34 2013 +0100 hw: move char devices to hw/char/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80b4ecc86dd5ccd779f96c8bd11feb031d327614 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:25:08 2013 +0100 hw: move more files to hw/xen/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53a5500244a9d38505174bac56d81a8be2979f39 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:39:38 2013 +0100 hw: move SCSI controllers to hw/scsi/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 31e17060829f26292d4095c93e3408d740ce6f3d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:20:08 2013 +0100 hw: move SSI controllers to hw/ssi/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53ed424e09f555598f7af286787a76d9c397e812 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:07:03 2013 +0100 hw: move I2C controllers to hw/i2c/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:59:04 2013 +0100 hw: move display devices to hw/display/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 34b8f63ea1aa0941f11c6c032f8e1716269a0449 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:55:19 2013 +0100 hw: move audio devices to hw/audio/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7b2478956a1aece1c79ece8dec250ed91c09903b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:55:04 2013 +0100 hw: move block devices to hw/block/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d7e35d4a8495bfb3aa0dfd6319fcc499f43a175c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:33:56 2013 +0100 hw: move NICs to hw/net/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0ddfaf7fe4c8453446730328bf348b7c6438e4f8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:30:44 2013 +0100 hw: move MC146818RTC to hw/timer/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a100107d5612ba568c817f22c628b2c9eeb431bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:27:44 2013 +0100 hw: move watchdogs to hw/watchdog, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ddf2bcfc63e7c73cc37f870599ee61f9204bde66 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:46:43 2013 +0100 hw: make all of hw/pci/ configurable via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit aaa4d1df2e18e7b3aa996836a6256eab13d4267a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:23:23 2013 +0100 hw: make all of hw/usb/ configurable via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9a1179dc864ae71dec212c5da482451bcd4a4fcb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:22:39 2013 +0100 hw: make all of hw/ide/ configurable via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6e7907468fd05b8a641a715ebb110fc1903a604e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:42:31 2013 +0100 hw: move virtio devices to hw/ subdirectories Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 49ab747f668f421138d5b40d83fa279c4c5e278d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 1 13:59:19 2013 +0100 hw: move target-independent files to subdirectories This patch tackles all files that are compiled once, moving them to subdirectories of hw/. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ce3b494cb504f96992f2d37ebc8f56deed202b06 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 18:54:12 2013 +0100 moxie: configure with default-configs file Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1fd6bb44ed7ddd875e0d37d17685621f1ef27823 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 11:59:48 2013 +0100 hw: make subdirectories for devices Prepare the new directory structure. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0d09e41a51aa0752b1ce525ce084f7cd210e461b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 17:06:20 2013 +0100 hw: move headers to include/ Many of these should be cleaned up with proper qdev-/QOM-ification. Right now there are many catch-all headers in include/hw/ARCH depending on cpu.h, and this makes it necessary to compile these files per-target. However, fixing this does not belong in these patches. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bb585a784e9ad69207315d694e7dad2c422f6baa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 3 17:53:21 2013 +0200 build: enable using $(CONFIG_FOO) on the rhs of config files Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7c2acc7062fe863cb71ff5849bb121deafe8df4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 8 12:11:27 2013 +0100 configure: Don't fall back to gthread coroutine backend The gthread coroutine backend is broken and does not produce a working QEMU; it is only useful for some very limited debugging situations. Clean up the backend selection logic in configure so that it now runs "if on windows use windows; else prefer ucontext; else sigaltstack". To do this we refactor the configure code to separate out "test whether we have a working ucontext", "pick a default if user didn't specify" and "validate that user didn't specify something invalid", rather than having all three of these run together. We also simplify the Makefile logic so it just links in the backend the configure script selects. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1365419487-19867-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 76ad07a4938aac69cb12bfdf52c3bf612c85e4df Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 8 12:11:26 2013 +0100 configure: Provide and use convenience error reporting function Provide a convenience function for reporting an error and exiting, and update various places in the configure script to use it. This allows us to be a little more consistent about how format our error messages and makes the calling code shorter. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365419487-19867-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1e885b25275fb6763eb947b1e53b2d6911b967a8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 15:03:15 2013 +0200 qemu-char: really fix behavior on can_read = 0 I misread the glib manual, g_source_remove does not let you re-attach the source later. This behavior (called "blocking" the source in glib) is present in glib's source code, but private and not available outside glib; hence, we have to resort to re-creating the source every time. In fact, g_source_remove and g_source_destroy are the same thing, except g_source_destroy is O(1) while g_source_remove scans a potentially very long list of GSources in the current main loop. Ugh. Better use g_source_destroy explicitly, and leave "tags" to those dummies who cannot track their pointers' lifetimes. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365426195-12596-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9a7cfee1280cc70ba0db2eb528ea3e5a072c80e Merge: 2a7a239... ce7f7cc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 10:37:06 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-4-2-13' into staging # By Laszlo Ersek (2) and others # Via Michael Roth * mdroth/qga-pull-4-2-13: qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows qga schema: document generic QERR_UNSUPPORTED qga schema: mark optional GuestLogicalProcessor.can-offline with #optional qga: add windows implementation for guest-set-time qga: add windows implementation for guest-get-time commit 2a7a239ff09aa87cc3682a976c7a57d9ea1321d7 Merge: 9196dd4... aa1c9e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 10:36:40 2013 -0500 Merge remote-tracking branch 'kraxel/usb.79' into staging # By Gerd Hoffmann (7) and Hans de Goede (3) # Via Gerd Hoffmann * kraxel/usb.79: usb-tablet: Don't claim wakeup capability for USB-2 version usb: update docs for bus name change usb-hub: report status changes only once usb-hub: limit chain length xhci: zap unused name field xhci: remove unimplemented printfs xhci: remove leftover debug printf xhci: fix numintrs sanity checks usb-redir: Add flow control support usb-redir: Fix crash on migration with no client connected commit 389dd80795c646c914ab3c4366c9409e309f0e4f Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Thu Mar 28 10:53:30 2013 +0200 vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped Byte swap is redundant because shared memory reading functions already swap bytes when required Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3e948fd38556f872f40ac588ec9008c099010007 Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Thu Mar 28 10:53:29 2013 +0200 vmxnet3: iPXE compatibility fixes iPXE vmxnet3 driver makes a few assumptions regarding device operation that were missed during testing with Linux and Windows drivers. This patch adds following logic: 1. Additional GET commands processing added 2. Max number of RX chunks should be set to 1 when driver passes 0 via corresponding shared memory field 3. Enforecement for max chunks number added Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9196dd411d580c27f85daa209ff9a501d719ebc0 Merge: 893986f... 32aea75... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 6 12:53:54 2013 +0000 Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm: hw/nand.c: Fix nand erase operation cadence_uart: Flush queued characters on reset pl330: Don't inhibit ES bits on INTEN pflash_cfi01: Implement migration support pflash_cfi01: Drop unused 'bypass' field hw/arm_gic_common: Use vmstate struct rather than save/load functions arm_gic: Fix sizes of state fields in preparation for vmstate support vmstate: Add support for two dimensional arrays hw/onenand.c: fix migration of dynamically allocated buffer "otp" hw/sd.c: fix migration of dynamically allocated buffer "buf" vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro hw/arm_mptimer: Save the timer state pl050: Don't send always-constant is_mouse field hw/arm/nseries: don't print to stdout or stderr commit b879f3084650410709051202e0e834b903b0858c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Apr 5 14:10:28 2013 -0400 tcg-s390: Fix merge error in tgen_brcond When the TCG condition codes were re-organized last year, we failed to update all of the "old-style" tests for unsigned. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 78c9f7c5b09408b4cac69a4fee97a118c8a89f6c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 14:37:42 2013 -0400 tcg-s390: Use all 20 bits of the offset in tcg_out_mem This can save one insn, if the constant has any bits in 32-63 set, but no bits in 21-31 set. It never results in more insns. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0db921e6d8660a2491c173a2821e30924018d4bb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 14:23:26 2013 -0400 tcg-s390: Use load-address for addition Since we're always in 64-bit mode, load address performs a full 64-bit add. Use that for 3-address addition, as well as for larger constant addends when we lack extended-immediates facility. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 65a62a753c90611d07497a586e0343fe8f7154cf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 13:04:26 2013 -0400 tcg-s390: Cleanup argument shuffling fixme in softmmu code Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f0bffc27304ddaad255538da851d52ebb59e020d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 12:28:22 2013 -0400 tcg-s390: Use risbgz for andi This is immediately usable by the tlb lookup code. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 07ff798313a8263a9e50d3411631538cb263d129 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 11:47:54 2013 -0400 tcg-s390: Remove constraint letters for and Since we have a free temporary and can always just load the constant, we ought to do so, rather than spending the same effort constraining the const. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d5690ea43322b487071aa22e51f005a542b015d1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 09:30:58 2013 -0400 tcg-s390: Implement deposit opcodes Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 96a9f093f8d71bc672e68da100e6a449ada75638 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 17:28:52 2013 -0400 tcg-s390: Implement movcond opcodes Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 36017dc68aa8c345d10ad7ba7bc3dba580f3f035 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 16:50:29 2013 -0400 tcg-s390: Implement mulu2_i64 opcode Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3790b9180a070eab619438dc0fd83de33ec8cbbd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 16:41:45 2013 -0400 tcg-s390: Implement add2/sub2 opcodes Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a01fc30da4d4b6f16889429518eeefe382bc4d42 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 16:39:50 2013 -0400 tcg-s390: Remove useless preprocessor conditions We only support 64-bit code generation for s390x. Don't clutter the code with ifdefs that suggest otherwise. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a4924e8bb533fb537d82a463b6465d80adaea0f5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 25 20:54:30 2013 -0700 tcg-s390: Properly allocate a stack frame. Set TCG_TARGET_CALL_STACK_OFFSET properly for the abi. Allocate the standard TCG_STATIC_CALL_ARGS_SIZE. And while we're at it, allocate space for CPU_TEMP_BUF_NLONGS. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a22971f99f4846a0947f35548b7f3f76159339f0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 25 13:45:32 2013 -0700 tcg-s390: Fix movi The code to load the high 64 bits assumed that the insn used to load the low 64 bits zero-extended. Enforce that. commit 893986fe94eb229f2317f50fac0e35e068eb66ba Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 08:46:00 2013 -0500 main-loop: drop the BQL if the I/O appears to be spinning The char-flow refactoring introduced a busy-wait that depended on an action from the VCPU thread. However, the VCPU thread could never take that action because the busy-wait starved the VCPU thread of the BQL because it never dropped the mutex while running select. Paolo doesn't want to drop this optimization for fear that we will stop detecting these busy waits. I'm afraid to keep this optimization even with the busy-wait fixed because I think a similar problem can occur just with heavy I/O thread load manifesting itself as VCPU pauses. As a compromise, introduce an artificial timeout after a thousand iterations but print a rate limited warning when this happens. This let's us still detect when this condition occurs without it being a fatal error. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1365169560-11012-1-git-send-email-aliguori@xxxxxxxxxx commit d185c094b404b4ff392b77d1244c0233da7d53bd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 5 17:59:33 2013 +0200 qemu-char: eliminate busy waiting on can_read returning zero The character backend refactoring introduced an undesirable busy wait. The busy wait happens if can_read returns zero and there is data available on the character device's file descriptor. Then, the I/O watch will fire continuously and, with TCG, the CPU thread will never run. 1) Char backend asks front end if it can write 2) Front end says no 3) poll() finds the char backend's descriptor is available 4) Goto (1) What we really want is this (note that step 3 avoids the busy wait): 1) Char backend asks front end if it can write 2) Front end says no 3) poll() goes on without char backend's descriptor 4) Goto (1) until qemu_chr_accept_input() called 5) Char backend asks front end if it can write 6) Front end says yes 7) poll() finds the char backend's descriptor is available 8) Backend handler called After this patch, the IOWatchPoll source and the watch source are separated. The IOWatchPoll is simply a hook that runs during the prepare phase on each main loop iteration. The hook adds/removes the actual source depending on the return value from can_read. A simple reproducer is qemu-system-i386 -serial mon:stdio ... followed by banging on the terminal as much as you can. :) Without this patch, emulation will hang. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365177573-11817-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91b53e4407ed8379d2d40f88a585e0b767681927 Merge: 54baa6f... f1922e3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 12:52:48 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Peter Crosthwaite (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: xilinx_zynq: Cleanup ssi_create_slave petalogix_ml605_mmu: Cleanup ssi_create_slave() target-s390: Fix SRNMT linux-user: Don't omit comma for strace of rt_sigaction() test-visitor-serialization: Fix some memory leaks commit 54baa6f3c07a155939a6edda6d17706a6e9ab11c Merge: 5098699... 9246ce8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 12:52:32 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-2013-04-05' into staging # By Alex Bligh (2) and Felipe Franciosi (2) # Via Stefano Stabellini * sstabellini/xen-2013-04-05: Allow xen guests to plug disks of 1 TiB or more Introduce 64 bit integer write interface to xenstore Xen PV backend: Disable use of O_DIRECT by default as it results in crashes. Xen PV backend: Move call to bdrv_new from blk_init to blk_connect commit 5098699a51756f7e8934dc035112c8f8aa2a0ec3 Merge: 150a470... c2b6ff5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 12:49:10 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (4) and Kevin Wolf (3) # Via Kevin Wolf * kwolf/for-anthony: qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount qcow2: Return real error in qcow2_update_snapshot_refcount block: clean up I/O throttling wait_time code block: drop duplicated slice extension code block: keep I/O throttling slice time constant block: fix I/O throttling accounting blind spot usb-storage: Forward serial number to scsi-disk commit c2b6ff51e4a3ad1f7ec5dbc94970e9778b31d718 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 12:57:10 2013 +0200 qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount It ignored the error code, and at least the 'goto fail' is obvious nonsense as it creates an endless loop (if the next attempt doesn't magically succeed) and leaves the in-memory L1 table in big-endian instead of converting it back. In error cases, there's no point in writing an updated L1 table, so skip this part for them. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c2bc78b6a975ea2dcd7eee9f0dce22cc060cdcdc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 12:51:31 2013 +0200 qcow2: Return real error in qcow2_update_snapshot_refcount This fixes the error message triggered by the following script: cat > /tmp/blkdebug.cfg <<EOF [inject-error] event = "cluster_free" errno = "28" immediately = "off" EOF $qemu_img create -f qcow2 test.qcow2 10G $qemu_img snapshot -c snap test.qcow2 $qemu_img snapshot -d snap blkdebug:/tmp/blkdebug.cfg:test.qcow2 Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0775437fafc5c733564645a22f75490770bf41f7 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:22 2013 +0200 block: clean up I/O throttling wait_time code The wait_time variable is in seconds. Reflect this in a comment and use NANOSECONDS_PER_SECOND instead of BLOCK_IO_SLICE_TIME * 10 (which happens to have the right value). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e660fb8b3ccc94652774d5895d122c0f13aecb89 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:21 2013 +0200 block: drop duplicated slice extension code The current slice is extended when an I/O request exceeds the limit. There is no need to extend the slice every time we check a request. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ae29d6c64bd8d55873a2cb1df50ae4321b497447 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:20 2013 +0200 block: keep I/O throttling slice time constant It is not necessary to adjust the slice time at runtime. We already extend the current slice in order to carry over accounting into the next slice. Changing the actual slice time value introduces oscillations. The guest may experience large changes in throughput or IOPS from one moment to the next when slice times are adjusted. Reported-by: Benoît Canet <benoit@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5905fbc9c94ccd744c1b249472eafcc2d827548a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:19 2013 +0200 block: fix I/O throttling accounting blind spot I/O throttling relies on bdrv_acct_done() which is called when a request completes. This leaves a blind spot since we only charge for completed requests, not submitted requests. For example, if there is 1 operation remaining in this time slice the guest could submit 3 operations and they will all be submitted successfully since they don't actually get accounted for until they complete. Originally we probably thought this is okay since the requests will be accounted when the time slice is extended. In practice it causes fluctuations since the guest can exceed its I/O limit and it will be punished for this later on. Account for I/O upon submission so that I/O limits are enforced properly. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 76534da749ceb3b4c13ec09b173bcf6d6c2e36d4 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 3 12:41:46 2013 +0200 usb-storage: Forward serial number to scsi-disk usb-storage takes care to fetch the USB serial number from -drive options, but it neglected to pass its own 'serial' property to the scsi-disk it creates. With this patch, the 'serial' qdev property and the 'serial' option in -drive behave the same and correctly apply the serial number on both USB and SCSI level. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 32aea752f47f30c00878dcc323ac4debf0c9e645 Author: Wendy Liang <wendy.liang@xxxxxxxxxx> Date: Wed Apr 3 15:33:08 2013 +1000 hw/nand.c: Fix nand erase operation Usually, nand erase operation has only 2 or 3 address cycles. We need to mask s->addr to zero unset stale high-order bytes in the nand address before using it as the erase address. This fixes the NAND erase operation in Linux. [PC: Generalised to work for any number of address cycles rather than just 3] Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1364967188-26711-1-git-send-email-peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1db8b5efe0c2b5000e50691eea61264a615f43de Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Apr 3 14:52:21 2013 +1000 cadence_uart: Flush queued characters on reset Reset can be used to empty the rx-fifo. As the fifo full condition is used to return false from can_receive, queued rx data should be flushed on reset accordingly. Cc: Wendy Liang <jliang@xxxxxxxxxx> Cc: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Message-id: 494c1e005e225c915d295ddfd75d992ad2dabc3c.1364964526.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit fd7f8a99f3b08640a7fe2b2f3c3e6b68068b4983 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 2 17:59:29 2013 +0000 pl330: Don't inhibit ES bits on INTEN This if-else logic inhibits setting of the event status (ES) bits when interrupts are enabled. This is incorrect. ES should be set regardless on INTEN state. INTEN only inhibits the signalling of events to PL330 threads, not setting of the ES register. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9246ce881128df2a69178779c1ef33c83df3c70d Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx> Date: Fri Apr 5 15:47:59 2013 +0000 Allow xen guests to plug disks of 1 TiB or more The current xen backend driver implementation uses int64_t variables to store the size of the corresponding backend disk/file. It also uses an int64_t variable to store the block size of that image. When writing the number of sectors (file_size/block_size) to xenstore, however, it passes these values as 32 bit signed integers. This will cause an overflow for any disk of 1 TiB or more. This patch changes the xen backend driver to use a 64 bit integer write xenstore function. Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 10bb3c623478117aee5117c312736f10833decc2 Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx> Date: Fri Apr 5 15:37:32 2013 +0000 Introduce 64 bit integer write interface to xenstore The current implementation of xen_backend only provides 32 bit integer functions to write to xenstore. This patch adds two functions that allow writing 64 bit integers (one generic function and another for the backend only). This patch also fixes the size of the char arrays used to represent these integers as strings (originally 32 bytes, however no more than 12 bytes are needed for 32 bit integers and no more than 21 bytes are needed for 64 bit integers). Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit c1a88ad1f4ac994cd70695bf08141d161e21533e Author: Alex Bligh <alex@xxxxxxxxxxx> Date: Fri Apr 5 15:45:15 2013 +0000 Xen PV backend: Disable use of O_DIRECT by default as it results in crashes. Due to what is almost certainly a kernel bug, writes with O_DIRECT may continue to reference the page after the write has been marked as completed, particularly in the case of TCP retransmit. In other scenarios, this "merely" risks data corruption on the write, but with Xen pages from domU are only transiently mapped into dom0's memory, resulting in kernel panics when they are subsequently accessed. This brings PV devices in line with emulated devices. Removing O_DIRECT is safe as barrier operations are now correctly passed through. See: http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html for more details. Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 86f425db3b1c4b6c4a2927eaec35627f9ab2e703 Author: Alex Bligh <alex@xxxxxxxxxxx> Date: Fri Apr 5 15:45:10 2013 +0000 Xen PV backend: Move call to bdrv_new from blk_init to blk_connect This commit delays the point at which bdrv_new (and hence blk_open on the underlying device) is called from blk_init to blk_connect. This ensures that in an inbound live migrate, the block device is not opened until it has been closed at the other end. This is in preparation for supporting devices with open/close consistency without using O_DIRECT. This commit does NOT itself change O_DIRECT semantics. Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit d8d24fb78cf21205bf672d85231712dc1f0bbb39 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:18:00 2013 +0100 pflash_cfi01: Implement migration support Add a vmstate to pflash_cfi01, so that it can be live migrated. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363717469-30980-3-git-send-email-peter.maydell@xxxxxxxxxx commit 5d79b80b335c5f65f148d1bb1672d9d534ace73b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:18:00 2013 +0100 pflash_cfi01: Drop unused 'bypass' field For pflash_cfi01 the 'bypass' field is set to zero and never changes, so remove it (it is a leftover from pflash_cfi02, where bypass is implemented). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363717469-30980-2-git-send-email-peter.maydell@xxxxxxxxxx commit 2e19a7035a8e721f32610c8d22223ab748c4232f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:18:00 2013 +0100 hw/arm_gic_common: Use vmstate struct rather than save/load functions Update the GIC save/restore to use vmstate rather than hand-rolled save/load functions. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 1363975375-3166-4-git-send-email-peter.maydell@xxxxxxxxxx commit c3037774be5329e584d4d709b9df7e1799bba215 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 arm_gic: Fix sizes of state fields in preparation for vmstate support In preparation for switching to vmstate for migration support, fix the sizes of various GIC state fields. In particular, we replace all the bitfields (which VMState can't deal with) with straightforward uint8_t values which we do bit operations on. (The bitfields made more sense when NCPU was set differently in different situations, but we now always model at the architectural limit of 8.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363975375-3166-3-git-send-email-peter.maydell@xxxxxxxxxx commit bd7f92e59e7f40ddaeda40e55f7818c8121ecf1a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 vmstate: Add support for two dimensional arrays Add support for migrating two dimensional arrays, by defining a set of new macros VMSTATE_*_2DARRAY paralleling the existing VMSTATE_*_ARRAY macros. 2D arrays are handled the same for actual state serialization; the only difference is that the type check has to change for a 2D array. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 1363975375-3166-2-git-send-email-peter.maydell@xxxxxxxxxx commit b79269b78d0182fa7f4e23b779010145d0b4eaea Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 hw/onenand.c: fix migration of dynamically allocated buffer "otp" VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state, not for buffers allocated dynamically. Change to VMSTATE_BUFFER_POINTER_UNSAFE macro, which will do migration right. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1362923278-4080-4-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5f00679ee98b1643ff652bbf982dffe1b432596e Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 hw/sd.c: fix migration of dynamically allocated buffer "buf" VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state, not for buffers allocated dynamically. Change to VMSTATE_BUFFER_POINTER_UNSAFE macro, which will do migration right. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Michael Walle <michael@xxxxxxxx> Message-id: 1362923278-4080-3-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8070568b9aa8d93b3729ab7e9ca0ef8a6351d2bd Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro Macro could be used to migrate a dynamically allocated buffer of known size. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1362923278-4080-2-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 28092a23e6e2cb8298c1381f4f046842ffd376eb Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 hw/arm_mptimer: Save the timer state Add a missing VMSTATE_TIMER() entry to the arm_mptimer vmstate description; this omission meant that we would probably hang on reload when the timer failed to fire. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1363967348-3044-1-git-send-email-peter.maydell@xxxxxxxxxx commit e8945b4f2a65fc2872cc31a5141e136fd27d0af8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 pl050: Don't send always-constant is_mouse field The is_mouse field of the pl050 state structure is constant (it tracks whether this is a 'pl050_keyboard' or 'pl050_mouse'), so there's no need to include it in the VMState structure. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363628480-29306-1-git-send-email-peter.maydell@xxxxxxxxxx commit 591f73f642a5f3c822c3efaae8d83a174371a4f5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 hw/arm/nseries: don't print to stdout or stderr Remove various bits of printing to stdout or stderr from the nseries code, replacing it with a qemu log message where there's an appropriate log category, and just dropping the output for some of the more debug-like printing. In particular, this will get rid of the 'mipid_reset' message you currently get from 'make check'. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363368565-24546-1-git-send-email-peter.maydell@xxxxxxxxxx commit 150a470b64c548b7539ea47526f345f15ebac355 Merge: d05ef16... 4bf0bb8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 08:55:14 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino # Via Luiz Capitulino * luiz/queue/qmp: chardev: drop the Memory chardev driver hmp: human-monitor-command: stop using the Memory chardev driver Monitor: Make output buffer dynamic qstring: add qstring_get_length() commit f1922e36e267eae0c9d70e8660830e081878bdfc Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 4 11:04:12 2013 +1000 xilinx_zynq: Cleanup ssi_create_slave With the recent m25p80 cleanup there is no need to use ssi_create_slave_no_init() anymore. Just use ssi_create_slave(). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e641080fdc1e81290564e1e9ec4fe7637011fa82 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 4 11:04:11 2013 +1000 petalogix_ml605_mmu: Cleanup ssi_create_slave() With the recent m25p80 cleanup there is no need to use ssi_create_slave_no_init() anymore. Just use ssi_create_slave(). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5b90a86629dcc075be294524696e6199266f72ad Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Mar 30 10:03:25 2013 -0700 target-s390: Fix SRNMT Fallthough into abort = oops. Cc: qemu-trivial@xxxxxxxxxx Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4bf0bb8014ac2ac61b1004f5d92b2a4594d48017 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Apr 2 15:29:29 2013 -0400 chardev: drop the Memory chardev driver It's not used anymore since the last commit. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 48c043d0d1835c64b571c484a9f229fe6d220287 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Apr 2 15:07:33 2013 -0400 hmp: human-monitor-command: stop using the Memory chardev driver The Memory chardev driver was added because, as the Monitor's output buffer was static, we needed a way to accumulate the output of an HMP commmand when ran by human-monitor-command. However, the Monitor's output buffer is now dynamic, so it's possible for the human-monitor-command to use it instead of the Memory chardev driver. This commit does that change, but there are two important observations about it: 1. We need a way to signal to the Monitor that it shouldn't call chardev functions when flushing its output. This is done by adding a new flag to the Monitor object called skip_flush (which is set to true by qmp_human_monitor_command()) 2. The current code has buffered semantics: QMP clients will only see a command's output if it flushes its output with a new-line character. This commit changes this to unbuffered, which means that QMP clients will see a command's output whenever the command prints anything. I don't think this will matter in practice though, as I believe all HMP commands print the new-line character anyway. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e1f2641b5926d20f63d36f0de45206be774da8da Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Mar 25 13:52:26 2013 -0400 Monitor: Make output buffer dynamic Commit f628926bb423fa8a7e0b114511400ea9df38b76a changed monitor_flush() to retry on qemu_chr_fe_write() errors. However, the Monitor's output buffer can keep growing while the retry is not issued and this can cause the buffer to overflow. To reproduce this issue, just start qemu and type on the Monitor: (qemu) ? This will cause an assertion to trig. To fix this problem this commit makes the Monitor buffer dynamic, which means that it can grow as much as needed. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 54d49ac99227aff646ac940abfab3417f5cb1693 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Mar 25 13:46:37 2013 -0400 qstring: add qstring_get_length() Long overdue. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit abe20840166e6f04d3ab60f8d53a2ff5907bd942 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Mar 28 14:33:24 2013 +0000 linux-user: Don't omit comma for strace of rt_sigaction() Pass the 'last' parameter of print_signal() through to print_raw_param(); this fixes a problem where we weren't printing the comma separator for strace of rt_sigaction() when the signal was an unnamed (ie realtime) one: 6856 rt_sigaction(230xf6fff870,0xf6fff8fc) = 0 Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2bd01ac1e238c76e201ba21f314cec46437d2c5a Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 28 11:18:40 2013 -0400 test-visitor-serialization: Fix some memory leaks This patch fixes some of the memory leaks in test-visitor-serialization but not all of them. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d05ef160453e98546a4197496dc8a3cb2defac53 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Thu Apr 4 20:37:53 2013 -0400 Allow clock_gettime() monotonic clock to be utilized on more OS's Allow the clock_gettime() code using monotonic clock to be utilized on more POSIX compliannt OS's. This started as a fix for OpenBSD which was listed in one function as part of the previous hard coded list of OS's for the functions to support but not in the other. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 20130405003748.GH884@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c5a98cf333997616147a161ef4e4cf71bb9bd00a Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:22 2013 +0100 pc_acpi_init(): don't bail as soon as failing to find default DSDT Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-11-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3a4a4697aacdd58b77f8bca6f2c0ce307b213506 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:21 2013 +0100 Introduce IO_APIC_DEFAULT_ADDRESS for 0xfec00000 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-10-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dab8623430926a8c55a149c22b2b8e2edb786ae3 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:20 2013 +0100 extract/unify the constant 0xfee00000 as APIC_DEFAULT_ADDRESS A common dependency of the constant's current users: - hw/apic_common.c - hw/i386/kvmvapic.c - target-i386/cpu.c is "target-i386/cpu.h". Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-9-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 23084327dc5c2f42e8a1c3e39ec565e344c7f52e Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:19 2013 +0100 like acpi_table_install(), acpi_table_add() should propagate Errors Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-8-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e980f2bf0a39cb524259bb70084e0f75b92c8f39 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:18 2013 +0100 acpi_table_add(): extract and reimplement internals The new function acpi_table_install() installs any blob the caller passes in. In the next patches this function will be promoted from helper role to extern. Reimplementing the logic should make it easier to understand. It also removes a buffer overflow when has_header && cumulative_file_size < ACPI_TABLE_HDR_SIZE - ACPI_TABLE_PFX_SIZE (In that case the g_realloc() call in the read() loop used to shrink the "acpi_tables" array, causing an out-of-bounds read access when copying the header out of "acpi_tables".) The new code isn't more daring alignment-wise than its predecessor: "acpi_table_header" is packed, and the uint32_t fields are at offsets 6, 26, and 34. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-7-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0c764a9dfc0d480c21f325480aa2e69581841858 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:17 2013 +0100 acpi_table_add(): accept QemuOpts and parse it with OptsVisitor As one consequence, strtok() -- which modifies its argument -- is replaced with g_strsplit(). Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-6-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8ccbad5c7b61c46c1b69b8089b8965cd69c0a8de Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:16 2013 +0100 qapi schema: add AcpiTableOptions Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-5-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 445d9cae371960671c1d762330d0d498c352dd3c Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:15 2013 +0100 acpi_table_add(): report fatal errors through an internal Error object The upcoming changes will need a cleanup section at the end of the function, plus OptsVisitor reports errors via Error. For now keep channeling any Errors to stderr. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-4-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cb88a4ea79193cdbfb9b27bf9deb36c88ec9b6dc Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:14 2013 +0100 change element type from "char" to "unsigned char" in ACPI table data The data is binary, not textual. Also, acpi_table_add() abuses the "char *f" pointer -- which normally points to file names to load -- to poke into the table. Introduce "char unsigned *table_start" for that purpose. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-3-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4d8b3c6302fe50e9192854d8affda883e078fd4d Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:13 2013 +0100 strip some whitespace Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-2-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9936159ff601562a7bb16b5b9c7713e6cec9559 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 27 20:29:41 2013 +0100 ipoctal232: Convert to use chardev properties directly Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx> Message-id: 1364412581-3672-4-git-send-email-hdegoede@xxxxxxxxxx Cc: Alberto Garcia <agarcia@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 456d60692310e7ac25cf822cc1e98192ad636ece Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 27 20:29:40 2013 +0100 qemu-char: Call fe_claim / fe_release when not using qdev chr properties chardev-frontends need to explictly check, increase and decrement the avail_connections "property" of the chardev when they are not using a qdev-chardev-property for the chardev. This fixes things like: qemu-kvm -chardev stdio,id=foo -device isa-serial,chardev=foo \ -mon chardev=foo Working, where they should fail. Most of the changes here are due to old hardware emulation code which is using serial_hds directly rather then a qdev-chardev-property. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364412581-3672-3-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44c473decd4de5559487430f876de53c607b1e9d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 27 20:29:39 2013 +0100 qemu-char: Add qemu_chr_fe_claim / _release helper functions Add qemu_chr_fe_claim / _release helper functions for properly dealing with avail_connections. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364412581-3672-2-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4dbb9ed3263e0f48282a2fc3d05099ba63e5b0e2 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Apr 3 14:04:09 2013 +1000 xilinx_axienet: pump events as appropriate When the conditions blocking receiving are cleared, check for buffered rx packets. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit bd4a47330ed5b9661205dd4ac2023e452b856bf9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 2 11:28:25 2013 +0200 po: Update German translation Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a23da65924fffc6390f74e75afd33f5300091b4e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 2 11:28:24 2013 +0200 po/Makefile: Fix dependency for %.mo Otherwise make will refuse to build updated .po files. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ec3960148f95dd90e94511a6a64838bc3f474bcc Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Feb 22 22:57:52 2013 +0800 help: add docs for missing 'queues' option of tap Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1361545072-30426-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 560e63965232e37d1916a447125cf91c18a96930 Author: Bruce Rogers <brogers@xxxxxxxx> Date: Tue Apr 2 12:41:40 2013 -0600 acpi: initialize s4_val used in s4 shutdown While investigating why a 32 bit Windows 2003 guest wasn't able to successfully perform a shutdown /h, it was discovered that commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 inadvertently dropped the initialization of the s4_val used to handle s4 shutdown. Initialize the value as before. Signed-off-by: Bruce Rogers <brogers@xxxxxxxx> Message-id: 1364928100-487-1-git-send-email-brogers@xxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a509d632c877f7b5fa07368879b8ae5919a6d345 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Apr 2 17:48:12 2013 -0300 target-i386: Check for host features before filter_features_for_kvm() commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f broke "-cpu ..,enforce", as it has moved kvm_check_features_against_host() after the filter_features_for_kvm() call. filter_features_for_kvm() removes all features not supported by the host, so this effectively made kvm_check_features_against_host() impossible to fail. This patch changes the call so we check for host feature support before filtering the feature bits. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Message-id: 1364935692-24004-1-git-send-email-ehabkost@xxxxxxxxxx Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8243b0464b247ff460178a15f1fe306ef9c70b49 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Apr 2 22:14:51 2013 +0200 tpm: Fix several compiler warnings (redefined data types) Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1364933691-21197-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eabb21aac9665097676b97fa3e053ae2982eba1e Merge: 162cbbd... 044d4e1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Apr 3 15:05:52 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-2013-04-03' into staging # By Hanweidong (1) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-2013-04-03: xen-mapcache: pass the right size argument to test_bits xen-mapcache: replace last_address_index with a last_entry pointer commit 044d4e1aae539bd4214175bd9591b3de7986cf18 Author: Hanweidong <hanweidong@xxxxxxxxxx> Date: Tue Apr 2 13:22:41 2013 +0000 xen-mapcache: pass the right size argument to test_bits Compute the correct size for test_bits(). qemu_get_ram_ptr() and qemu_safe_ram_ptr() will call xen_map_cache() with size is 0 if the requested address is in the RAM. Then xen_map_cache() will pass the size 0 to test_bits() for checking if the corresponding pfn was mapped in cache. But test_bits() will always return 1 when size is 0 without any bit testing. Actually, for this case, test_bits should check one bit. So this patch introduced a __test_bit_size which is greater than 0 and a multiple of XC_PAGE_SIZE, then test_bits can work correctly with __test_bit_size >> XC_PAGE_SHIFT as its size. Signed-off-by: Zhenguo Wang <wangzhenguo@xxxxxxxxxx> Signed-off-by: Weidong Han <hanweidong@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit e2deee3ea6136b6189e8cfd26379420b9a398d96 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Apr 2 13:23:40 2013 +0000 xen-mapcache: replace last_address_index with a last_entry pointer Replace last_address_index and last_address_vaddr with a single pointer to the last MapCacheEntry used. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit aa1c9e971e80d25b92908dce3dec7c38b49480ea Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 2 19:15:05 2013 +0200 usb-tablet: Don't claim wakeup capability for USB-2 version Our ehci code does not implement wakeup support, so claiming support for it with usb-tablet in USB-2 mode causes all tablet events to get lost. http://bugzilla.redhat.com/show_bug.cgi?id=929068 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f9618633a86cc74b33f178f05154d4edbc08c0fc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Apr 2 12:15:24 2013 +0200 usb: update docs for bus name change At some point the default usb bus name changed from 'usb.0' to 'usb-bus.0' (probably as part of the qom conversion). Update the usb documentation accordingly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a309ee6e0a256f690760abfba44fceaa52a7c2f3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 12:40:11 2013 +0100 usb-hub: report status changes only once Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c24e4aac3bd7dd6591e26b77985e5d3915ecbe4b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 11:40:02 2013 +0100 usb-hub: limit chain length USB supports up to 5 hubs chained. Catch attempts to chain more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4b7b2afae773f00c785724261079ef211fd6021b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 21 10:55:53 2013 +0100 xhci: zap unused name field Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0ab966cfcc7000baa2e7ef6df7771e73a2eb8a88 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 12:49:42 2013 +0100 xhci: remove unimplemented printfs Replace them with a tracepoint, so they don't spam stderr by default. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 61803996def82a05d8634dd9087f1712d04863fc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 11:42:51 2013 +0100 xhci: remove leftover debug printf Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c94a7c6979cafa7a71f32b35e0ff71ed00c61a89 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 09:18:20 2013 +0100 xhci: fix numintrs sanity checks Make sure numintrs is a power of two, msi requires this. https://bugzilla.redhat.com/show_bug.cgi?id=918035 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c874ea97b9d0d079e9d65ef033b95afef0ed6532 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 19 14:54:38 2013 +0100 usb-redir: Add flow control support Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3713e1485e6eace7d48b9c790602cfd92c616e5f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Mar 15 11:52:37 2013 +0100 usb-redir: Fix crash on migration with no client connected If no client is connected on the src side, then we won't receive a parser during migrate, in this case usbredir_post_load() should be a nop, rather then to try to derefefence the NULL dev->parser pointer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 162cbbd1736de2bca43fdefa7e98c54a361ee60d Merge: 9d4563c... 9b938c7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 2 14:07:35 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Stefan Hajnoczi # Via Luiz Capitulino * luiz/queue/qmp: chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors qemu-socket: set passed fd non-blocking in socket_connect() net: ensure "socket" backend uses non-blocking fds oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() commit 9d4563c415683e4d06c84a46e8d178a680fdcb7b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 2 17:57:56 2013 +0200 configure: remove unset variables These variables have not been set for a long time. Do not include them in config-host.mak. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364918276-11866-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9b938c7262e403f5467110609cb20ef1ae6e9df2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:46 2013 +0100 chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors When we receive a file descriptor over a UNIX domain socket the O_NONBLOCK flag is preserved. Clear the O_NONBLOCK flag and rely on QEMU file descriptor users like migration, SPICE, VNC, block layer, and others to set non-blocking only when necessary. This change ensures we don't accidentally expose O_NONBLOCK in the QMP API. QMP clients should not need to get the non-blocking state "correct". A recent real-world example was when libvirt passed a non-blocking TCP socket for migration where we expected a blocking socket. The source QEMU produced a corrupted migration stream since its code did not cope with non-blocking sockets. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 1a751ebfbb2d7a696b889d8208cb5ffc83c090b1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:45 2013 +0100 qemu-socket: set passed fd non-blocking in socket_connect() socket_connect() sets non-blocking on TCP or UNIX domain sockets if a callback function is passed. Do the same for file descriptor passing, otherwise we could unexpectedly be using a blocking file descriptor. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit fc13fa00eaff6797c67abc9b0f748b346f238986 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:44 2013 +0100 net: ensure "socket" backend uses non-blocking fds There are several code paths in net_init_socket() depending on how the socket is created: file descriptor passing, UDP multicast, TCP, or UDP. Some of these support both listen and connect. Not all code paths set the socket to non-blocking. This patch addresses the file descriptor passing and UDP cases which were missing socket_set_nonblock(fd) calls. I considered moving socket_set_nonblock(fd) to a central location but it turns out the code paths are different enough to require non-blocking at different places. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit f9e8cacc5557e4372401da74141f833fcacda038 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:43 2013 +0100 oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets. Rename to qemu_set_nonblock() just like qemu_set_cloexec(). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit ce7f7cc2715145eadf1ac45a5dae63f535fc8bbf Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Mar 22 16:31:07 2013 -0400 qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows Today we reset fd_counter if it wraps, but it's better to abort() instead, as fd_counter should never reach INT64_MAX. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> *fixed typo: s/resonable/reasonable/ Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9481ecd737b91d507baf347287c62efe6760784f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Fri Mar 15 19:07:51 2013 +0100 qga schema: document generic QERR_UNSUPPORTED Part of the wording was shamelessly stolen from Michael Roth's email. Suggested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c964c9e0985e71527bac47c8351008c3dc18c1b8 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Fri Mar 15 19:07:50 2013 +0100 qga schema: mark optional GuestLogicalProcessor.can-offline with #optional Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b8f954fea019801370954fe85c32df49edf6397d Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 15 17:29:05 2013 +0800 qga: add windows implementation for guest-set-time Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 3f2a6087de291dc96a2c4975139da27649cf32ff Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 15 17:29:04 2013 +0800 qga: add windows implementation for guest-get-time Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c707582b78d01d81fe4e470fd812334be145882d Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 26 10:24:06 2013 +0800 VMXNET3: initialize rx_ridx to eliminate compile warning Gcc report "hw/vmxnet3.c:972: error: â??rx_ridxâ?? may be used uninitialized in this function", so fix it. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Message-id: 1364264646-27542-1-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1ee58290d7cc2c6b1231fd701987c1753ad9ae3 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Mar 27 11:36:14 2013 -0500 qdev: only send deleted event if device was realized Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364402174-16580-1-git-send-email-aliguori@xxxxxxxxxx commit 8f0605cc9caacbcc647a6df9ae541ed2da4b9bb0 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 28 07:26:21 2013 -0400 QOM-ify the TPM support QOM-ified the TPM support with much code borrowed from the rng implementation. All other TPM related code moves will be provided in a subsequent patch. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Message-id: 1364469981.24703.1.camel@d941e-10 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 684a096eafbe37ab6c9a1fdb5e0185f04098b166 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 29 11:39:50 2013 -0500 qemu-char: rewrite io_channel_send_all and drop the '_all' suffix The current code is oddly written and have equally odd semantics. Despite the '_all' suffix, upon EAGAIN the result will be a partial write but instead of returning the partial write, we return EAGAIN. Change the behavior to write as much as we can until we get an EAGAIN returning a partial write if we do. Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364575190-731-1-git-send-email-aliguori@xxxxxxxxxx commit d819cdccffe08f6e12b4c2dec8f4aa381f0cd687 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Mar 30 15:21:40 2013 +0100 ui/gtk: Set QEMU window icon The QEMU icon which is already used for SDL is now also loaded by GTK. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1364653300-26813-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 77cfd14c9f5742136e7968aee5c305e50b8891ac Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:06 2013 +0200 po: add French translation Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-6-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9b6926e4e3cc102fb434fd16917a1044119eadd3 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:05 2013 +0200 po: update existing translation files Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-5-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1b33b354b43c8a3cc176bd4d7a021a1eac423ebc Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:04 2013 +0200 po/Makefile: correctly pass QEMU version Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-4-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f84756554e32d97db3aa949db1dd58c7eea62375 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:03 2013 +0200 po/Makefile: simplify In the hope we get more translations, we should not have to modify po/Makefile for each of them. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-3-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d8da9ee847799b8d7de4679d4de17d66d4dedb56 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:02 2013 +0200 gtk: make more messages translatable Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-2-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4690579e9bafa0a2a49d7b12dae905279a552cd6 Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed Mar 20 18:16:34 2013 +0800 append the terminating '\0' to bootorder string Problem was introduced in commit c8a6ae8b. The last terminating '\0' was lost, use the right length 5 ("HALT\0"). Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1363774594-21001-1-git-send-email-akong@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a130c6b2b1b9c45836a51e90c847baedcb3125d3 Merge: 5d45de9... 6dcfdba... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 2 08:12:16 2013 -0500 Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20130401.0' into staging vfio-pci pull request 20130401 # gpg: Signature made Mon 01 Apr 2013 02:40:45 PM CDT using RSA key ID 3BB08B22 # gpg: Can't check signature: public key not found # By Alex Williamson # Via Alex Williamson * awilliam/tags/vfio-pci-for-qemu-20130401.0: vfio: cleanup includes vfio: Add bootindex support vfio-pci: Move devices to D0 on reset vfio-pci: Add extra debugging qemu vfio-pci: Graphics device quirks qemu vfio-pci: Add support for VGA MMIO and I/O port access vfio-pci: Add PCIe capability mangling based on bus type vfio-pci: Generalize PCI config mangling linux-headers: Update to v3.9-rc2 commit 5d45de9796539f95eb6b1201588362981f8cb2d4 Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Date: Thu Mar 28 22:59:03 2013 +0100 microblaze: Add support for the sleep insn Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> commit 6dcfdbad69aa510bc87b4a2585a597e028ca4eaa Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:35:40 2013 -0600 vfio: cleanup includes Starting to get messy, put the back in alphabetical order. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit c29029dd8829827ef8af3a6fb18f9df929ffc6b7 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:35:24 2013 -0600 vfio: Add bootindex support Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit ba66181828a5e5b0bbc117c4e999ca559a87456e Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:35:08 2013 -0600 vfio-pci: Move devices to D0 on reset Guests may leave devices in a low power state at reboot, but we expect devices to be woken up for the next boot. Make this happen. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 82ca891283a08cddd659b534592fe00f2159bc74 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:34:56 2013 -0600 vfio-pci: Add extra debugging Often when debugging it's useful to be able to disable bypass paths so no interactions with the device are missed. Add some extra debug options to do this. Also add device info on read/write BAR accesses, which is useful when debugging more than one assigned device. A couple DPRINTFs also had redundant "vfio:" prefixes. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 7076eabcbf38d514ecd47c8190d3d162573ceacc Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:34:40 2013 -0600 qemu vfio-pci: Graphics device quirks Graphics cards have a number of different backdoors. Some of these are alternative ways to get PCI BAR addresses, some of them are complete mirrors of PCI config space available through MMIO and I/O port access. These quirks cover a number of ATI Radeon and Nvidia devices. On the ATI/AMD side, this should enable HD5450 and HD7850 and hopefully a host of devices around those generations. For Nvidia, my card selection is much more dated. A 8400gs works well with both the Window shipped driver and the Nvidia downloaded driver. A 7300le works as well, with the caveat that generating the Window experience index with the Nvidia driver causes the card to reset several times before generating a BSOD. An NVS 290 card seems to run well with the shipped Windows driver, but generates a BSOD with the Nvidia driver. All of the Nvidia devices work with the Linux Nvidia proprietary driver and nouveau, the HD5450 works with either radeon or fglrx, HD7850 works with vesa and fglrx (not supported by radeon). Extremely limited 3D testing. Device reset is also an issue with graphics. It's unfortunately very common that the devices offer no means to reset the card or doesn't seem effective. Nvidia devices are pretty good about being able to get the device to a working state through the VGA BIOS init, Radeon devices less so, and often require a host reboot. Work remains to be done here. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit f15689c7e4422d5453ae45628df5b83a53e518ed Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:33:44 2013 -0600 qemu vfio-pci: Add support for VGA MMIO and I/O port access Most VGA cards need some kind of quirk to fully operate since they hide backdoors to get to other registers outside of PCI config space within the registers, but this provides the base infrastructure. If we could identity map PCI resources for assigned devices we would need a lot fewer quirks. To enable this, use a kernel side vfio-pci driver that incorporates VGA support (v3.9), and use the -vga none option and add the x-vga=on option for the vfio-pci device. The "x-" denotes this as an experimental feature. You may also need to use a cached copy of the VGA BIOS for your device, passing it to vfio-pci using the romfile= option. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 96adc5c7c2178d02f0db2db368ba3e4aacef931a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 11:50:04 2013 -0600 vfio-pci: Add PCIe capability mangling based on bus type Windows seems to pay particular interest to the PCIe header type of devices and will fail to load drivers if we attach Endpoint devices or Legacy Endpoint devices to the Root Complex. We can use pci_bus_is_express and pci_bus_is_root to determine the bus type and mangle the type appropriately: * Legacy PCI * No change, capability is unmodified for compatibility. * PCI Express * Integrated Root Complex Endpoint -> Endpoint * PCI Express Root Complex * Endpoint -> Integrated Root Complex Endpoint * Legacy Endpoint -> none, capability hidden We also take this opportunity to explicitly limit supported devices to Endpoints, Legacy Endpoints, and Root Complex Integrated Endpoints. We don't currently have support for other types and users often cause themselves problems by assigning them. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 4b5d5e87c7ab2e979a2cad6c8e01bcae55b85f1c Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 11:50:04 2013 -0600 vfio-pci: Generalize PCI config mangling Kernel-side vfio virtualizes all of config space, but some parts are unique to Qemu. For instance we may or may not expose the ROM BAR, Qemu manages MSI/MSIX, and Qemu manages the multi-function bit so that single function devices can appear as multi-function and vica versa. Generalize this into a bitmap of Qemu emulated bits. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 010ca0b3fb9bebd6ad53c1db0266dd7b39f700c7 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 11:50:04 2013 -0600 linux-headers: Update to v3.9-rc2 Unedited scripts/update-linux-headers.sh run against v3.9-rc2 tag Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 174d4d215fb49b4d43196e62f22c2533431b260e Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 24 01:52:07 2013 +0100 tcg/mips: Implement muls2_i32 Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c334a3880c02d1d8299ed54057e3fffd99ad2048 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: SSE4.2: use clz32/ctz32 instead of reinventing the wheel Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 83f7dc28ca7cb422f88caf3923bf078abb4e4dea Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: enable SSE4.1 and SSE4.2 in TCG mode Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e4eba27e29114842978234a44c92b2a945a6b46d Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions with "Masked(-)" polarity valids can equals to -1 if the reg/mem string is empty. Change the expression to have an empty xor mask in that case. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 75c9527e190231fbc2fd8470e132f360e70206be Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal ordered" mode The inner loop should only change the current bit of the result, instead of the whole result. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit b27a6cacb73ca006c6995ca5c3db7347333ba7f4 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal each" mode pcmpXstrX instructions in "Equal each" mode force both invalid element pair to true. It means (upper - MAX(valids, validd)) bits should be set to 1, not (upper - MAX(valids, validd) + 1). Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 649ad05ed4133d3a48d43881aa9351c024d9cdc1 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions in "Ranges" mode Fix the order of the of the comparisons to match the "Intel 64 and IA-32 Architectures Software Developer's Manual". Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2b8d7e9d728fe2b7c8ffb9859368fb2b5c0bf833 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstrm instructions pcmpXstrm instructions returns their result in the XMM0 register and not in the first operand. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 93e3c0ae69ae73d7f04ac378c5df6e98c7faa6dd Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstri instructions ffs1 returns the first bit set to one starting counting from the most significant bit. pcmpXstri returns the most significant bit set to one, starting counting from the least significant bit. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit da5156cd9a62274839d6fa685cc52614886cc722 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpgtq instruction The "Intel 64 and IA-32 Architectures Software Developer's Manual" (at least recent versions) clearly says that the comparison is signed. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 34c6addd4b22583e7b408c0d1452eab753cbfb62 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.1: fix pinsrb instruction gen_op_mov_TN_reg() loads the value in cpu_T[0], so this temporary should be used instead of cpu_tmp0. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c7b4c36714a442ae5abd26de293cb5e967be6e12 Merge: e63d28d7... b0d62a3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 1 10:36:09 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Dunrong Huang (1) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: hw/tcx: Remove unused 'addr' field and the property that sets it hw/i386/pc: format load_linux function configure: show debug-info option in --help output commit e63d28d7dbfcec81214aecc9ff0aaee46e87aa44 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:23 2013 +0000 sysbus: Remove sysbus_add_memory and sysbus_del_memory Remove the sysbus_add_memory and sysbus_del_memory functions. These are trivial wrappers for mapping a memory region into the system memory space, and have no users now. Sysbus devices should never map their own memory regions anyway; the correct API for mapping an mmio region is for the creator of the device to use sysbus_mmio_map. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363358063-23973-6-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c31bc98e3bcf52fe1cd4b9b7a70869330eae80ea Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Mar 28 18:43:04 2013 +0000 hw/milkymist-softusb: set buffer in softusb_read_{dmem, pmem} error path Make sure we set the buffer to something in the softusb_read_{dmem,pmem} error paths, since the caller will use the buffer unconditionally. (Newer gcc is smart enough to spot this and complain about 'may be used uninitialized'.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1364496184-11994-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c34e120554c31d45bdfbac08a5c1d9ef92a62020 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:22 2013 +0000 milkymist-softusb: Don't map RAM memory regions in the device itself Don't map the pmem and dmem RAM memory regions in the milkymist-softusb device itself. Instead just expose them as sysbus mmio regions which the device creator can map appropriately. This allows us to drop the pmem_base and dmem_base properties. Instead of going via cpu_physical_memory_read/_write when the device wants to access the RAMs, we just keep a host pointer to the memory and use that. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Message-id: 1363358063-23973-5-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 20cf850c6ac5bf1ef13de1da93a5c8b5ea28b304 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:21 2013 +0000 milkymist-minimac2: Just expose buffers as a sysbus mmio region Just expose the register buffers memory as a standard sysbus mmio region which the creator of the device can map, rather than providing a qdev property which the creator has to set to the base address and then doing the mapping in the device's own init function. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Message-id: 1363358063-23973-4-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a86f200aeb66a4f402b22241a5d8360f02bfc090 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:20 2013 +0000 musicpal: qdevify musicpal-misc Make musicpal-misc into its own (trivial) qdev device, so we can get rid of the abuse of sysbus_add_memory(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363358063-23973-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:19 2013 +0000 sysbus: make SysBusDeviceClass::init optional Make the SysBusDeviceClass::init optional, for devices which genuinely don't need to do anything here. In particular, simple devices which can do all their initialization in their instance_init method don't need either a DeviceClass::realize or SysBusDeviceClass::init method. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1363358063-23973-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5357406415571b3f03d05b60a143afdea2b9b1b9 Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Date: Sun Mar 31 09:35:53 2013 +0800 target-moxie: set do_interrupt to a target-specific helper function The value of "do_interrupt" member of CPUClass shoule be set to a target-specific function, or it will lead to a segfault like below: $ moxie-softmmu/qemu-system-moxie -M moxiesim Segmentation fault Cc: Anthony Green <green@xxxxxxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Cc: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Signed-of-by: Anthony Green <green@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5e3a0f418c4d57399778cee0b55aebfb663b6425 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Mar 29 18:20:20 2013 +0100 w32: Fix build with older gcc (unresolved symbol) The cross i586-mingw32msvc-gcc 4.4.4 from Debian Squeeze does not support __sync_val_compare_and_swap by default. Using -march=i686 fixes that and should also result in better code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e06335b9515f0508f33846e58b2028dfa4fc9983 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Mar 24 09:04:48 2013 +0100 target-moxie: Fix pointer-to-integer conversion (MinGW-w64) The type cast must use tcg_target_long instead of long. This makes a difference for hosts where sizeof(long) != sizeof(void *). Cc: Anthony Green <green@xxxxxxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9721215126a8ef46abd2e762efd6aa5ff6b92b9 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Feb 23 00:40:39 2013 +0000 piix_pci: Fix C99 comments Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361580039-4459-4-git-send-email-dwmw2@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d93a8a435cbd7f874ef71d4da5677c5f88d8435a Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Feb 23 00:40:38 2013 +0000 piix_pci: Use DEVICE() and ISA_BUS() Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361580039-4459-3-git-send-email-dwmw2@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 57a0f0c651a63d3e1e02d74e5c59d2648037b087 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Feb 23 00:40:37 2013 +0000 piix_pci: Clean up i440FX object handling Define and use I440FX_PCI_DEVICE() instead of using DO_UPCAST(). Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361580039-4459-2-git-send-email-dwmw2@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 226ecabfbd410c7b2041385ea4b6f083a09ce8a2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 22 17:57:48 2013 +0100 qemu-bridge-helper: force usage of a very high MAC address for the bridge Linux uses the lowest enslaved MAC address as the MAC address of the bridge. Set MAC address to a high value so that it does not affect the MAC address of the bridge. Changing the MAC address of the bridge could cause a few seconds of network downtime. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1363971468-21154-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2900af5969c8d54d48872cd707a4a0e71e6fa57e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:15 2013 +0100 virtio-balloon: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c96caced3ffd9e5a078f3f5b5d373a40faf7dc3a Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:14 2013 +0100 virtio-balloon: cleanup: QOM casts. As the virtio-balloon-pci is switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:13 2013 +0100 virtio-balloon: cleanup: init and exit function. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 30bff6a0f1d12742475a980708cfa82be56a881f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:12 2013 +0100 virtio-balloon-ccw: switch to the new API. Here the virtio-balloon-ccw is modified for the new API. The device virtio-balloon-ccw extends virtio-ccw-device as before. It creates and connects a virtio-balloon during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e378e88dfc2dec2a60a856dd478a4edfbc88efd0 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:11 2013 +0100 virtio-balloon-pci: switch to the new API. Here the virtio-balloon-pci is modified for the new API. The device virtio-balloon-pci extends virtio-pci. It creates and connects a virtio-balloon during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1ab461b534b34838d1b21c056ab37413f54fefa6 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:10 2013 +0100 virtio-balloon: add the virtio-balloon device. Create virtio-balloon which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fde245ca7ea790495db370cd260259595dbdf874 Merge: 837df37... 5d186eb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 28 12:57:37 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (22) and Peter Lieven (1) # Via Stefan Hajnoczi * stefanha/block: (23 commits) block: Fix direct use of protocols as driver for bdrv_open() qcow2: Gather clusters in a looping loop qcow2: Move cluster gathering to a non-looping loop qcow2: Allow requests with multiple l2metas qcow2: Use byte granularity in qcow2_alloc_cluster_offset() qcow2: Prepare handle_alloc/copied() for byte granularity qcow2: handle_copied(): Implement non-zero host_offset qcow2: handle_copied(): Get rid of keep_clusters parameter qcow2: handle_copied(): Get rid of nb_clusters parameter qcow2: Factor out handle_copied() qcow2: Clean up handle_alloc() qcow2: Finalise interface of handle_alloc() qcow2: handle_alloc(): Get rid of keep_clusters parameter qcow2: handle_alloc(): Get rid of nb_clusters parameter qcow2: Factor out handle_alloc() qcow2: Decouple cluster allocation from cluster reuse code qcow2: Change handle_dependency to byte granularity qcow2: Improve check for overlapping allocations qcow2: Handle dependencies earlier qcow2: Remove bogus unlock of s->lock ... commit 837df37e881e14ffdb05c2b912b2ad30b851c9d3 Merge: e280ff5... 7e86600... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 28 12:57:32 2013 -0500 Merge remote-tracking branch 'stefanha/tracing' into staging # By LluÃs Vilanova (7) and others # Via Stefan Hajnoczi * stefanha/tracing: vl: add runstate_set tracepoint .gitignore: rename trace/generated-tracers.dtrace .gitignore: add trace/generated-events.[ch] trace: rebuild generated-events.o when configuration changes trace: [stderr] Port to generic event information and new control interface trace: [simple] Port to generic event information and new control interface trace: [default] Port to generic event information and new control interface trace: [monitor] Use new event control interface trace: Provide a detailed event control interface trace: Provide a generic tracing event descriptor trace: [tracetool] Explicitly identify public backends commit 7e8660032cd21c1bdc4160b8fab7deec62e1aa12 Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Mar 22 17:26:59 2013 +0900 vl: add runstate_set tracepoint This patch enables us to know RunState transition. It will be userful for investigation when the trouble occured in special event such like live migration, shutdown, suspend, and so on. Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a46b24fd5dfd6814bafa65e51d8da86ce8eef7f5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Mar 8 16:10:12 2013 +0100 .gitignore: rename trace/generated-tracers.dtrace For a while the file was called trace/generated-tracers-dtrace.dtrace but today it's called trace/generated-tracers.dtrace. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 878e63e6c568d4eb147d1adde297325f3aa28c51 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Mar 8 16:10:11 2013 +0100 .gitignore: add trace/generated-events.[ch] Don't display autogenerated files in git-status(1). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a7373b1f61d106ef5c9710eb56e942f513dc512d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Mar 8 15:52:15 2013 +0100 trace: rebuild generated-events.o when configuration changes Make sure to rebuild generated-events.o when ./configure options change. This prevents linker errors when a stale generated-events.o gets linked with code compiled against fresh headers. For example, try building with ./configure --enable-trace-backend=stderr followed by ./configure --enable-trace-backend=dtrace. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c6f18b9195b4251f32b6ac8e149b449354c1c93b Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:48:00 2013 +0100 trace: [stderr] Port to generic event information and new control interface Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 60481e210d1f5f9e97d4d5db82b9afb8d3df7acf Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:55 2013 +0100 trace: [simple] Port to generic event information and new control interface The backend is forced to dump event numbers using 64 bits, as TraceEventID is an enum. Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fd068a953ccb54a00e7b1cf2d8961498c7d74bd4 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:49 2013 +0100 trace: [default] Port to generic event information and new control interface Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ca285c3fca7c3d2b77b133e82f7a3592ccc7f5d3 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:43 2013 +0100 trace: [monitor] Use new event control interface Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b1bae816c4c0743e37ee9e797a503610c34e3073 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:38 2013 +0100 trace: Provide a detailed event control interface This interface decouples event obtaining from interaction. Events can be obtained through three different methods: * identifier * name * simple wildcard pattern Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 45be2f5d0dcdd314cd0c70a11220e5e09a44d654 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:32 2013 +0100 trace: Provide a generic tracing event descriptor Uses tracetool to generate a backend-independent tracing event description (struct TraceEvent). The values for such structure are generated with the non-public "events" backend ("events-c" frontend). The generation of the defines to check if an event is statically enabled is also moved to the "events" backend ("events-h" frontend). Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 93fba1618ddbbef8bedd8d684cf356586c94bbb1 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:26 2013 +0100 trace: [tracetool] Explicitly identify public backends Public backends are those printed by "--list-backends" and thus considered valid by the configure script. Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5d186eb03eb37b257e29a4731ca484362d5fc4e4 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 27 17:28:18 2013 +0100 block: Fix direct use of protocols as driver for bdrv_open() bdrv_open_common() implements direct use of protocols by copying the pre-opened BlockDriverStates to bs using bdrv_swap(). It did however first set some fields in bs, which end up in file after the swap. When bdrv_open() destroys file, it appears to be open, and because it isn't, qemu could segfault while trying to close it. Reorder the operations to return immediately in such cases so that file is correctly detected as closed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ecdd5333ab9ed3f2b848066aaaef02c027b25e36 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 27 11:43:49 2013 +0100 qcow2: Gather clusters in a looping loop Instead of just checking once in exactly this order if there are dependendies, non-COW clusters and new allocation, this starts looping around these. This way we can, for example, gather non-COW clusters after new allocations as long as the host cluster offsets stay contiguous. Once handle_dependencies() is extended so that COW areas of in-flight allocations can be overwritten, this allows to continue with gathering other clusters (we wouldn't be able to do that without this change because we would have missed a possible second dependency in one of the next clusters). This means that in the typical sequential write case, we can combine the COW overwrite of one cluster with the allocation of the next cluster as soon as something like Delayed COW gets actually implemented. It is only by avoiding splitting requests this way that Delayed COW actually starts improving performance noticably. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c3b32d25620c26e26fd590c198ec6d9cf91da57 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:12 2013 +0100 qcow2: Move cluster gathering to a non-looping loop This patch is mainly to separate the indentation change from the semantic changes. All that really changes here is that everything moves into a while loop, all 'goto done' become 'break' and at the end of the loop a new 'break is inserted. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 88c6588c5165da1526f735ed850861c5b74670bd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:11 2013 +0100 qcow2: Allow requests with multiple l2metas Instead of expecting a single l2meta, have a list of them. This allows to still have a single I/O request for the guest data, even though multiple l2meta may be needed in order to describe both a COW overwrite and a new cluster allocation (typical sequential write case). Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 710c2496d8cecc92568d439a3cf9d5874b3a55e2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:10 2013 +0100 qcow2: Use byte granularity in qcow2_alloc_cluster_offset() This gets rid of the nb_clusters and keep_clusters and the associated complicated calculations. Just advance the number of bytes that have been processed and everything is fine. This patch advances the variables even after the last operation even though they aren't used any more afterwards to make things look more uniform. A later patch will turn the whole thing into a loop and then it actually starts making sense. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 411d62b04b4cd2d3a6cea310689dbafa2479bc28 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:09 2013 +0100 qcow2: Prepare handle_alloc/copied() for byte granularity This makes handle_alloc() and handle_copied() return byte-granularity host offsets instead of returning always the cluster start. This is required so that qcow2_alloc_cluster_offset() can stop aligning everything to cluster boundaries. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e62daaf67958e8274547ddac87cb0a177a869216 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:08 2013 +0100 qcow2: handle_copied(): Implement non-zero host_offset Look only for clusters that start at a given physical offset. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c53ede9f6d8f0de7939eea676c1398c4073ff35e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:07 2013 +0100 qcow2: handle_copied(): Get rid of keep_clusters parameter Now *bytes is used to return the length of the area that can be written to without performing an allocation or COW. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit acb0467f8df7e9dbc8bbcb9a2e1e8cfe17f79691 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:06 2013 +0100 qcow2: handle_copied(): Get rid of nb_clusters parameter handle_copied() uses its bytes parameter now to determine how many clusters it should try to find. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0af729ec007ea4d103a2e3f3fc5db522610a2290 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:05 2013 +0100 qcow2: Factor out handle_copied() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 83baa9a4719b42bc28d525fa28af643523cc2bf3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:04 2013 +0100 qcow2: Clean up handle_alloc() Things can be simplified a bit now. No semantic changes. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c37f4cd71d99b7658d238bd8399048fc6e506958 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:03 2013 +0100 qcow2: Finalise interface of handle_alloc() The interface works completely on a byte granularity now and duplicated parameters are removed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3b8e2e260c8cee63c9253718983a6682dc2771d7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:02 2013 +0100 qcow2: handle_alloc(): Get rid of keep_clusters parameter handle_alloc() is now called with the offset at which the actual new allocation starts instead of the offset at which the whole write request starts, part of which may already be processed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f5bc63509471299176066d5f63bb8ff2e15af279 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:01 2013 +0100 qcow2: handle_alloc(): Get rid of nb_clusters parameter We already communicate the same information in *bytes. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 10f0ed8b2f0d3e9f0476b6f00868dd13b524066a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:00 2013 +0100 qcow2: Factor out handle_alloc() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 037689d8969c493d39153fd920ad81e161b0d55c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:59 2013 +0100 qcow2: Decouple cluster allocation from cluster reuse code This moves some code that prepares the allocation of new clusters to where the actual allocation happens. This is the minimum required to be able to move it to a separate function in the next patch. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 65eb2e35c07632eb5d26f15a57461e321bacb883 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:58 2013 +0100 qcow2: Change handle_dependency to byte granularity This is a more precise description of what really constitutes a dependency. The behaviour doesn't change at this point because the COW area of the old request is still aligned to cluster boundaries and therefore an overlap is detected wheneven the requests touch any part of the same cluster. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d9d74f4177af59bec23baa480d640709f56df0aa Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:57 2013 +0100 qcow2: Improve check for overlapping allocations The old code detected an overlapping allocation even when the allocations didn't actually overlap, but were only adjacent. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 17a71e58238138c3f02be7e9f5dc8de5d72a9a9d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:56 2013 +0100 qcow2: Handle dependencies earlier Handling overlapping allocations isn't just a detail of cluster allocation. It is rather one of three ways to get the host cluster offset for a write request: 1. If a request overlaps an in-flight allocations, the cluster offset can be taken from there (this is what handle_dependencies will evolve into) or the request must just wait until the allocation has completed. Accessing the L2 is not valid in this case, it has outdated information. 2. Outside overlapping areas, check the clusters that can be written to as they are, with no COW involved. 3. If a COW is required, allocate new clusters Changing the code to reflect this doesn't change the behaviour because overlaps cannot exist for clusters that are kept in step 2. It does however make it easier for later patches to work on clusters that belong to an allocation that is still in flight. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ee6439e27d15c528fde6d9da1e4c238a23b6b7a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:55 2013 +0100 qcow2: Remove bogus unlock of s->lock The unlock wakes up the next coroutine, but the currently running coroutine will lock it again before it yields, so this doesn't make a lot of sense. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c349ca4bb2dbca53c15147d283ea9f6c94376c6c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:54 2013 +0100 qcow2: Fix "total clusters" number in bdrv_check This should be based on the virtual disk size, not on the size of the image. Interesting observation: With some VM state stored in the image file, percentages higher than 100% are possible, even though snapshots themselves are ignored. This is a qcow2 bug to be fixed another day: The VM state should be discarded in the active L2 tables after completing the snapshot creation. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6f74928192e8e8a16f64b6208171eb13af890bbc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:53 2013 +0100 qemu-iotests: More concurrent allocation scenarios Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 142c6b1a89c3af769fbab6a22f51eefa7a3b0330 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Mar 21 13:07:10 2013 +0100 vl.c: call bdrv_init_with_whitelist() before cmdline parsing commit 4d454574 "qemu-option: move standard option definitions out of qemu-config.c" broke support for commandline option groups that where registered during bdrv_init(). In particular support for -iscsi options was broken since that commit. Fix by moving the bdrv_init_with_whitelist() before command line argument parsing. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b0d62a3d8e1ea9eccd246829a03e2d23f0982431 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 26 12:35:09 2013 +0000 hw/tcx: Remove unused 'addr' field and the property that sets it Remove the 'addr' field from TCXState (since it is completely unused), also the qdev property which sets it. This seems to be a relic from many years past; devices don't need to know where they are mapped. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0f9d76e5a9a396a2209761265ba6d98ce89b6a32 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Mar 26 16:43:19 2013 +0800 hw/i386/pc: format load_linux function Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9941afdef4fc898ed1588468095d1e36574427a1 Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Date: Sun Mar 24 15:05:27 2013 +0800 configure: show debug-info option in --help output "--enable-debug-info" and "--disable-debug-info" were not shown in --help output. Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e280ff5e9159ed227a117339c1157143627cab96 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:08:03 2013 +0100 spice-qemu-char: Drop hackish vmc_register on spice_chr_write Now that the core takes care of fe_open tracking we no longer need this hack. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-12-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc6b815d9e34778aa7fbe785ecfa0b216c96f576 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 26 11:08:02 2013 +0100 virtio-serial: propagate guest_connected to the port on post_load When migrating a host with with a spice agent running the mouse becomes non operational after the migration due to the agent state being inconsistent between the guest and the client. After migration the spicevmc backend on the destination has never been notified of the (non 0) guest_connected state. Virtio-serial holds this state information and migrates it, this patch properly propagates this information to virtio-console and through that to interested chardev backends. rhbz #725965 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-11-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b2c1394af13b46a72cd27ff580cdd1d9bb1e8934 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:08:01 2013 +0100 virtio-serial: Consolidate guest_open/guest_close into set_guest_connected Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-10-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a59bcd31c91397f8c67b6902e7716d626c5070e6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:08:00 2013 +0100 qemu-char: add_handlers: Don't re-send the be_open event on unregister Resending the be_open event only is useful when a frontend is registering, not when it is unregistering. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-9-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 85d91e3295f3af21e4d4a19f1f6691c0bf2ed10c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:59 2013 +0100 qemu-char: Move incrementing of avail_connections to qdev-properties-system The decrement of avail_connections is done in qdev-properties-system move the increment there too for proper balancing of the calls. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-8-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 574b711a92db094a2d4e7ca707f3b34437a64246 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:58 2013 +0100 qemu-char: Consolidate guest_close/guest_open into a set_fe_open callback Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-7-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e25daa87ac98c9070365b42dcfc070e47fca934 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:57 2013 +0100 qemu-char: Cleanup: consolidate fe_open/fe_close into fe_set_open Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-6-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 190832289fe670f764fb277e4dcaf00f94ca6553 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:56 2013 +0100 qemu-char: Automatically do fe_open / fe_close on qemu_chr_add_handlers Most frontends can't really determine if the guest actually has the frontend side open. So lets automatically generate fe_open / fe_close as soon as a frontend becomes ready (as signalled by calling qemu_chr_add_handlers) / becomes non ready (as signalled by setting all handlers to NULL). And allow frontends which can actually determine if the guest is listening to opt-out of this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-5-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c0c4bd2cfae0fb83696000f1bfc355f22e2b41cb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:55 2013 +0100 qemu-char: Add fe_open tracking Add tracking of the fe_open state to struct CharDriverState. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-4-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fee204fd46016c168ca4d404d04e2c06b8b34770 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:54 2013 +0100 qemu-char: Rename qemu_chr_generic_open to qemu_chr_be_generic_open To better reflect that it is for handling a backend being opened. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-3-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 16665b943b23e953220df257e7e04e669aa384d5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:53 2013 +0100 qemu-char: Rename opened to be_open Rename the opened variable to be_open to reflect that it contains the opened state of the backend. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-2-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 99835e00849369bab726a4dc4ceed1f6f9ed967c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 14:34:32 2013 +0100 compiler: fix warning with GCC 4.8.0 GCC 4.8.0 introduces a new warning: block/qcow2-snapshot.c: In function 'qcow2_write_snapshotsâ??: block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253' locally defined but not used [-Werror=unused-local-typedefs] QEMU_BUILD_BUG_ON(offsetof(QCowHeader, snapshots_offset) != ^ cc1: all warnings being treated as errors (Caret diagnostics aren't perfect yet with macros... :)) Work around it with __attribute__((unused)). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364391272-1128-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 404e7a4f4af753bd2aef649adf79e7434fb6dc31 Merge: 18501ae... 6214e73... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 16:16:43 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,pci,qom Work by Alex to support VGA assignment, pci and virtio fixes by Stefan, Jason and myself, and a new qmp event for hotplug support by myself. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Alex Williamson (13) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: (23 commits) pcie: Add endpoint capability initialization wrapper roms: switch oldnoconfig to olddefconfig pcie: Mangle types to match topology pci: Create and use API to determine root buses pci: Create pci_bus_is_express helper pci: Q35, Root Ports, and Switches create PCI Express buses pci: Allow PCI bus creation interfaces to specify the type of bus pci: Move PCI and PCIE type defines pci: Create and register a new PCI Express TypeInfo exec: assert that RAMBlock size is non-zero pci: refuse empty ROM files pci_bridge: Remove duplicate IRQ swizzle function pci_bridge: Use a default map_irq function pci: Fix INTx routing notifier recursion pci_bridge: drop formatting from source pci_bridge: factor out common code pci: Teach PCI Bridges about VGA routing pci: Add PCI VGA helpers virtio-pci: guest notifier mask without non-irqfd virtio-net: remove layout assumptions for mq ctrl ... commit 6214e73cc5b75a4f8d89a70d71727edfa47a81b3 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Mar 19 12:11:24 2013 -0600 pcie: Add endpoint capability initialization wrapper Fix the awkward API of mangling the caller specified PCIe type and just provide an interface to initialize an endpoint device. This will pick either a regular endpoint or integrated endpoint based on the bus and return pcie_cap_init to doing exactly what is asked. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Mar 21 14:04:21 2013 +0200 roms: switch oldnoconfig to olddefconfig When a new option is added that qemu does not know about, the prudent thing is to use the default not force it to "no". Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit eb28cb1bb0cb156aef7e613395af403bba0e7f30 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:35 2013 -0600 pcie: Mangle types to match topology Windows will fail to start drivers for devices with an Endpoint type PCIe capability attached to a Root Complex (code 10 - Device cannot start). The proper type for such a device is Root Complex Integrated Endpoint. Devices don't care which they are, so do this conversion automatically. This allows the Windows driver to load for nec-usb-xhci when attached to pcie.0 of a q35 machine. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0889464a5050c25611d08ca33d8447796c88c7f7 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:29 2013 -0600 pci: Create and use API to determine root buses Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 8c0bf9e24242c89c1abbd708c714dd2a89febbd2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:23 2013 -0600 pci: Create pci_bus_is_express helper For testing the bus type. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit afb661eb902f4ad1456d57b31cdd02f0b4aac33f Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:17 2013 -0600 pci: Q35, Root Ports, and Switches create PCI Express buses Convert q35, ioh3420, xio3130_upstream, and xio3130_downstream to use the new TYPE_PCIE_BUS. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 60a0e44320cc2601236450fbe95d952830192a1d Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:11 2013 -0600 pci: Allow PCI bus creation interfaces to specify the type of bus No change to any types. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit cf09458d644934976aa64e88bb41ef9a4cc2766a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:05 2013 -0600 pci: Move PCI and PCIE type defines Move these so that we can reference them from a more common header instead of including pci_bus.h everywhere. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 3a861c466cee46fed042d76100fa0fd9644f3091 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:00:59 2013 -0600 pci: Create and register a new PCI Express TypeInfo This will allow us to differentiate Express and Legacy buses. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 49cd9ac6a1929467e2df5783a5183fc7708ec3ff Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 11 10:20:21 2013 +0100 exec: assert that RAMBlock size is non-zero find_ram_offset() does not handle size=0 gracefully. It hands out the same RAMBlock offset multiple times, leading to obscure failures later on. Add an assert to warn early if something is incorrectly allocating a zero size RAMBlock. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 8c7f3dd05e4f1ee90000c89e428e69ae2e6bd691 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 11 10:20:20 2013 +0100 pci: refuse empty ROM files A zero size ROM file is invalid and should produce a warning. Attempting to use a zero size file ends up hitting an assertion qemu_ram_set_idstr() because RAMBlocks with duplicate addresses are allocated - due to zero size the allocator doesn't increment the next available RAMBlock offset. Also convert __FUNCTION__ to __func__ while we're touching this code. There are no other __FUNCTION__ instances in pci.c anymore. Reported-by: Milos Ivanovic <milosivanovic@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ea7cfed68bb4f26fc65b078ab735a4097e9b4fe2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 7 16:17:00 2013 -0700 pci_bridge: Remove duplicate IRQ swizzle function pci_bridge_dev_map_irq_fn() is identical to pci_swizzle_map_irq_fn(), which is now the default for all PCI bridges. We can therefore remove this function and the pci_bridge_map_irq() call that used it. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 659fefeed36a4b58191595cebab2dbc003788d90 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 7 16:16:54 2013 -0700 pci_bridge: Use a default map_irq function The PCI bridge spec defines a default swizzle for translating INTx IRQs from secondary bus to primary. Use this by default for any bridge that doesn't set a function. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e5368f0da75c1c668e85398aa930be2f4273e684 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 7 11:29:19 2013 -0700 pci: Fix INTx routing notifier recursion For some reason we recurse to fire the INTx routing notifier for each child of a bus, for each possible device of a bus. That means that if we add a root port, the notifier gets called for that bridge 256 times. If we add an upstream switch behind that root port, 256^2. But of course we need a downstream switch, 256^3. This starts to be noticeable. Stop the insanity. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 600d05b9aa4b4d23775fc17968dd6b581928001d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 4 11:31:21 2013 +0200 pci_bridge: drop formatting from source We use the same formatting for all files, it doesn't make sense to have formatting directives only in pci bridge header. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 45eb768c706d3a5fbe55224c589e8b4e252781d9 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 4 11:23:49 2013 +0200 pci_bridge: factor out common code Reuse common code in pcie_port, override the hardwired-to-0 bits per PCI Express spec. No functional change but makes the code easier to follow. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ba7d8515c1e929baccea9f53d06d131fd2b007a1 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Sun Mar 3 10:21:32 2013 -0700 pci: Teach PCI Bridges about VGA routing Each PCI Bridge has a set of implied VGA regions that are enabled when the VGA bit is set in the bridge control register. This allows VGA devices behind bridges. Unfortunately with VGA Enable, which we formerly allowed but didn't back, comes along some required VGA baggage. VGA Palette Snooping is required, along with VGA 16-bit decoding. We don't yet have support for palette snooping. We also don't have support for 10-bit VGA aliases, the default mode, but we enable the register, even on root ports, to avoid confusing guests. Fortunately there's likely nothing from this century that requires these features, so the missing bits are noted with TODOs. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e01fd687185444944b0b5b0f8c739ae4b33eb029 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Sun Mar 3 10:21:26 2013 -0700 pci: Add PCI VGA helpers Allow devices to register VGA memory regions for handling PCI spec defined VGA I/O port and MMIO areas. PCI will attach these to the bus address spaces and enable them according to the device command register value. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a38b2c49bfd3f1cfc2aadd08cd049af16a342b1e Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Mar 13 21:37:08 2013 +0200 virtio-pci: guest notifier mask without non-irqfd non-irqfd setups are currently broken with vhost: we start up masked and nothing unmasks the interrupts. Fix by using mask notifiers, same as the irqfd path. Sharing irqchip/non irqchip code is always a good thing, in this case it will help non irqchip benefit from backend masking optimization. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit f8f7c533e20d1681feeb665109301151bdb739b4 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Mar 6 13:50:27 2013 +0800 virtio-net: remove layout assumptions for mq ctrl Following commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a (virtio-net: remove layout assumptions for ctrl vq), this patch makes multiqueue ctrl handling not rely on the layout of descriptors. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 15054fce2df8592dec70bba23faf126f0f372f81 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 11 15:11:04 2013 +0200 qmp: add path to device_deleted event Add QOM path to device deleted event. It now becomes useful to report it for devices which don't have an ID assigned. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e998fa8df828ef68ea540a12917d10b4d335c1dd Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 18 21:01:37 2013 +0200 qom: call class destructor before unparent It seems more logical to have destruction flow start with the subclass and move up to the base class. This ensures object has a valid canonical path when destructor is called. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 18501ae6e825d8da72369fd091018ef71071bd87 Merge: fad5593... 500f006... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 13:38:00 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Peter Lieven (9) and others # Via Juan Quintela * quintela/migration.next: (22 commits) Use qemu_put_buffer_async for guest memory pages Add qemu_put_buffer_async Use writev ops if available Store the data to send also in iovec Update bytes_xfer in qemu_put_byte Add socket_writev_buffer function Add QemuFileWritevBuffer QemuFileOps migration: use XBZRLE only after bulk stage migration: do not search dirty pages in bulk stage migration: do not sent zero pages in bulk stage migration: add an indicator for bulk state of ram migration migration: search for zero instead of dup pages bitops: unroll while loop in find_next_bit() buffer_is_zero: use vector optimizations if possible cutils: add a function to find non-zero content in a buffer move vector definitions to qemu-common.h savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32 savevm: Add VMSTATE_FLOAT64 helpers savevm: Add VMSTATE_UINTTL_EQUAL helper ... commit fad5593ca646010d3cb83f7926d78dd30c20c610 Merge: 0fbf01f... b57ed9b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 13:34:38 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Queue sanity check for notify hypercall. commit b57ed9bf075e33cdd2f9eb545ff555301dd57221 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Mar 26 17:32:44 2013 +0100 virtio-ccw: Queue sanity check for notify hypercall. Verify that the virtio-ccw notify hypercall passed a reasonable value for queue. Cc: qemu-stable@xxxxxxxxxx Reported-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 0fbf01fe911e84c588be41636570f46f597113d6 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 10:04:43 2013 -0500 qtest: use synchronous I/O for char device Peter reported that rtc-test would periodically hang. It turns out this was due to an EAGAIN occurring on qemu_chr_fe_write. Instead of heavily refactoring qtest, just use a synchronous version of the write operation for qemu_chr_fe_write to address this problem. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cd18720a294bd7244ffda719677dd9c737317b67 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 10:04:17 2013 -0500 char: introduce a blocking version of qemu_chr_fe_write Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e769bdc26ded6d7681cddd9f67c5f87a4b5ba53c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 25 13:15:14 2013 +0000 hw/qdev: Abort rather than ignoring errors adding device properties Instead of ignoring any errors that occur when adding properties to a new device in device_initfn(), check for them and abort if any occur. The most likely cause is accidentally adding a duplicate property, which is a programming error by the device author. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364217314-7400-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 54852b03711f06c5f24af72de583346922176947 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 25 13:15:13 2013 +0000 qom: Detect attempts to add a property that already exists Detect attempts to add a property to an object if one of that name already exists, and report them as errors. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364217314-7400-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b000dfbd42e8aac9af66ae0ed787ef1021bea29f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 25 13:40:44 2013 +0000 hw/qdev-properties.c: Improve diagnostic for setting property after realize Now we have error_setg() we can improve the error message emitted if you attempt to set a property of a device after the device is realized (the previous message was "permission denied" which was not very informative). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1364218844-7509-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c19f806e01ba5c4a4d4fac80b76841512ed4a11e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:20 2013 +0100 virtio-scsi: cleanup: remove qdev field. The qdev field is no longer needed. Just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-11-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 763684befd34461371c2d2188655b69e4d93a5db Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:19 2013 +0100 virtio-scsi: cleanup: init and exit functions. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-10-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0ac8e139274245320b1c56f6e9ec9318c2da963a Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:18 2013 +0100 virtio-scsi: cleanup: use QOM casts. As the virtio-scsi-pci and virtio-scsi-s390 are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-9-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c908ea1052f8c6391c2d321693220130846f703c Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:17 2013 +0100 virtio-scsi-ccw: switch to new API Here the virtio-scsi-ccw is modified for the new API. The device virtio-scsi-ccw extends virtio-ccw-device as before. It creates and connects a virtio-scsi during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9ef13d8f1956b086f4bcb1d70cd5ff96e5faa2cb Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:16 2013 +0100 virtio-scsi-s390: switch to the new API. Here the virtio-scsi-s390 is modified for the new API. The device virtio-scsi-s390 extends virtio-s390-device as before. It creates and connects a virtio-scsi during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc7b90a010719612344c4a78be7819841e76b7ec Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:15 2013 +0100 virtio-scsi-pci: switch to new API. Here the virtio-scsi-pci is modified for the new API. The device virtio-scsi-pci extends virtio-pci. It creates and connects a virtio-scsi during the init. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ab1dfdd50a7c852e4921935250c22f486c5b8a4 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:14 2013 +0100 virtio-scsi: add the virtio-scsi device. Create virtio-scsi which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4bfeb18a454bd71c406683fb473375e02c724b00 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:13 2013 +0100 virtio-scsi: moving host_features from properties to transport properties. host_features field is part of the transport device. So move all the host_features related properties into transport device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 22219527f4272f5199a581bbd3950e9ba96bbc75 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:12 2013 +0100 virtio-scsi: allocate cmd_vqs array separately. Allocate/Free the cmd_vqs array separately to have a fixed size device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 394e2e4c59294f2c5da58d2970693667218c7cf3 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:11 2013 +0100 virtio-scsi: don't use pointer for configuration. The configuration field must not be a pointer as it will be used for virtio-scsi properties. So *conf is replaced by conf. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2fd1a053e3696738d7499733df0feb1efd0d97e0 Merge: dcadaa9... 4d70043... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 09:25:45 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Corey Bryant (2) and others # Via Luiz Capitulino * luiz/queue/qmp: New QMP command query-cpu-max and HMP command cpu_max qmp: fix handling of boolean values in qmp-shell QMP: TPM QMP and man page documentation updates QMP: Remove duplicate TPM type from query-tpm commit 500f0061d628b52220038939728f0d7aee634468 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:03 2013 +0200 Use qemu_put_buffer_async for guest memory pages This will remove an unneeded copy of guest memory pages. For the page header and device state we still copy the data to the static buffer the other option is to allocate the memory on demand which is more expensive. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6181ec245529e0d40ac669fe3044eef3a9e19610 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:02 2013 +0200 Add qemu_put_buffer_async This allows us to add a buffer to the iovec to send without copying it into the static buffer, the buffer will be sent later when qemu_fflush is called. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit cb88aa88d7e96cd12328915b33bf4a1bc054aa3f Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:01 2013 +0200 Use writev ops if available Update qemu_fflush and stdio_close to use writev ops if they are available Use the buffers stored in the iovec. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b3ea2bdb792f6d961ba3adf45cf1f0c63c61e09d Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:00 2013 +0200 Store the data to send also in iovec All data is still copied into the static buffer. Adjacent iovecs are coalesced so we send one big buffer instead of many small buffers. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7d8a30bb98e89c203b3d2289ab0638c38bbeb7c1 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:47:59 2013 +0200 Update bytes_xfer in qemu_put_byte Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 28085f7b4d06970efa004257fcef013caf495a08 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:47:58 2013 +0200 Add socket_writev_buffer function Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d913829f0fd8451abcb1fd9d6dfce5586d9d7e10 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:47:57 2013 +0200 Add QemuFileWritevBuffer QemuFileOps This will allow us to write an iovec Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5cc11c46cf187c7d5306b68e730ec0d372cd7ef0 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:39 2013 +0100 migration: use XBZRLE only after bulk stage at the beginning of migration all pages are marked dirty and in the first round a bulk migration of all pages is performed. currently all these pages are copied to the page cache regardless of whether they are frequently updated or not. this doesn't make sense since most of these pages are never transferred again. this patch changes the XBZRLE transfer to only be used after the bulk stage has been completed. that means a page is added to the page cache the second time it is transferred and XBZRLE can benefit from the third time of transfer. since the page cache is likely smaller than the number of pages it's also likely that in the second round the page is missing in the cache due to collisions in the bulk phase. on the other hand a lot of unnecessary mallocs, memdups and frees are saved. the following results have been taken earlier while executing the test program from docs/xbzrle.txt. (+) with the patch and (-) without. (thanks to Eric Blake for reformatting and comments) + total time: 22185 milliseconds - total time: 22410 milliseconds Shaved 0.3 seconds, better than 1%! + downtime: 29 milliseconds - downtime: 21 milliseconds Not sure why downtime seemed worse, but probably not the end of the world. + transferred ram: 706034 kbytes - transferred ram: 721318 kbytes Fewer bytes sent - good. + remaining ram: 0 kbytes - remaining ram: 0 kbytes + total ram: 1057216 kbytes - total ram: 1057216 kbytes + duplicate: 108556 pages - duplicate: 105553 pages + normal: 175146 pages - normal: 179589 pages + normal bytes: 700584 kbytes - normal bytes: 718356 kbytes Fewer normal bytes... + cache size: 67108864 bytes - cache size: 67108864 bytes + xbzrle transferred: 3127 kbytes - xbzrle transferred: 630 kbytes ...and more compressed pages sent - good. + xbzrle pages: 117811 pages - xbzrle pages: 21527 pages + xbzrle cache miss: 18750 - xbzrle cache miss: 179589 And very good improvement on the cache miss rate. + xbzrle overflow : 0 - xbzrle overflow : 0 Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 70c8652bf3c1fea79b7b68864e86926715c49261 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:38 2013 +0100 migration: do not search dirty pages in bulk stage avoid searching for dirty pages just increment the page offset. all pages are dirty anyway. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f1c72795af573b24a7da5eb52375c9aba8a37972 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:37 2013 +0100 migration: do not sent zero pages in bulk stage during bulk stage of ram migration if a page is a zero page do not send it at all. the memory at the destination reads as zero anyway. even if there is an madvise with QEMU_MADV_DONTNEED at the target upon receipt of a zero page I have observed that the target starts swapping if the memory is overcommitted. it seems that the pages are dropped asynchronously. this patch also updates QMP to return the number of skipped pages in MigrationStats. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 78d07ae7ac74bcc7f79aeefbaff17fb142f44b4d Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:36 2013 +0100 migration: add an indicator for bulk state of ram migration the first round of ram transfer is special since all pages are dirty and thus all memory pages are transferred to the target. this patch adds a boolean variable to track this stage. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3edcd7e6ebae3ef0ac178eed5f4225803159562d Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:35 2013 +0100 migration: search for zero instead of dup pages virtually all dup pages are zero pages. remove the special is_dup_page() function and use the optimized buffer_find_nonzero_offset() function instead. here buffer_find_nonzero_offset() is used directly to avoid the unnecssary additional checks in buffer_is_zero(). raw performace gain checking 1 GByte zeroed memory over is_dup_page() is approx. 10-12% with SSE2 and 8-10% with unsigned long arithmedtic. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 49f676a00ab540fac1d2008be26434cf85607722 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:34 2013 +0100 bitops: unroll while loop in find_next_bit() this patch adopts the loop unrolling idea of bitmap_is_zero() to speed up the skipping of large areas with zeros in find_next_bit(). this routine is extensively used to find dirty pages in live migration. testing only the find_next_bit performance on a zeroed bitfield the loop onrolling decreased executing time by approx. 50% on x86_64. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 56ded708ec38e4cb75a7c7357480ca34c0dc6875 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:33 2013 +0100 buffer_is_zero: use vector optimizations if possible performance gain on SSE2 is approx. 20-25%. altivec is not tested. performance for unsigned long arithmetic is unchanged. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 41a259bd2b1796ddabdae600ee539269a7ddb6a5 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:32 2013 +0100 cutils: add a function to find non-zero content in a buffer this adds buffer_find_nonzero_offset() which is a SSE2/Altivec optimized function that searches for non-zero content in a buffer. the function starts full unrolling only after the first few chunks have been checked one by one. analyzing real memory page data has revealed that non-zero pages are non-zero within the first 256-512 bits in most cases. as this function is also heavily used to check for zero memory pages this tweak has been made to avoid the high setup costs of the fully unrolled check for non-zero pages. due to the optimizations used in the function there are restrictions on buffer address and search length. the function can_use_buffer_find_nonzero_content() can be used to check if the function can be used safely. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit c61ca00ada744eb24825be2ba4d6ba8fe3a870a4 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:30 2013 +0100 move vector definitions to qemu-common.h vector optimizations will now be used at various places not just in is_dup_page() in arch_init.c Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 377e2cb96b76c2b0023c1acc7230bf3a9e9f9f40 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:04 2013 +1100 savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition The VMSTATE_BUFFER_MULTIPLY macro is misnamed - it actually specifies a variably sized buffer with VMS_VBUFFER, so should be named VMSTATE_VBUFFER_MULTIPLY. This patch fixes this (the macro had no current users under either name). In addition, unlike the other VMSTATE_VBUFFER variants, this macro did not specify VMS_POINTER. This patch fixes this bug as well. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 8474a9dd6757be064bf4b35f422b4640d1cca0a5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:03 2013 +1100 savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32 Currently the savevm code contains a VMSTATE_STRUCT_VARRAY_POINTER_INT32 helper (a variably sized array with the number of elements in an int32_t), but not VMSTATE_STRUCT_VARRAY_POINTER_UINT32 (... with the number of elements in a uint32_t). This patch (trivially) fixes the deficiency. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 213945e4d753b5f214468ff746d65fa76e21dbd1 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:02 2013 +1100 savevm: Add VMSTATE_FLOAT64 helpers The current savevm code includes VMSTATE helpers for a number of commonly used data types, but not for the float64 type used by the internal floating point emulation code. This patch fixes the deficiency. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d58f5598342ffebe6c6278d8b90792060fca4792 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:01 2013 +1100 savevm: Add VMSTATE_UINTTL_EQUAL helper This adds an _EQUAL VMSTATE helper for target_ulongs, defined in terms of VMSTATE_UINT32_EQUAL or VMSTATE_UINT64_EQUAL as appropriate. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e344b8a16de429ada3d9126f26e2a96d71348356 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:00 2013 +1100 savevm: Add VMSTATE_UINT64_EQUAL helpers The savevm code already includes a number of *_EQUAL helpers which act as sanity checks verifying that the configuration of the saved state matches that of the machine we're loading into to work. Variants already exist for 8 bit 16 bit and 32 bit integers, but not 64 bit integers. This patch fills that hole, adding a UINT64 version. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 817c60457f41e8643b612d451b3737433e9c7e0a Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Feb 11 15:11:10 2013 +0100 migration: Improve QMP documentation Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c Author: Michal Novotny <minovotn@xxxxxxxxxx> Date: Mon Mar 25 17:31:33 2013 +0100 New QMP command query-cpu-max and HMP command cpu_max These commands return the maximum number of CPUs supported by the currently running emulator instance, as defined in its QEMUMachine struct. Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e5ecec7bad7b679aa11ab788424bc0e1705be15b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Mar 25 15:48:46 2013 +0100 qmp: fix handling of boolean values in qmp-shell qmp-shell converts only integer arguments and the rest is assumed to be strings which are faithfully sent as quoted strings by json. But QEMU refuses to accept qmp command with boolean argument whose value is escaped as string. Fix it by special-casing true/false keywords and store value as corresponding boolean. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 28c4fa32bd76268320d44db5d82e0d18fbc7c864 Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 20 12:34:49 2013 -0400 QMP: TPM QMP and man page documentation updates Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 88ca7bcff1806594c80782ad19ba50db47086b23 Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 20 12:34:48 2013 -0400 QMP: Remove duplicate TPM type from query-tpm Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit dcadaa9b40d6019ac18d6fd7763d43048ef79218 Merge: 4b5805d... d32fcad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 13:14:26 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Dmitry Fleytman (5) and others # Via Stefan Hajnoczi * stefanha/net: net: increase buffer size to accommodate Jumbo frame pkts VMXNET3 device implementation Packet abstraction for VMWARE network devices Common definitions for VMWARE devices net: iovec checksum calculator Checksum-related utility functions net: use socket_set_nodelay() for -netdev socket commit 4b5805de49edec5a81fe810bb612317de6545a38 Merge: d2f38a0... ea804ca... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 13:14:20 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Liu Yuan (1) and Stefan Weil (1) # Via Stefan Hajnoczi * stefanha/block: block: Add options QDict to bdrv_file_open() prototypes (fix MinGW build) rbd: fix compile error commit d2f38a0acb0a1c5b7ab7621a32d603d08d513bea Merge: d63c947... 0099cd4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 13:13:53 2013 -0500 Merge remote-tracking branch 'kraxel/ipxe.3' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/ipxe.3: ipxe: update binaries ipxe: disable two second timeout commit d63c9477e0cc303492325880dc9977f4096d895d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 10:23:56 2013 -0500 glib: add a compatibility interface for g_timeout_add_seconds Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6db253caf84203c9fb106b539072699fdd4730fe Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun Mar 24 19:10:02 2013 +0100 gtk: Release modifier when graphic console loses keyboard focus This solves, e.g., sticky ALT when selecting a GTK menu, switching to a different window or selecting a different virtual console. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Message-id: 514F417A.6010908@xxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d32fcad366e5f45d33dab2ee4de0e5729439680b Author: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 18 11:43:44 2013 -0700 net: increase buffer size to accommodate Jumbo frame pkts Socket buffer sizes were hard-coded to 4K for VDE and socket netdevs. Bump this up to 68K (ala tap netdev) to handle maximum GSO packet size (64k) plus plenty of room for the ethernet and virtio_net headers. Originally, ran into this limitation when using -netdev UDP sockets to connect VM-to-VM, where VM interface is configure with MTU=9000. (Using virtio_net NIC model). Test is simple: ping -M do -s 8500 <target>. This test will attempt to ping with unfragmented packet of given size. Without patch, size is limited to < 4K (minus protocol hdrs). With patch, ping test works with pkt size up to 9000 (again, minus protocol hdrs). v2: per Stefan, increase buf size to (4096+65536) as done in tap and apply to vde and socket netdevs. v1: increase buf size to 12K just for -netdev UDP sockets Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 786fd2b0f87baded8c9e55307b99719eea3e016e Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:06 2013 +0200 VMXNET3 device implementation Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e263cd49c73c595af0917c83dc004234660e0c71 Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:05 2013 +0200 Packet abstraction for VMWARE network devices Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 75020a7021513ad4cbad2aa5f6de5d390016f099 Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:04 2013 +0200 Common definitions for VMWARE devices Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 84026301694b98dd08272e613da3497b17023d5c Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:03 2013 +0200 net: iovec checksum calculator Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5acf5ea4bc1535657692c509092caddec3d719ff Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:02 2013 +0200 Checksum-related utility functions net_checksum_add_cont() checksum calculation for scattered data with odd chunk sizes net_raw_checksum() checksum calculation for a buffer Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 20048d0a12b1080f688ff9b82696134df1aa3607 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 27 15:05:47 2013 +0100 net: use socket_set_nodelay() for -netdev socket Reduce -netdev socket latency by disabling the Nagle algorithm on SOCK_STREAM sockets in net/socket.c. Since we are tunelling Ethernet over TCP we shouldn't artificially delay outgoing packets, let the guest decide packet scheduling. I already get sub-millisecond -netdev socket ping times on localhost, so there was no measurable difference in my testing. This won't hurt though and may improve remote socket performance. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx> Reviewed-by: Daniel P. Berrange <berrange@xxxxxxxxxx> commit ea804cadf867a0521b9069193db339d041a40689 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Mar 24 08:08:36 2013 +0100 block: Add options QDict to bdrv_file_open() prototypes (fix MinGW build) The new parameter is unused yet. This part was missing in commit 787e4a8500020695eb391e2f1cc4767ee071d441. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d43731c75830dc63ae94282d84208a5652095bb7 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Sun Mar 24 15:41:15 2013 +0800 rbd: fix compile error Commit 787e4a85 [block: Add options QDict to bdrv_file_open() prototypes] didn't update rbd.c accordingly. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0099cd43ecf07710a608db5ca0945758514a14c2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 09:13:18 2013 +0100 ipxe: update binaries Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 95ca557d5cfc1ef69ba9708ded552f389afe643d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 09:07:40 2013 +0100 ipxe: disable two second timeout Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit fe6344a05fba26e16863fefcb823242e579b0991 Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Sun Mar 24 00:43:38 2013 -0400 Remove device_tree.o from hw/moxie/Makefile.objs. Here's a fix for the build problem identified by Aurelien Jarno here: http://lists.gnu.org/archive/html/qemu-devel/2013-03/msg04177.html Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2d497542e1ee66598be8bb7ce6a4606d664417ac Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 09:13:33 2013 -0700 tcg-optimize: Fold sub r,0,x to neg r,x Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4980ef9e3e12be3b4ef9092abc2d5a665199b422 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 19 12:11:56 2013 -0700 target-i386: Don't modify env->eflags around cpu_dump_state We can compute the value in cpu_dump_state anyway, and gratuitous modifications to eflags creates heisenbugs. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c53de1a2896ccc9ab18bb9c2f1a2f7b93629b564 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 19 09:40:53 2013 -0700 target-i386: Fix flags computation for ADOX When starting from CC_OP_DYNAMIC, and issuing adox before adcx, a typo used the wrong value for the resulting CC_OP. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d15a9c2390889623a681b4d0bc56371b4d25893c Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:25 2013 -0400 Add top level changes for moxie Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a360d965821870fa1dbb3effdf7436b715ad3358 Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:24 2013 -0400 Add sample moxie system Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bd86a88eedf3fd4ff55664cfabea7d6400e5fbda Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:23 2013 -0400 Add moxie disassembler Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 525bd324c282c68ff95e389acd647ae115fd003c Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:22 2013 -0400 Add moxie target code Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f7c61bf8fc1b05613b49d1dd2300d1a1fbc927de Merge: d76bb73... b1e5fff... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 23 14:23:26 2013 +0000 Merge branch 'for-upstream' of git://github.com/mwalle/qemu * 'for-upstream' of git://github.com/mwalle/qemu: configure: rename OpenGL feature to GLX configure: proper OpenGL/GLX probe target-lm32: use HELPER() macro target-lm32: flush tlb after clearing env target-lm32: remove dead code target-lm32: fix cmpgui and cmpgeui opcodes tests: tcg: lm32: add more test cases target-lm32: don't log cpu state in translation lm32_uart: fix receive buffering milkymist-uart: fix receive buffering lm32-dis: fix NULL pointer dereference target-lm32: fix debug memory access commit d76bb73549fcac07524aea5135280ea533a94fd6 Merge: 52ae646... 9ca3f7f... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Fri Mar 22 21:43:57 2013 +0100 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: (58 commits) target-ppc: Use NARROW_MODE macro for tlbie target-ppc: Use NARROW_MODE macro for addresses target-ppc: Use NARROW_MODE macro for comparisons target-ppc: Use NARROW_MODE macro for branches target-ppc: Fix add and subf carry generation in narrow mode target-ppc: Use QOM method dispatch for MMU fault handling target-ppc: Move ppc tlb_fill implementation into mmu_helper.c target-ppc: Split user only code out of mmu_helper.c mmu-hash64: Implement Virtual Page Class Key Protection mmu-hash*: Merge translate and fault handling functions mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for get_phys_page_debug() mmu-hash*: Correctly mask RPN from hash PTE mmu-hash*: Clean up real address calculation mmu-hash*: Clean up PTE flags update mmu-hash64: Factor SLB N bit into permissions bits mmu-hash*: Clean up permission checking mmu-hash32: Remove nx from context structure mmu-hash*: Don't update PTE flags when permission is denied mmu-hash32: Don't look up page tables on BAT permission error mmu-hash32: Cleanup BAT lookup ... commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f Author: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx> Date: Fri Mar 22 21:50:17 2013 +0900 tcg: Fix occasional TCG broken problem when ldst optimization enabled is_tcg_gen_code() checks the upper limit of TCG generated code range wrong, so that TCG could get broken occasionally only when CONFIG_QEMU_LDST_OPTIMIZATION enabled. The reason is code_gen_buffer_max_size does not cover the upper range up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size should be modified to code_gen_buffer_size. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 3f08ffb4a4741d147634761dc053ed386243a0de Merge: cecd77a... 681e7ad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 22 13:08:01 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (12) and Peter Lieven (2) # Via Kevin Wolf * kwolf/for-anthony: nbd: Check against invalid option combinations nbd: Use default port if only host is specified block: Allow omitting the file name when using driver-specific options block: Make find_image_format safe with NULL filename block: Rename variable to avoid shadowing block: Introduce .bdrv_parse_filename callback nbd: Accept -drive options for the network connection nbd: Remove unused functions nbd: Keep hostname and port separate qemu-socket: Make socket_optslist public block: Pass bdrv_file_open() options to block drivers block: Add options QDict to bdrv_file_open() prototypes block: complete all IOs before resizing a device Revert "block: complete all IOs before .bdrv_truncate" commit cecd77ae6df060bbe8f0eea6691112097e680a52 Merge: f930820... 01ed1d5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 22 13:05:57 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By liguang (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: qdev: remove redundant abort() gitignore: ignore more files Use proper term in TCG README serial: Fix debug format strings Fix typos and misspellings Advertise --libdir in configure --help output memory: fix a bug of detection of memory region collision MinGW: Replace setsockopt by qemu_setsocketopt commit f9308207040dc4a1484cee459bedaec03645b935 Merge: afed260... fe42d7f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 22 13:05:50 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw, s390-virtio: Use generic virtio-blk macro. s390-virtio, virtio-ccw: Add config_wce for virtio-blk. virtio-ccw: Add missing blk chs properties. commit 681e7ad024d80123a1ae8e35f86fb1a7f03b1bc9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 20 19:23:23 2013 +0100 nbd: Check against invalid option combinations A file name may only specified if no host or socket path is specified. The latter two may not appear at the same time either. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit bebbf7fa9c6235022ecd15f8f934d27e5ccab63a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:56:05 2013 +0100 nbd: Use default port if only host is specified The URL method already takes care to apply the default port when none is specfied. Directly specifying driver-specific options required the port number until now. Allow leaving it out and apply the default. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit c2ad1b0c465a9ea8375eaff14bbd85705c673f73 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:40:51 2013 +0100 block: Allow omitting the file name when using driver-specific options After this patch, using -drive with an empty file name continues to open the file if driver-specific options are used. If no driver-specific options are specified, the semantics stay as it was: It defines a drive without an inserted medium. In order to achieve this, bdrv_open() must be made safe to work with a NULL filename parameter. The assumption that is made is that only block drivers which implement bdrv_parse_filename() support using driver specific options and could therefore work without a filename. These drivers must make sure to cope with NULL in their implementation of .bdrv_open() (this is only NBD for now). For all other drivers, the block layer code will make sure to error out before calling into their code - they can't possibly work without a filename. Now an NBD connection can be opened like this: qemu-system-x86_64 -drive file.driver=nbd,file.port=1234,file.host=::1 Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f5866fa438bff586f215c137dc71edb4e0770536 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:20:27 2013 +0100 block: Make find_image_format safe with NULL filename In order to achieve this, the .bdrv_probe callbacks of all drivers must cope with this. The DMG driver is the only one that bases its decision on the filename and it needs to be changed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 08b392e1510b21d8c9bfa8a50525fae31014a2e2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:17:44 2013 +0100 block: Rename variable to avoid shadowing bdrv_open() uses two different variables called options. Rename one of them to avoid confusion and to allow the outer one to be accessed everywhere. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 6963a30d82413bea36c7545137b090b284cc2b18 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 18:47:22 2013 +0100 block: Introduce .bdrv_parse_filename callback If a driver needs structured data and not just a string, it can provide a .bdrv_parse_filename callback now that parses the command line string into separate options. Keeping this separate from .bdrv_open_filename ensures that the preferred way of directly specifying the options always works as well if parsing the string works. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f53a1febcd9d887149ac1429880a3f2fdb2c117f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Mar 7 16:15:11 2013 +0100 nbd: Accept -drive options for the network connection The existing parsers for the file name now parse everything into the bdrv_open() options QDict. Instead of using these parsers, you can now directly specify the options on the command line, like this: qemu-system-x86_64 -drive file=nbd:,file.port=1234,file.host=::1 Clearly the file=... part could use further improvement, but it's a start. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 197a4859b914559489f41b63fd71ea4bfda17c3d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 16:46:38 2013 +0100 nbd: Remove unused functions Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f17c90bed11a6e277614b5a5d16434004f24d572 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 11:55:29 2013 +0100 nbd: Keep hostname and port separate The NBD block supports an URL syntax, for which a URL parser returns separate hostname and port fields. It also supports the traditional qemu syntax encoded in a filename. Until now, after parsing the URL to get each piece of information, a new string is built to be fed to socket functions. Instead of building a string in the URL case that is immediately parsed again, parse the string in both cases and use the QemuOpts interface to qemu-sockets.c. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit e62be8888a83aa0ab7f50eeb954deb2ec4e7201d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 17:14:24 2013 +0100 qemu-socket: Make socket_optslist public Allow other users to create the QemuOpts needed for inet_connect_opts(). Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 707ff8282b66bb9471e253fe5f17b74576d36825 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 6 12:20:31 2013 +0100 block: Pass bdrv_file_open() options to block drivers Specify -drive file.option=... on the command line to pass the option to the protocol instead of the format driver. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 787e4a8500020695eb391e2f1cc4767ee071d441 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 6 11:52:48 2013 +0100 block: Add options QDict to bdrv_file_open() prototypes The new parameter is unused yet. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 92b7a08d64e5e3129fa885f9d180e5bddcb76b42 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Mar 11 11:04:24 2013 +0100 block: complete all IOs before resizing a device this patch ensures that all pending IOs are completed before a device is resized. this is especially important if a device is shrinked as it the bdrv_check_request() result is invalidated. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5c916681ae2383f0425bb8a3680ade9d055f5dfe Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Mar 11 11:03:28 2013 +0100 Revert "block: complete all IOs before .bdrv_truncate" brdv_truncate() is also called from readv/writev commands on self- growing file based storage. this will result in requests waiting for theirselves to complete. This reverts commit 9a665b2b8640e464f0a778216fc2dca8d02acf33. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 01ed1d527c59356e6c4c9d54b5710a3c9e78ce4e Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri Mar 22 16:44:14 2013 +0800 qdev: remove redundant abort() Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 082369e62c5bbaba89f173c2b803bc24115bb111 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri Mar 22 16:44:13 2013 +0800 gitignore: ignore more files ignore *.patch, *.gcda, *.gcno Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 294e4669a5ef1feacc6635d324fa4ba88062cce0 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Wed Mar 20 11:42:08 2013 +0800 Use proper term in TCG README In TCG, "target" means the host architecture for which TCG generates the code. Using "guest" rather than "target" to make the document more consistent. Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ca3f7f3160365de9030e1a6128a871625abe346 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:49 2013 +0000 target-ppc: Use NARROW_MODE macro for tlbie Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c791fe8436cf6b93ddb035a5b7a87487da5f7b30 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:48 2013 +0000 target-ppc: Use NARROW_MODE macro for addresses Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 02765534f7aff83a975072e8a6fcc85364351ad5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:47 2013 +0000 target-ppc: Use NARROW_MODE macro for comparisons Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0c8f9ce85b360668a7c8cc77cb3b85fac0bd057 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:46 2013 +0000 target-ppc: Use NARROW_MODE macro for branches Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 79482e5ab38a05ca8869040b0d8b8f451f16ff62 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:45 2013 +0000 target-ppc: Fix add and subf carry generation in narrow mode The set of computations used in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a are only valid if the current word size == target_long size. This failed to take ppc64 in 32-bit (narrow) mode into account. Add a NARROW_MODE macro to avoid conditional compilation. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b632a148b677b773ff155f9de840b37a653567b9 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 11:40:33 2013 +1100 target-ppc: Use QOM method dispatch for MMU fault handling After previous cleanups, the many scattered checks of env->mmu_model in the ppc MMU implementation have, at least for "classic" hash MMUs been reduced (almost) to a single switch at the top of cpu_ppc_handle_mmu_fault(). An explicit switch is still a pretty ugly way of handling this though. Now that Andreas Färber's CPU QOM cleanups for ppc have gone in, it's quite straightforward to instead make the handle_mmu_fault function a QOM method on the CPU object. This patch implements such a scheme, initializing the method pointer at the same time as the mmu_model variable. We need to keep the latter around for now, because of the MMU types (BookE, 4xx, et al) which haven't been converted to the new scheme yet, and also for a few other uses. It would be good to clean those up eventually. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eb20c1c6da60c8c75f08def03b0822a48af620ac Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:49 2013 +0000 target-ppc: Move ppc tlb_fill implementation into mmu_helper.c For softmmu builds the interface from the generic code to the target specific MMU implementation is through the tlb_fill() function. For ppc this is currently in mem_helper.c, whereas it would make more sense in mmu_helper.c. This patch moves it, which also allows cpu_ppc_handle_mmu_fault() to become a local function in mmu_helper.c Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cc8eae8ac7a493b6968238cf8aa5a21026858bae Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:48 2013 +0000 target-ppc: Split user only code out of mmu_helper.c mmu_helper.c is, for obvious reasons, almost entirely concerned with softmmu builds of qemu. However, it does contain one stub function which is used when CONFIG_USER_ONLY=y - the user only versoin of cpu_ppc_handle_mmu_fault, which always triggers an exception. The entire rest of the file is surrounded by #if !defined(CONFIG_USER_ONLY). We clean this up by moving the user only stub into its own new file, removing the ifdefs and building mmu_helper.c only when CONFIG_SOFTMMU is set. This also lets us remove the #define of cpu_handle_mmu_fault to cpu_ppc_handle_mmu_fault - that name is only used from generic code for user only - so we just name our split user version by the generic name. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f80872e21c07edd06eb343eeeefc8af404b518a6 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:47 2013 +0000 mmu-hash64: Implement Virtual Page Class Key Protection Version 2.06 of the Power architecture describes an additional page protection mechanism. Each virtual page has a "class" (0-31) recorded in the PTE. The AMR register contains bits which can prohibit reads and/or writes on a class by class basis. Interestingly, the AMR is userspace readable and writable, however user mode writes are masked by the contents of the UAMOR which is privileged. This patch implements this protection mechanism, along with the AMR and UAMOR SPRs. The architecture also specifies a hypervisor-privileged AMOR register which masks user and supervisor writes to the AMR and UAMOR. We leave this out for now, since we don't at present model hypervisor mode correctly in any case. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: fix 32-bit hosts] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit caa597bd9f5439cb16653119f362ad85a9f02b55 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:46 2013 +0000 mmu-hash*: Merge translate and fault handling functions ppc_hash{32,64}_handle_mmu_fault() is now the only caller of ppc_hash{32,64{_translate(), so this patch combines them together. This means that instead of one returning a variety of non-obvious error codes which then get translated into the various mmu exception conditions, we can just generate the exceptions as we discover problems in the translation path. This also removes the last usage of mmu_ctx_hash{32,64}. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5883d8b29691e15c72e338a586509abfc65c3106 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:45 2013 +0000 mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for get_phys_page_debug() Currently the hash mmu versionsof get_phys_page_debug() use the same ppc64_hash64_translate() function to do the translation logic as the normal mm fault handler code. That sounds like a good idea, but has some complications. The debug path doesn't need, or even want some parts of the full translation path, like permissions checking. Furthermore, the pte flags update included in the normal path means that the debug call is not quite side effect free. This patch, therefore, reimplements get_phys_page_debug as the minimal required subset of the full translation path. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>`z Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 75d5ec89c03cb2f1a2bd0d9912e624ceb6fd1999 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:44 2013 +0000 mmu-hash*: Correctly mask RPN from hash PTE BEHAVIOUR CHANGE At present we take the whole of word 1 of the hash PTE as the real page number used to calculate the translated address. This is incorrect, because it leaves the flags from the low bits of PTE word 1 in place in the rpm. We mostly get away with that because the value is later masked by TARGET_PAGE_MASK. More recent 64-bit CPUs also have a small number of flag bits (PP0 and KEY) in the top bits of PTE word 1. Any guest which used those bits would fail with the current code. This patch fixes the problem by correctly masking out the RPN field of PTE word 1. This is safe, even for older CPUs which didn't have PP0 and KEY, because although the RPN notionally extended to the very top of PTE word 1, none of those CPUs actually implemented that many real address bits. We add analogous masking to the 32-bit code, even though it also doesn't have the high flag bits, for consistency and clarity. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6d11d998bb866c92b0f81eb3cea2f7a3e617feb8 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:43 2013 +0000 mmu-hash*: Clean up real address calculation More recent 64-bit hash MMUs support multiple page sizes, and PTEs for large pages only include the offset of the whole large page. But the qemu tlb only handles pages of the base size (4k) so we need to break up the large pages into 4k pieces for the qemu tlb. To do that we have a somewhat awkward piece of code that adds the folds address bits 4k and the page size from the virtual address into the real address from the pte. This patch simplifies this redefining the raddr output of ppc_hash64_translate() to be the full real address of the faulting address, rather than just the (4k) page offset. Computing that turns out to be simpler, and is fine for the caller, since it already masks with TARGET_PAGE_MASK before inserting into the qemu tlb. The multiple page size complication doesn't exist for 32-bit hash mmus, but we make an analogous cleanup there for consistency. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b344074642e58fc83635c38105f38b85fc086666 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:42 2013 +0000 mmu-hash*: Clean up PTE flags update Currently the ppc_hash{32,64}_pte_update_flags() helper functions update a PTE's referenced and changed bits as necessary to reflect the access. It is somewhat long winded, though. This patch open codes them in their (single) callers, in a simpler way. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 57d0a39d98b0d0e4712e736084667bcb5aed3474 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:41 2013 +0000 mmu-hash64: Factor SLB N bit into permissions bits BEHAVIOUR CHANGE Currently, for 64-bit hash mmu, the execute protection bit placed into the qemu tlb is based only on the N (No execute) bit from the PTE. However, No Execute can also be set at the segment level. We do check this on execute faults, but this still means we could incorrectly allow execution of code from a No Execute segment, if a prior read or write fault caused the page to be loaded into the qemu tlb with PROT_EXEC set. To correct this, we (re-)check the segment level no execute permission when generating the protection bits for the qemu tlb. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e01b444523e2b0c663b42b3e8f44ef48a6153051 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:40 2013 +0000 mmu-hash*: Clean up permission checking Currently checking of PTE permission bits is split messily amongst ppc_hash{32,64}_pp_check(), ppc_hash{32,64}_check_prot() and their callers. This patch cleans this up to have the new function ppc_hash{32,64}_pte_prot() compute the page permissions from the SLBE (for 64-bit) or segment register (32-bit) and the pte. A greatly simplified version of the actual permissions check is then open coded in the callers. The 32-bit version of ppc_hash32_pte_prot() is implemented in terms of ppc_hash32_pp_prot(), a renamed and slightly cleaned up version of the old ppc_hash32_pp_check(), which is also used for checking BAT permissions on the 601. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1a53ba2e0f6dcf4a8b25586cc9d8ec1e408305c Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:39 2013 +0000 mmu-hash32: Remove nx from context structure Previous cleanups have meant the nx field of the mmu_ctx_hash32 structure is now only used within ppc_hash32_translate(), and so it can be replaced by a local variable. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 87dc3fd13e9c573fc435678973d8eb9726d50c3b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:38 2013 +0000 mmu-hash*: Don't update PTE flags when permission is denied BEHAVIOUR CHANGE Currently if ppc_hash{32,64}_translate() finds a PTE matching the given virtual address, it will always update the PTE's R & C (Referenced and Changed) bits. This happens even if the PTE's permissions mean we are about to deny the translation. This is clearly a bug, although we get away with it because: a) It will only incorrectly set, never reset the bits, which should not cause guest correctness problems. b) Linux guests never use the R & C bits anyway. This patch fixes the behaviour, only updating R & C when access is granted by the PTE. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 59acbe28552eb7bd7be75b22b3f3de93d7d40556 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:37 2013 +0000 mmu-hash32: Don't look up page tables on BAT permission error BEHAVIOUR CHANGE Currently, on any failure translating an address with BATs, we proceed to normal segment and page table translation. That's incorrect if the BAT error was due to permissions, rather than not finding a matching BAT. We've gotten away with it because a guest would not usually put translations for the same address in both BATs and page table. Nonetheless this patch corrects the logic, only doing page table lookup if no BAT is found. A matching BAT with bad permissions will now correctly trigger an exception. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 145e52f31826045d8cccf5b840dc77d21a696651 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:36 2013 +0000 mmu-hash32: Cleanup BAT lookup This patch makes a general cleanup of the ppc_hash32_get_bat() function, renaming it to ppc_hash32_bat_lookup(). In particular, the new function only looks for a matching BAT, with the permissions check from the old function moved to the caller. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6fc76aa9adc1c8896a97059f12a1e5e6c1820c64 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:35 2013 +0000 mmu-hash32: Clean up BAT matching logic The code to search for a matching BAT for a virtual address is somewhat longwinded and awkward. In particular, it relies on seperate size and validity information being returned from the hash32_bat_size() function (and 601 specific variant). We simplify this by having hash32_bat_size() return instead a mask of the virtual address bits to match, and 0 for invalid (since a BAT can never match the entire address space). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1d4951593426c886c1856211bc6ca81ed7c435d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:34 2013 +0000 mmu-hash32: Split BAT size logic from permissions logic hash32_bat_size_prot() and its 601 variant, as the name suggests, returns both a BAT's size - needed to search for a matching BAT - and its permissions, only relevant once a matching BAT has been located. There's no particular advantage to combining these, so we split these roles into seperate functions for clarity. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9986ed1ed07a01bdd236524b1a5cee695e68954a Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:33 2013 +0000 mmu-hash32: Remove odd pointer usage from BAT code In the code for handling BATs, the hash32_bat_size_prot() and hash32_bat_601_size_prot() functions are passed the BAT contents by reference (pointer) for no clear reason, since they only need the values within. This patch removes this odd usage, and uses the resulting change to clean up the caller slightly. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6a9801106ed90b8817128e15b187a9d5f71a54d9 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:32 2013 +0000 mmu-hash*: Fold pte_check*() logic into caller With previous cleanups made, the 32-bit and 64-bit pte_check*() functions are pretty trivial and only have one call site. This patch therefore clarifies the overall code flow by folding those functions into their call site. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 181488987671841407c52b6f958650f68b66f3f4 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:31 2013 +0000 mmu-hash64: Clean up ppc_hash64_htab_lookup() This patch makes a general cleanup of the address mangling logic in ppc_hash64_htab_lookup(). In particular it now avoids repeatedly switching on the segment size. The lack of SLB and multiple segment sizes on 32-bit means an analogous cleanup is not needed there. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7f3bdc2d8e17999a26ac0f6649caef92fedfc1c0 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:30 2013 +0000 mmu-hash*: Remove permission checking from find_pte{32, 64}() find_pte{32,64}() are poorly named, since they both find a PTE and do permissions checking of it. This patch makes them only locate a matching PTE, moving the permission checking and other logic to the caller. We rename the resulting search functions ppc_hash{32,64}_htab_lookup(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a1ff751abda89006f167b14fa4bfc5b59e4980f0 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:29 2013 +0000 mmu-hash*: Make find_pte{32, 64} do more of the job of finding ptes find_pte{32,64}() are not particularly well named. They only "find" a PTE within a given PTE group, and they also do permissions checking and other things. This patch makes it somewhat close to matching the name, by folding the search of both primary and secondary hash bucket into it, along with the various address bit shuffling to determine the right hash buckets. In the 32-bit case we also remove the code for splitting large pages into 4k pieces for the qemu tlb, since no 32-bit hash MMUs support multiple page sizes. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit aea390e4be652d5b5457771d25eded0dba14fe37 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:28 2013 +0000 mmu-hash*: Separate PTEG searching from permissions checking find_pte{32,64{() do several things. First they search through a PTEG ooking for a PTE matching our virtual address. Then they do permissions checking and other processing on that PTE. This patch separates the search by VA out from the rest. The search is combined with the pte{32,64}_match() functions into new ppc_has{32,64}_pteg_search() functions. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f95d7cc7fecbc0e320e83c864ce2d99fee3d9236 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:27 2013 +0000 mmu-hash*: Don't keep looking for PTEs after we find a match BEHAVIOUR CHANGE The ppc hash mmu hashes each virtual address to a primary and secondary possible hash bucket (aka PTE group or PTEG) each with 8 PTEs. Then we need a linear search through the PTEs to find the correct one for the virtual address we're translating. It is a programming error for the guest to insert multiple PTEs mapping the same virtual address into a PTEG - in this case the ppc architecture says the MMU can either act as if just one was present, or give a machine check. Currently our code takes the first matching PTE in a PTEG if it finds a successful translation. But if a matching PTE is found, but permission bits don't allow the access, we keep looking through the PTEG, checking that any other matching PTEs contain an identical translation. That behaviour is perhaps not exactly wrong, but it's certainly not useful. This patch changes it to always just find the first matching PTE in a PTEG. In addition, if we get a permissions problem on the primary PTEG, we then search the secondary PTEG. This is incorrect - a permission denying PTE in the primary PTEG should not be overwritten by an access granting PTE in the secondary (although again, it would be a programming error for the guest to set up such a situation anyway). So additionally we update the code to only search the secondary PTEG if no matching PTE is found in the primary at all. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bb218042c8b4e4bbcf2ab3c8d961d78876178831 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:26 2013 +0000 mmu-hash*: Cleanup segment-level NX check On the ppc hash mmus, no-execute can be set at the segment level (on more recent 64-bit hash mmus it can also be set at the page level). This patch separates out this check to make it clearer what is going on, and avoiding excessive indentation of the remaining translation code. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 723ed73ada1ed66a67722f3051059f634d60ebf7 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:25 2013 +0000 mmu-hash32: Split direct store segment handling into a helper This further separates the unusual case handling of direct store segments from the main translation path by moving its logic into a helper function, with some tiny cleanups along the way. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4b9605a5b16f86d9e8eccbc0bd522904137c1200 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:24 2013 +0000 mmu-hash32: Split out handling of direct store segments At present a large chunk of ppc_hash32_translate() is taken up with an ugly if selecting between direct store segments (hardly ever used) and normal paged segments. This patch clarifies the flow of code by handling direct store segments immediately then returning, leaving the straight line code to describe the normal MMU path. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 65d61643d01fec2792d195130531cbb71c783e8e Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:23 2013 +0000 mmu-hash*: Combine ppc_hash{32, 64}_get_physical_address and get_segment{32, 64}() After previous work, ppc_hash{32,64}_get_physical_address() are almost trivial wrappers around get_segment{32,64}() which does nearly all the work of translating an address according to the hash mmu model. Therefore combine the two functions into one, under the better name of ppc_hash{32,64}_translate(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f078cd46de9efb5f102a4b32aaf1c8b96a90bfbd Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:22 2013 +0000 mmu-hash*: Remove eaddr field from mmu_ctx_hash{32, 64} The eaddr field of mmu_ctx_hash{32,64} is effectively just used to pass the effective address from get_segment{32,64}() to find_pte{32,64}(). Just pass it as a normal parameter instead. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba36ed10059f63c981d046a3fe0d716f77959429 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:21 2013 +0000 mmu-hash64: Remove nx from mmu_ctx_hash64 The nx field in mmu_ctx_hash64 is used in two different functions. But its used for slightly different things in each place, and the value is never propagated between them. In other words, it might as well be two local variables. This patch makes it so. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 91cda45b69e45a089f9989979a65db3f710c9925 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:20 2013 +0000 mmu-hash*: Reduce use of access_type In ppc env->access_type is updated by e.g. integer load/stores with ACCESS_INT floating point load/stores with ACCESS_FLOAT and so forth. In hash mmu fault paths it can also b set to ACCESS_CODE for instruction fetch accesses. But the only place which uses anything more of the access_type than whether it is instruction fetch or data access is the direct store segment handling. Instruction versus data access can be more simply determined from the rw value passed down from the top. This changes the code to use rw in preference to checking access_type. For the 32-bit case there is a small amount of code (for direct store segments) that still needs the full access type. Instead of passing it all the way down the stack, we retrieve it from the env structure, which is where it came anyway, before this patch. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dffdaf6162d20b992e34c4708969ed4de0353417 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:19 2013 +0000 mmu-hash*: Add hash pte load/store helpers On real hardware the ppc hash page table is stored in memory; accordingly our mmu emulation code can read a hash page table in guest memory. But, when paravirtualized under PAPR, the real hash page table is in host memory, accessible to the guest only via hypercalls. We model this by also allowing the MMU emulation code to access a specially allocated hash page table outside the guest's memory image. At present these two options are implemented with some ugly conditionals at each access point in the mmu emulation code. In the implementation of the PAPR hypercalls, we assume the external hash table. This patch cleans things up by adding helpers to load and store from the hash table for both 32-bit and 64-bit hash mmus. The 64-bit versions handle both the in-guest-memory and outside guest memory cases. The 32-bit versions only handle the in-guest-memory case since no 32-bit systems can have an external hash table at present. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d5aea6f367d25b630a952a5a0c8289add774a8e8 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:18 2013 +0000 mmu-hash*: Add header file for definitions Currently cpu.h contains a number of definitions relating to the 64-bit hash MMU. Some are used in the MMU emulation code, but some are only used in the spapr MMU management hcall implementations. This patch moves these definitions (except for a few that are needed more widely) into mmu-hash64.h header, shared between the MMU emulation code and the spapr hcall code. The MMU emulation code is also updated to actually use a number of those definitions in place of hard coded constants. Similarly, we add new analogous definitions to mmu-hash32.h and use those in place of many hard-coded constants in mmu-hash32.c Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: fix 32-bit hosts] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5dc68eb0e4e41462bf93cf5c67fe4045571fc7bf Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:17 2013 +0000 target-ppc: mmu_ctx_t should not be a global type mmu_ctx_t is currently defined in cpu.h. However it is used for temporary information relating to mmu translation, and is only used in mmu_helper.c and (now) mmu-hash{32,64}.c. Furthermore it contains information which should be specific to particular MMU types. Therefore, move its definition to mmu_helper.c. mmu-hash{32,64}.c are converted to use new data types private to the relevant MMUs (identical to mmu_ctx_t for now, but that will change in future patches). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9813279664162fa50d6124fe8c5ac4871fa59c13 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:16 2013 +0000 target-ppc: Disentangle BAT code for 32-bit hash MMUs The functions for looking up BATs (Block Address Translation - essentially a level 0 TLB) are shared between the classic 32-bit hash MMUs and the 6xx style software loaded TLB implementations. This patch splits out a copy for the 32-bit hash MMUs, to facilitate cleaning it up. The remaining version is left, but cleaned up slightly to no longer deal with PowerPC 601 peculiarities (601 has a hash MMU). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 59191721a16ae393c01280dc633937374cdf474e Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:15 2013 +0000 target-ppc: Don't share get_pteg_offset() between 32 and 64-bit The get_pteg_offset() helper function is currently shared between 32-bit and 64-bit hash mmus, taking a parameter for the hash pte size. In the 64-bit paths, it's only called in one place, and it's a trivial calculation. This patch, therefore, open codes it for 64-bit. The remaining version, which is used in two places is made 32-bit only and moved to mmu-hash32.c. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 496272a7018ba01aa2b87a1a5ed866ff85133401 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:14 2013 +0000 target-ppc: Disentangle hash mmu helper functions The newly separated paths for hash mmus rely on several helper functions which are still shared with 32-bit hash mmus: pp_check(), check_prot() and pte_update_flags(). While these don't have ugly ifdefs on the mmu type, they're not very well thought out, so sharing them impedes cleaning up the hash mmu paths. For now, put near-duplicate versions into mmu-hash64.c and mmu-hash32.c, leaving the old version in mmu_helper.c for 6xx software loaded tlb implementations. The hash 32 and software loaded implementations are simplfied slightly, using the fact that no 32-bit CPUs implement the 3rd page protection bit. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f2ad6be83bc284d6c7677bdca879db38d4fdccd5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:13 2013 +0000 target-ppc: Disentangle hash mmu versions of cpu_get_phys_page_debug() cpu_get_phys_page_debug() is a trivial wrapper around get_physical_address(). But even the signature of get_physical_address() has some things we'd like to clean up on a per-mmu basis, so this patch moves the test on mmu model out to cpu_get_phys_page_debug(), moving the version for 64-bit hash MMUs out to mmu-hash64.c and the version for 32-bit hash MMUs to mmu-hash32.c Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 25de24ab838be5801d5cc13b8a347922a3770fa5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:12 2013 +0000 target-ppc: Disentangle hash mmu paths for cpu_ppc_handle_mmu_fault cpu_ppc_handle_mmu_fault() calls get_physical_address() (whose behaviour depends on MMU type) then, if that fails, issues an appropriate exception - which again has a number of dependencies on MMU type. This patch starts converting cpu_ppc_handle_mmu_fault() to have a single switch on MMU type, calling MMU specific fault handler functions which deal with both translation and exception delivery appropriately for the MMU type. We convert 32-bit and 64-bit hash MMUs to this new model, but the existing code is left in place for other MMU types for now. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 629bd516fda67c95ba1c7d1393bacb9e68ea0712 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:11 2013 +0000 target-ppc: Disentangle get_physical_address() paths Depending on the MSR state, for 64-bit hash MMUs, get_physical_address can either call check_physical (which has further tests for mmu type) or get_segment64. Similarly for 32-bit hash MMUs we can either call check_physucal or get_bat() and get_segment32(). This patch splits off the whole get_physical_addresss() path for hash MMUs into 32-bit and 64-bit versions, handling real mode correctly for such MMUs without going to check_physical and rechecking the mmu type. Correspondingly, the hash MMU specific paths in check_physical() are removed. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 44bc910794eff956ceba0030f0751a26bed748b5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:10 2013 +0000 target-ppc: Rework get_physical_address() Currently get_physical_address() first checks to see if translation is enabled in the MSR, then in the translation on case switches on the mmu type. Except that for BookE MMUs, translation is always on, and so it has to switch in the "translation off" case as well and do the same thing as the translation on path for those MMUs. Plus, even translation off doesn't behave exactly the same on the various MMU types so there are further mmu type checks in the "translation off" path. As a first step to cleaning this up, this patch moves the switch on mmu type to the top level, then makes the translation on/off check just for those mmu types where it is meaningful. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0480884f1404295ba0d242791e036b05c4957bab Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:09 2013 +0000 target-ppc: Disentangle get_segment() The poorly named get_segment() function handles most of the address translation logic for hash-based MMUs. It has many ugly conditionals on whether the MMU is 32-bit or 64-bit. This patch splits the function into 32 and 64-bit versions, using the switch on mmu_type that's already in the caller (get_physical_address()) to select the right one. Most of the original function remains in mmu_helper.c to support the 6xx software loaded TLB implementations (cleaning those up is a project for another day). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c69b6151e7f242b02f261f321c392e5ef933176f Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:08 2013 +0000 target-ppc: Disentangle find_pte() 32-bit and 64-bit hash MMU implementations currently share a find_pte function. This results in a whole bunch of ugly conditionals in the shared function, and not all that much actually shared code. This patch separates out the 32-bit and 64-bit versions, putting then in mmu-hash64.c and mmu-has32.c, and removes the conditionals from both versions. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9d7c3f4a2935a70e7299a6862792bbfc48d62211 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:07 2013 +0000 target-ppc: Disentangle pte_check() Currently support for both 32-bit and 64-bit hash MMUs share an implementation of pte_check. But there are enough differences that this means the shared function has several very ugly conditionals on "is_64b". This patch cleans things up by separating out the 64-bit version (putting it into mmu-hash64.c) and the 32-bit hash version (putting it in mmu-hash32.c). Another copy remains in mmu_helper.c, which is used for the 6xx software loaded TLB paths. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 10b4652543313ca82284193fa107151c437f9b04 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:06 2013 +0000 target-ppc: Move SLB handling into a mmu-hash64.c As a first step to disentangling the handling for 64-bit hash MMUs from the rest, we move the code handling the Segment Lookaside Buffer (SLB) (which only exists on 64-bit hash MMUs) into a new mmu-hash64.c file. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8152ceaf6eea6d63f6ee65eb419fff56bb3b987b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:05 2013 +0000 target-ppc: Remove address check for logging One LOG_MMU statement in mmu_helper.c has an odd check on the effective address being translated. I can see no reason for this; I suspect it was a debugging hack from long ago. This patch removes it. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 213c718080f51aa4f054a79c0c5743e0e2c15f67 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:04 2013 +0000 target-ppc: Trivial cleanups in mmu_helper.c This removes the never-used pte64_invalidate() function, and makes ppcmas_tlb_check() static, since it's only used within that file. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9baea4a303323932ec913728173ea38a4af05f3e Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:03 2013 +0000 target-ppc: Remove vestigial PowerPC 620 support The PowerPC 620 was the very first 64-bit PowerPC implementation, but hardly anyone ever actually used the chips. qemu notionally supports the 620, but since we don't actually have code to implement the segment table, the support is broken (quite likely in other ways too). This patch, therefore, removes all remaining pieces of 620 support, to stop it cluttering up the platforms we actually care about. This includes removing support for the ASR register, used only on segment table based machines. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d6478bc7e92db4669fac701d7bb8c51756b61d8a Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Mar 19 07:41:53 2013 +0000 PPC/GDB: handle read and write of fpscr Although the support of this register may be uncomplete, there are no reason to prevent the debugger from reading or writing it. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b5651605836fd29572fd4c8769af5378d351712 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 15:53:28 2013 +0000 pseries: Move XICS initialization before cpu initialization Currently, the pseries machine initializes the cpus, then the XICS interrupt controller. However, to support the upcoming in-kernel XICS implementation we will need to initialize the irq controller before the vcpus. This patch makes the necesssary rearrangement. This means the xics init code can no longer auto-detect the number of cpus ("interrupt servers" in XICS terminology) and so we must pass that in explicitly from the platform code. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c6304a4a6822f0e3e45c94b89d4e328057355683 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 15:53:27 2013 +0000 target-ppc: Remove CONFIG_PSERIES dependency in kvm.c target-ppc/kvm.c has an #ifdef on CONFIG_PSERIES, for the handling of KVM exits due to a PAPR hypercall from the guest. However, since commit e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 "ppc: express FDT dependency of pSeries and e500 boards via default-configs/", this hasn't worked properly. That patch altered the configuration setup so that although CONFIG_PSERIES is visible from the Makefiles, it is not visible from C files. This broke the pseries machine when KVM is in use. This patch makes a quick and dirty fix, by removing the CONFIG_PSERIES dependency, replacing it with TARGET_PPC64 (since removing it entirely leads to type mismatch errors). Technically this breaks the build when configured with --disable-fdt, since that disables CONFIG_PSERIES on TARGET_PPC64. However, it turns out the build was already broken in that case, so this fixes pseries kvm without breaking anything extra. I'm looking into how to fix that build breakage, but I don't think that need delay applying this patch. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 89dfd6e1b3c0b31ef700203808be2a9a71947d1d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 15:53:25 2013 +0000 pseries: Remove "busname" property for PCI host bridge Currently the "spapr-pci-host-bridge" device has a "busname" property which can be used to override the default assignment of qbus names for the bus subordinate to the PHB. We use that for the default primary PCI bus, to make libvirt happy, which expects there to be a bus named simply "pci". The default qdev core logic would name the bus "pci.0", and the pseries code would otherwise name it "pci@800000020000000" which is the name it is given in the device tree based on its BUID. The "busname" property is rather clunky though, so this patch simplifies things by just using a special case hack for the default PHB, setting busname to "pci" when index=0. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a4e044c30e0044947fd0d69b1888d916f96bba6b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 14 17:59:29 2013 +0000 pseries: Fix breakage in CPU QOM conversion Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad "cpu: Move halted and interrupt_request fields to CPUState" broke the pseries machine. That's because it uses CPU() instead of ENV_GET_CPU() to convert from the global first_cpu pointer (still a CPUArchState) to a CPUState. This patch fixes the breakage. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8b4a89884196aaa9115fee900396498b78245c91 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 19 12:25:43 2013 +0100 serial: Fix debug format strings This fixes the build of hw/serial.c with DEBUG_SERIAL enabled. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 085d813407453e498e05c37d988efba8c6f5af0a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 18 17:20:07 2013 +0000 Fix typos and misspellings Fix various typos and misspellings. The bulk of these were found with codespell. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a7b66fa7aefb8dce564f0fa665de7965d3007148 Author: Doug Goldstein <cardoe@xxxxxxxxxx> Date: Sun Mar 17 15:43:26 2013 -0500 Advertise --libdir in configure --help output The configure script allows you to supply a libdir via --libdir but was not advertising this in --help. Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx> CC: qemu-trivial@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c7cfd65b326fcff9cb0bf53c643768a5f1e6b7a Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Mar 15 14:32:01 2013 +0800 memory: fix a bug of detection of memory region collision The collision reports before and after this patch are: before: warning: subregion collision cfc/4 (pci-conf-data) vs cf8/4 (pci-conf-idx) warning: subregion collision 8000000/f8000000 (pci-hole) vs 0/8000000 (ram-below-4g) warning: subregion collision 100000000/4000000000000000 (pci-hole64) vs 8000000/f8000000 (pci-hole) warning: subregion collision 4d1/1 (kvm-elcr) vs 4d0/1 (kvm-elcr) warning: subregion collision fec00000/1000 (kvm-ioapic) vs 8000000/f8000000 (pci-hole) warning: subregion collision 80/1 (ioport80) vs 7e/2 (kvmvapic) warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000 (pci-hole) warning: subregion collision 81/3 (dma-page) vs 80/1 (ioport80) warning: subregion collision 8/8 (dma-cont) vs 0/8 (dma-chan) warning: subregion collision d0/10 (dma-cont) vs c0/10 (dma-chan) warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont) warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan) warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd) warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data) warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr) warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit) warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc) warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic) warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic) warning: subregion collision 4/2 (acpi-cnt) vs 0/4 (acpi-evt) warning: subregion collision 30/8 (apci-smi) vs 20/10 (apci-gpe0) warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs 8000000/f8000000 (pci-hole) after: warning: subregion collision fec00000/1000 (kvm-ioapic) vs 8000000/f8000000 (pci-hole) warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000 (pci-hole) warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont) warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan) warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd) warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data) warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr) warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit) warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc) warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic) warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic) warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs 8000000/f8000000 (pci-hole) Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9957fc7f1ed731e5228089ead3f350341cdd29c0 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Mar 8 19:58:32 2013 +0100 MinGW: Replace setsockopt by qemu_setsocketopt Instead of adding missing type casts which are needed by MinGW for the 4th argument, the patch uses qemu_setsockopt which was invented for this purpose. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fe42d7fb0f4a05fb393e1efbd681f33a0154c644 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Mar 20 08:27:50 2013 +0100 virtio-ccw, s390-virtio: Use generic virtio-blk macro. Now that virtio-ccw and s390-virtio define all common properties for virtio-blk, we can switch to using the generic DEFINE_VIRTIO_BLK_PROPERTIES macro. CC: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit da0a58b93c88d874233902f459e01300a78e5f9d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Mar 13 15:20:07 2013 +0100 s390-virtio, virtio-ccw: Add config_wce for virtio-blk. There's no reason why we wouldn't want to make the cache mode configurable. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 131cd73705bc5551ae4b64476399d440e8ac55a7 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Mar 13 14:43:22 2013 +0100 virtio-ccw: Add missing blk chs properties. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit afed26082219b49443193b4ac32d113bbcf967fd Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Tue Mar 19 17:34:47 2013 +0100 microblaze: Ignore non-cpu accesses to unmapped areas Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f7d42093a5e54d48cab62695a374806d4303bd6b Merge: c8a6ae8... c45e5b5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 19 08:01:07 2013 -0500 Merge remote-tracking branch 'kraxel/ipxe.2' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/ipxe.2: Switch to efi-enabled nic roms by default Add efi rom binaries Add Makefile rules to build nic rom binaries with efi support Update ipxe submodule to latest master Add Makefile rules to build nic rom binaries commit c8a6ae8bb95477d5ac11d9b491b603b2d190a96e Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Mar 19 14:23:27 2013 +0800 add a boot option to do strict boot Seabios already added a new device type to halt booting. Qemu can add "HALT" at the end of bootindex string, then seabios will halt booting after trying to boot from all selected devices. This patch added a new boot option to configure if boot from un-selected devices. This option only effects when boot priority is changed by bootindex options, the old style(-boot order=..) will still try to boot from un-selected devices. v2: add HALT entry in get_boot_devices_list() v3: rebase to latest qemu upstream Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1363674207-31496-1-git-send-email-akong@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8510d91ebad522685bc1a29e7bbc1f5050af0d2c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 18 20:28:21 2013 +0000 ui/cocoa.m: Fix compile failures introduced by recent console changes Fix various compilation failures introduced by the recent console changes. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363638501-29603-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 277ba8a6d717abb2f36896cd9877a68d2cf03d77 Merge: 2c8a594... a8e5cc0... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 19 07:58:44 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (2) and others # Via Kevin Wolf * kwolf/for-anthony: virtio-blk: Do not segfault fault if failed to initialize dataplane qemu-iotests: add 052 BDRV_O_SNAPSHOT test block: fix BDRV_O_SNAPSHOT protocol detection qcow2: Fix segfault in qcow2_invalidate_cache sheepdog: show error message for halt status commit 2c8a59422c06fe1e37c85502d92ccdfb5e2ac987 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 19 13:38:09 2013 +0100 char: Fix return type of qemu_chr_fe_add_watch() qemu_chr_fe_add_watch() can return negative errors, therefore it must not have an unsigned return type. For consistency with other qemu_chr_fe_* functions, this uses a standard C int instead of glib types. In situations where qemu_chr_fe_add_watch() is falsely assumed to have succeeded, the serial ports would go into a state where it never becomes ready for transmitting more data; this is fixed by this patch. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f628926bb423fa8a7e0b114511400ea9df38b76a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 10:57:56 2013 +0100 fix monitor chardev flow control broke monitor, fix it by adding watch support. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a8e5cc0c076a6e3a62f0e9aad88b007dccf3dd17 Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Date: Tue Mar 19 16:27:29 2013 +0800 virtio-blk: Do not segfault fault if failed to initialize dataplane $ ~/usr/bin/qemu-system-x86_64 -enable-kvm -m 1024 -drive if=none,id=drive0,cache=none,aio=native,format=raw,file=/root/Image/centos-6.4.raw -device virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on # make dataplane fail to initialize qemu-system-x86_64: -device virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on: device is incompatible with x-data-plane, use config-wce=off *** glibc detected *** /root/usr/bin/qemu-system-x86_64: free(): invalid pointer: 0x00007f001fef12f8 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x7d776)[0x7f00153a5776] /root/usr/bin/qemu-system-x86_64(+0x2c34ec)[0x7f001cf5b4ec] /root/usr/bin/qemu-system-x86_64(+0x342f9a)[0x7f001cfdaf9a] /root/usr/bin/qemu-system-x86_64(+0x33694e)[0x7f001cfce94e] .................... (gdb) bt #0 0x00007f3bf3a12015 in raise () from /lib64/libc.so.6 #1 0x00007f3bf3a1348b in abort () from /lib64/libc.so.6 #2 0x00007f3bf3a51a4e in __libc_message () from /lib64/libc.so.6 #3 0x00007f3bf3a57776 in malloc_printerr () from /lib64/libc.so.6 #4 0x00007f3bfb60d4ec in free_and_trace (mem=0x7f3bfe0129f8) at vl.c:2786 #5 0x00007f3bfb68cf9a in virtio_cleanup (vdev=0x7f3bfe0129f8) at /root/Develop/QEMU/qemu/hw/virtio.c:900 #6 0x00007f3bfb68094e in virtio_blk_device_init (vdev=0x7f3bfe0129f8) at /root/Develop/QEMU/qemu/hw/virtio-blk.c:666 #7 0x00007f3bfb68dadf in virtio_device_init (qdev=0x7f3bfe0129f8) at /root/Develop/QEMU/qemu/hw/virtio.c:1092 #8 0x00007f3bfb50da46 in device_realize (dev=0x7f3bfe0129f8, err=0x7fff479c9258) at hw/qdev.c:176 ............................. In virtio_blk_device_init(), the memory which vdev point to is a static member of "struct VirtIOBlkPCI", not heap memory, and it does not get freed. So we shoule use virtio_common_cleanup() to clean this VirtIODevice rather than virtio_cleanup(), which attempts to free the vdev. This error was introduced by commit 05ff686536f408ba6e8426b1b54d25bd3379fda2 recently. Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f95e26ddf526a025aa1334bbe527739397970443 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 18 17:58:54 2013 +0100 qemu-iotests: add 052 BDRV_O_SNAPSHOT test Check that writes to an image opened with BDRV_O_SNAPSHOT do not modify the underlying image file. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4d70655bcb852ea0a006d3923f0b0a9c69ff462e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 18 17:58:53 2013 +0100 block: fix BDRV_O_SNAPSHOT protocol detection realpath(3) is used to get an absolute path to the image file when creating a -drive snapshot=on temporary qcow2. This does not work for protocols since their filenames ("proto:foo:...") do not correspond to file system paths. Commit 7c96d46ec245d73fd76726588409f9abe4bd5dc1 ("Let snapshot work with protocols") skipped realpath(3) for protocols. Later on the "raw" format was introduced and broke the check. Use path_has_protocol(filename) to decide if this image uses a protocol or a filename. Reported-by: Richard Jones <rjones@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acdfb480ba7e2779bdbffb5280cf12ff6e43669c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 13:08:10 2013 +0100 qcow2: Fix segfault in qcow2_invalidate_cache Need to pass an options QDict to qcow2_open() now. This fixes a segfault on the migration target with qcow2. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit fca23f0ad211e4debf80796a65165d0eea146424 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Mar 18 14:27:55 2013 +0800 sheepdog: show error message for halt status Sheepdog (neither quorum nor unsafe mode) will refuse to serve IO requests when number of alive nodes is less than that of copies specified by users. This will return 0x19 to QEMU client which currently doesn't recognize it. This patch adds an error description when QEMU client receives it, other than plainly printing 'Invalid error code' Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b1e5fff4afd0c47148b0d9f9341887ae2c3eb9af Author: Michael Walle <michael@xxxxxxxx> Date: Wed Mar 6 20:23:32 2013 +0100 configure: rename OpenGL feature to GLX As the probe now actually checks for the availability of GLX, rename it accordingly. The only user of this feature is the milkymist-tmu2 model. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit d3fcbb16789c6f975ba6e22d8a2ba477519f51bc Author: Michael Walle <michael@xxxxxxxx> Date: Wed Mar 6 20:16:58 2013 +0100 configure: proper OpenGL/GLX probe Probe for GL and GLX symbols and X11 library. This fixes a build error where the header files are available but the libraries are not. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 6635075596e0ae583de9c04ff605e16ceaa7d294 Author: Michael Walle <michael@xxxxxxxx> Date: Sun Mar 3 23:17:48 2013 +0100 target-lm32: use HELPER() macro Instead of hardcoding the function name, use the HELPER() macro for this. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit a5b0f6d5c0f6678c078354c432a1f0943374f087 Author: Michael Walle <michael@xxxxxxxx> Date: Tue Feb 26 19:51:52 2013 +0100 target-lm32: flush tlb after clearing env The tlb data is stored within the CPU env. Therefore, the initialization has to be done after we clear the environment. Otherwise the tlb will have a valid entry for address 0x0. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit de55c4bd8bd163ec6c10edc085193bbcf8f9e15e Author: Michael Walle <michael@xxxxxxxx> Date: Mon Feb 25 18:28:57 2013 +0100 target-lm32: remove dead code Signed-off-by: Michael Walle <michael@xxxxxxxx> commit df5eb7d2c871ccd708e0f45cdc5d79b73550731b Author: Michael Walle <michael@xxxxxxxx> Date: Fri Dec 14 18:14:04 2012 +0100 target-lm32: fix cmpgui and cmpgeui opcodes For unsigned compares the immediate has to be zero extended. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 6036e9d87e73c511fef48a3c06267f92e613fca9 Author: Michael Walle <michael@xxxxxxxx> Date: Fri Dec 14 18:13:06 2012 +0100 tests: tcg: lm32: add more test cases Esp. for testing zero/sign extend in compare operations. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 608a03c1df217f2111765575a91c6448218369a7 Author: Michael Walle <michael@xxxxxxxx> Date: Wed Sep 12 19:48:42 2012 +0200 target-lm32: don't log cpu state in translation Don't dump the cpu state because it can also be enabled by the "-d cpu" parameter. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 562f5f5d9e8415cac3ca2eb768dabf068e8e0f4a Author: Michael Walle <michael@xxxxxxxx> Date: Tue Jul 31 00:04:57 2012 +0200 lm32_uart: fix receive buffering Inform qemu-char when more input data can be received. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 44ac582d80688ea049c96a20868f4333c6885404 Author: Michael Walle <michael@xxxxxxxx> Date: Tue Jul 31 00:04:57 2012 +0200 milkymist-uart: fix receive buffering Inform qemu-char when more input data can be received. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit ab2b9f174db088633922eaa82c2bcffd84e6bb94 Author: Michael Walle <michael@xxxxxxxx> Date: Mon Jul 16 19:05:59 2012 +0200 lm32-dis: fix NULL pointer dereference Signed-off-by: Michael Walle <michael@xxxxxxxx> commit b92e062a6f53251feef0969135b539d1fb33f7d6 Author: Michael Walle <michael@xxxxxxxx> Date: Thu Apr 5 19:52:54 2012 +0200 target-lm32: fix debug memory access CPU models which have the LM32_FLAG_IGNORE_MSB flag set will shadow the lower 2GB to the upper 2GB memory space. This will fix the debug memory access used by qemu console and GDB to match this behaviour. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 2d62a95766025e6a0a333528278936e2cc8bf978 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:28 2013 +0100 virtio-blk: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-12-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1cc91b7df687289abc0ae09083ac564d01408be8 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:27 2013 +0100 virtio-blk: cleanup: QOM cast Use QOM casts inside virtio-blk. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-11-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 05ff686536f408ba6e8426b1b54d25bd3379fda2 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:26 2013 +0100 virtio-blk: cleanup: init and exit functions. As all virtio-blk-* are switched to the new API, we can remove the separate init/exit for the old API. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-10-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3400c455048a8db26db1b537ea32fa21335ea301 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:25 2013 +0100 virtio-blk-ccw switch to new API. Here the virtio-ccw-s390 is modified for the new API. The device virtio-ccw-s390 extends virtio-ccw-device as before. It creates and connects a virtio-ccw during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-9-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 55d11e01cca9b83b8cdccbd29d4f078cbe4a185c Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:24 2013 +0100 virtio-blk-s390: switch to the new API. Here the virtio-blk-s390 is modified for the new API. The device virtio-blk-s390 extends virtio-s390-device as before. It creates and connects a virtio-blk during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 653ced071b061bbd9cc7d03374be93dcefb37910 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:23 2013 +0100 virtio-blk-pci: switch to new API. Here the virtio-blk-pci is modified for the new API. The device virtio-blk-pci extends virtio-pci. It creates and connects a virtio-blk during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1c028ddfb0c5004c8ec86c96ae09068026e77a38 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:22 2013 +0100 virtio-blk: add the virtio-blk device. Create virtio-blk which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da3dcefa648f92bfef2f99351fb6ec6a86da4695 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:21 2013 +0100 virtio-blk: don't use pointer for configuration. The configuration field must not be a pointer as it will be used for virtio-blk properties. So *blk is replaced by blk in VirtIOBlock structure. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 10479a80893fb2666026ce0fea2251be3070b6e2 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:20 2013 +0100 virtio-pci: fix hot unplug. Hot unplug failed because it tried to free the virtio device two times. This fix the issue by removing the call to virtio_bus_destroy_device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1363624648-16906-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cbd19063e75c64ac5e4029f76198c7ba65a63b00 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:19 2013 +0100 virtio-x-bus: fix allow_hotplug assertion. This set allow_hotplug for each existing virtio-x-bus, allowing the refactored devices to be hot pluggable. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1363624648-16906-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f1b24e840f9f85a2bb3912e4507d887e7858219d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:18 2013 +0100 virtio: make virtio device's structures public. These structures must be made public to avoid two memory allocations for refactored virtio devices. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363624648-16906-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Changes V4 <- V3: * Rebased on current git. Changes V3 <- V2: * Style correction spotted by Andreas (virtio-scsi.h). * Style correction for virtio-net.h. Changes V2 <- V1: * Move the dataplane include into the header (virtio-blk). Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e531761d63b7f8fe6b6423fafb3616ebbff768aa Merge: b1999e8... 1562e53... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 18 07:34:24 2013 -0500 Merge remote-tracking branch 'kraxel/pixman.v8' into staging # By Gerd Hoffmann (18) and others # Via Blue Swirl (1) and Gerd Hoffmann (1) * kraxel/pixman.v8: (37 commits) console: remove ds_get_* helper functions console: zap color_table console: stop using DisplayState in gfx hardware emulation console: zap displaystate from dcl callbacks cocoa: stop using DisplayState spice: stop using DisplayState sdl: stop using DisplayState vnc: stop using DisplayState gtk: stop using DisplayState console: add surface_*() getters console: rework DisplaySurface handling [dcl/ui side] console: rework DisplaySurface handling [vga emu side] sdl: drop dead code qxl: better vga init in enter_vga_mode qxl: zap qxl0 global spice: zap sdpy global console: kill DisplayState->opaque console: fix displaychangelisteners interface s390: Fix cpu refactoring fallout. target-mips: fix rndrashift_short_acc and code for EXTR_ instructions ... commit 1562e53112fd1082c656a06d953a7447ab17e6e1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 13:40:47 2013 +0100 console: remove ds_get_* helper functions Switch the few remaining ds_get_* uses in console.c over to the new surface_* accessors. While doing so tripped over a few leftovers from commit a93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0 as indicator for textmode rendering). Fixed them up. Finally dropped ds_get_* helper helpers. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cf6f05481affb600da22dba3c0bc2564e918e8f1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 09:50:51 2013 +0100 console: zap color_table qemu_create_surface hands out 32bpp surfaces. So we can just use color_table_rgb directly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c78f71378a345ea240c288993ca1378ded5504b9 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 5 15:24:14 2013 +0100 console: stop using DisplayState in gfx hardware emulation Use QemuConsole instead. Updates interfaces in console.[ch] and adapts gfx hardware emulation code. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bc2ed9704fff2c721e4056ab5281f0291718bfa6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 1 13:03:04 2013 +0100 console: zap displaystate from dcl callbacks Now that nobody depends on DisplayState in DisplayChangeListener callbacks any more we can remove the parameter from all callbacks. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5e00d3ac475fb4c9afa17612a908e933fe142f00 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 1 12:52:06 2013 +0100 cocoa: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 71874c1751ebb7368eaa023a35ac919d2c1c5e4c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 16:42:28 2013 +0100 spice: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8db9bae94eadcb7d5d07af1ba0c642aafafc5498 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 1 09:01:13 2013 +0100 sdl: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d39fa6d86d07646e3481e5c3e45a984bff590642 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 17:16:48 2013 +0100 vnc: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9d9801cf803cdceaa4845fe27150b24d5ab083e6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 16:10:02 2013 +0100 gtk: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Factor out the window size handling to a separate function, so the zoom callbacks can call that directly instead of abusing the gd_switch DisplayStateListener callback for that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 626e3b34e30bc62d4f25f7aa4e23a346eba1a2c0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 15:24:14 2013 +0100 console: add surface_*() getters Add convinence wrappers to query DisplaySurface properties. Simliar to ds_get_*, but operating in the DisplaySurface not the DisplayState. With this patch in place ui frontents can stop using DisplayState in the rendering code paths, they can simply operate using the DisplaySurface passed in via dpy_gfx_switch callback. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c12aeb860c63ba83190f962e2f0a1c5fe18ad3a6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 15:03:04 2013 +0100 console: rework DisplaySurface handling [dcl/ui side] Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener callbacks with a dpy_gfx_switch callback which notifies the ui code when the framebuffer backing storage changes. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit da229ef3b3c5709b01d62e7a6e213b31bca33d16 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 10:48:02 2013 +0100 console: rework DisplaySurface handling [vga emu side] Decouple DisplaySurface allocation & deallocation from DisplayState. Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surface function. This handles the graphic hardware emulation. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 468dfd6de2df3cbaed8c5cc43f8fbde6f94f9dbc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 10:48:36 2013 +0100 sdl: drop dead code DisplayAllocator removal (commit 187cd1d9f30d13f0d0ef682e4d91cfa3e4cbd472) made this a nop. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c099e7aa0295678859d58e9e60b7619f6ae3bac8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 11:08:50 2013 +0100 qxl: better vga init in enter_vga_mode Ask the vga core to update the display. Will trigger dpy_gfx_resize if needed. More complete than just calling dpy_gfx_resize. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c6c06853d99127c03778fc1bf9bc2d96a05c108e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 12:15:00 2013 +0100 qxl: zap qxl0 global DisplayChangeListener is passed now to all DisplayChangeListenerOps callbacks, so we can use that to access the qxl state and kill the qxl0 global variable. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9c80a315b47a64043f6b91bd6f14352a455b323e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 14:47:07 2013 +0100 spice: zap sdpy global DisplayChangeListener is passed now to all DisplayChangeListenerOps callbacks, so we can use that to access the spice display state and kill the sdpy global variable. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 21ef45d71221b4577330fe3aacfb06afad91ad46 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 11:34:31 2013 +0100 console: kill DisplayState->opaque It's broken by design. There can be multiple DisplayChangeListener instances, so they simply can't store state in the (single) DisplayState struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn. With DisplayChangeListenerOps having a more sane interface now we can simply use the DisplayChangeListener pointer to get access to our private data instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7c20b4a374d0016e3fce005690fb428354a56621 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Nov 13 14:51:41 2012 +0100 console: fix displaychangelisteners interface Split callbacks into separate Ops struct. Pass DisplayChangeListener pointer as first argument to all callbacks. Uninline a bunch of display functions and move them from console.h to console.c Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Feb 26 17:46:11 2013 +0100 Switch to efi-enabled nic roms by default All PCI nics are switched to EFI-enabled roms by default. They are composed from three images (legacy, efi ia32 & efi x86), so classic pxe booting will continue to work. Exception: eepro100 is not switched, it uses a single rom for all emulated eepro100 variants, then goes patch the rom header on the fly with the correct PCI IDs. I doubt that will work as-is with the efi roms. Keep old roms for 1.4+older machine types via compat properties, needed because the efi-enabled roms are larger so the pci rom bar size would change. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8a24d3cb9be9bca2b77a4e9eb1a62ed735af712e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 4 10:19:29 2013 +0100 Add efi rom binaries Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2f3f430d7cca3f67ef9b539dbc008d71eb6a3bd0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Feb 26 16:45:58 2013 +0100 Add Makefile rules to build nic rom binaries with efi support "make -C roms efirom" will build rom binaries with EFI support. They are composed from three images: legacy bios, efi ia32 and efi x64. So netbooting via SeaBIOS will continue to work like it does today, and additionally we get network support for EFI. This target needs the EfiRom utility (shipped with edk2) somewhere in the $PATH. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c3d8dab3298c64267411fb470e3d1e18871a359b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 09:14:12 2013 +0100 Update ipxe submodule to latest master Needed for efi support. ipxe is grown a bit, so *not* recompiling the (non-efi) pxe roms because that would make some pxe roms larger than 64k, which in turn would be a guest-visible change because the rom bar size grows from 64k to 128k. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2397edd7354ebbcebf3cd55dc3c0b1fe7621794b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 8 16:35:08 2013 +0100 Add Makefile rules to build nic rom binaries "make -C roms pxerom" will build the ipxe roms and update the binaries in pc-bios/, i.e. it basically documents how the build process of our current nic roms works. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 225dc991b03f0f034aa348f5cf499de9d0979107 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Mar 15 10:57:40 2013 +0100 s390: Fix cpu refactoring fallout. Commit 259186a7 "cpu: Move halted and interrupt_request fields to CPUState" seems to have missed one instance in target-s390x/kvm.c: /home/cohuck/git/qemu/target-s390x/kvm.c: In function â??kvm_arch_process_async_eventsâ??: /home/cohuck/git/qemu/target-s390x/kvm.c:319: error: â??CPUS390XStateâ?? has no member named â??haltedâ?? /home/cohuck/git/qemu/target-s390x/kvm.c:320: warning: control reaches end of non-void function make[1]: *** [target-s390x/kvm.o] Error 1 Let's just switch to cs->halted. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7fb7377594887db99a2100adcddf3bd6394ef540 Merge: 8b758d0... f8b9fe2... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Mar 17 17:44:47 2013 +0000 Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm: xilinx_spips: QOM styling fixes xilinx_spips: Add missing dual-bus snoop commands xilinx_spips: Fix bus setup conditional check xilinx_spips: Set unused IRQs to NULL xilinx_zynq: added pl330 to machine model pl330: Initial version iov: Factor out hexdumper hw/vexpress: Set reset values for daughterboard oscillators hw/arm_sysctl: Implement SYS_CFG_OSC function hw/vexpress: Pass voltage sensor properties to sysctl device hw/arm_sysctl: Implement SYS_CFG_VOLT qdev: Implement (variable length) array properties hw/arm_sysctl: Convert from qdev init to instance_init hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way hw/vexpress: Pass proc_id via VEDBoardInfo commit 0402a5d65ec004df5345d1f736e2ddaa7aee6665 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Mar 6 14:58:59 2013 +0200 qdev: DEVICE_DELETED event libvirt has a long-standing bug: when removing the device, it can request removal but does not know when the removal completes. Add an event so we can fix this in a robust way. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 8b758d0568a986d58c254b3c209691c82e0f82a1 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Fri Mar 15 18:56:19 2013 +0100 target-mips: fix rndrashift_short_acc and code for EXTR_ instructions Fix for rndrashift_short_acc to set correct value to higher 64 bits. This change also corrects conditions when bit 23 of the DSPControl register is set. The existing test files have been extended with several examples that trigger the issues. One bug/example in the test file for EXTR_RS_W has been found and reported by Klaus Peichl. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f8b9fe249a706bfed61e0bb66c73394553696382 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:59 2013 +0000 xilinx_spips: QOM styling fixes Few fixes for the latest QOM styling guides. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: de9daeee6c142e8b57ad042fd680cedcdc94d2fc.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 08a9635b68757e18a6a8bf8569353b40bb6c1fd1 Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Date: Fri Mar 15 16:41:59 2013 +0000 xilinx_spips: Add missing dual-bus snoop commands Added additional commands to the switch to check for when snooping commands in dual bus mode setups. Cleaned up code to use an enum. Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 848c116c711dab0af10729a487968384aadd9faf.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e0891bd8bfd3349fc3fecde30e51900059f53f11 Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Date: Fri Mar 15 16:41:59 2013 +0000 xilinx_spips: Fix bus setup conditional check The R_LQPSI_CFG register has the LQSPI_CFG_SEP_BUS and LQSPI_CFG_TWO_MEM bits. Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: d76c8e364c80a42352ae4f0661aff2cd17ad32a4.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2790cd911e563f7fec7eeb7856b7f5f54437cc0a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 xilinx_spips: Set unused IRQs to NULL Unused CS lines should init to 0 to avoid segfaulting when accessing an unattached QSPI controller. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: c1e45198032106e69e8fe9339fc2e6348d524fcd.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 7451afb67136275f2461f2d23139f2abed1f15b3 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 xilinx_zynq: added pl330 to machine model Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 5bc295bd2aa50dfe573f428574dbd7d8add7b3f8.1361853677.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 06a1cea5f631f6ac69f85ae07bb47ef47b88f5f7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 pl330: Initial version Device model for Primecell PL330 DMA controller. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Kirill Batuzov <batuzovk@xxxxxxxxx> Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 098aac26233d7334bed2bca4f06f539638ca6d24.1361853677.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6ff66f50f0999c3455c39de68fc2d2949963c796 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 iov: Factor out hexdumper Factor out the hexdumper functionality from iov for all to use. Useful for creating verbose debug printfery that dumps packet data. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: faaac219c55ea586d3f748befaf5a2788fd271b8.1361853677.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9c7d489379c2a2923b4805d337dfd54f2f432449 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 hw/vexpress: Set reset values for daughterboard oscillators Set the reset values for the VExpress daughterboard oscillators via the new sysctl properties. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1f81f94bebc2f8c4b32a89910d071099a67dc44d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_OSC function Implement the SYS_CFG_OSC function. Since the idea of programmable clock rates doesn't make much sense for QEMU, we simply allow the clock rate to be read back as written. The number and value of the daughterboard oscillators varies between daughterboards, so we provide an array property to allow their reset values to be configured. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 31410948bc1c8001098b076caf35aab8a5cf063d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 hw/vexpress: Pass voltage sensor properties to sysctl device Pass voltage sensor properties to the sysctl device. Since these are daughterboard specific, we specify them via the VEDBoardInfo structure. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1359985476-29380-9-git-send-email-peter.maydell@xxxxxxxxxx commit 8bd4824a6122292060a318741595927e0d05ff5e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_VOLT Implement the SYS_CFG_VOLT registers which return the voltage of various supplies on motherboard and daughterboard. Since QEMU implements a perfectly stable power supply these registers always return a constant value. The number and value of the daughterboard voltages is dependent on the specific daughterboard, so we use a property array to allow the board to configure them appropriately. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 0be6bfac6262900425c10847de513ee2490078d3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 qdev: Implement (variable length) array properties Add support for declaring array properties for qdev devices. These work by defining an initial static property 'len-arrayname' which the user of the device should set to the desired size of the array. When this property is set, memory is allocated for the array elements, and dynamic properties "arrayname[0]", "arrayname[1]"... are created so the user of the device can then set the values of the individual array elements. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1f56f50ac484653fe996c37ac894418a34f92b89 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Convert from qdev init to instance_init Convert this device from old-style qdev init to an instance_init function. We don't need a realize function yet, though. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 291155cbc54212a451d0b899a01b6e3e14ed9135 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op SYS_CFG_DVIMODE allows the guest to select whether the output DVI signal is VGA, SVGA, XGA, SGA or UXGA. Since this makes no difference to QEMU, implement writes as a no-op so Linux doesn't complain. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8ff05c9842e28888b936dbd960f6416cee5addb6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op SYS_CFG_MUXFPGA allows the guest to select whether the video output should come from the motherboard's LCD controller or the daughterboard's one. Since QEMU doesn't currently support selecting the video output like this, implement as a no-op, so Linux doesn't complain about the register not being implemented. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 71538323358d77f6472d66a30e948a1c23bd9e87 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way The SYS_CFGCTRL register consists of separate fields for DCC, function, site, position and device, as well as a read/write bit. Refactor the code handling SYS_CFGCTRL writes to make it easier to add support for functions like SYS_CFG_OSC which support multiple device fields. We also pull the handling out into its own function for clarity, as there are potentially a lot of implementable subfunctions. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit cdef10bb9373c2c22c517a4deef2363c7ebd5d48 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/vexpress: Pass proc_id via VEDBoardInfo Pass the daughterboard-specific proc_id property to the code that creates the sysctl device via the VEDBoardInfo struct, rather than by having the daughterboard init function write to a uint32_t* argument. This is a cleaner way to pass the info around, and is in line with the way we are going to handle voltage and oscillator initialization. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b1999e87b4d42305419329cae459e1b43f706d96 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 13:57:28 2013 +1100 Fix TAGS creation Currently the Makefile creates TAGS for emacs with the command: find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags That works only if xargs ends up invoking etags just once. If xargs runs etags several times, as it will if there are enough files, then the later invocations will overwrite the output from the earlier invocations. This patch uses the etags --append option to fix the bug. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Message-id: 1363057048-21534-1-git-send-email-david@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dc0b0616f726956001be09e9a65a6e0b0bd939db Merge: d4d7682... 3618a09... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 15 10:47:21 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Stefan Hajnoczi (14) and others # Via Stefan Hajnoczi * stefanha/block: (28 commits) blockdev: Fix up copyright and permission notice qemu-iotests: use -nographic in test case 007 qemu-iotests: add tests for rebasing zero clusters dataplane: fix hang introduced by AioContext transition coroutine: use AioContext for CoQueue BH threadpool: drop global thread pool block: add bdrv_get_aio_context() aio: add a ThreadPool instance to AioContext threadpool: add thread_pool_new() and thread_pool_free() threadpool: move globals into struct ThreadPool main-loop: add qemu_get_aio_context() sheepdog: set io_flush handler in do_co_req sheepdog: use non-blocking fd in coroutine context qcow2: make is_allocated return true for zero clusters qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount() qcow2: drop flush in update_cluster_refcount() qcow2: flush in qcow2_update_snapshot_refcount() qcow2: set L2 cache dependency in qcow2_alloc_bytes() qcow2: flush refcount cache correctly in qcow2_write_snapshots() qcow2: flush refcount cache correctly in alloc_refcount_block() ... commit d4d7682484f339d70355b165a15f8f5e83638e40 Merge: 4f30649... 2362ecc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 15 10:47:00 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Christian Borntraeger (1) and Cornelia Huck (1) # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Wire up virtio-rng. virtio-ccw: remove qdev_unparent in unplug routing commit 3618a094022e984d4e045c6db21aed961b7c6fc9 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Mar 14 13:59:53 2013 +0100 blockdev: Fix up copyright and permission notice Screwed up in commit 666daa68. Thanks to Kevin Wolf for reminding me to fix this. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 804dd41792c8bdc0c8b34c8e580882ff8ef736d8 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 14 17:06:55 2013 +0100 qemu-iotests: use -nographic in test case 007 A comment explains that -nographic hangs test case 007. This is no longer the case so add -nographic. This makes the test suite faster and more pleasant to run since no windows pop up. I am not sure exactly when -nographic starting working for this case but there is no fundamental reason why graphics are needed here. Make sure the serial port is not on stdio, it would conflict with the monitor. Also remove unnecessary trailing whitespace on these lines. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acbf30ec601b1f817febc4500025b7c4181312c4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 13 15:58:13 2013 +0100 qemu-iotests: add tests for rebasing zero clusters If zero clusters are erroneously treated as unallocated, "qemu-img rebase" will copy the backing file's contents onto the cluster. The bug existed also in image streaming, but since the root cause was in qcow2's is_allocated implementation it is enough to test it with qemu-img. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 485e3ce88e8af0e5311dd626f399b3a1e0846dd6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 13 15:14:15 2013 +0100 dataplane: fix hang introduced by AioContext transition The bug is that the EventNotifiers do have a NULL io_flush callback. Because _none_ of the callbacks on the dataplane AioContext have such a callback, aio_poll will simply do nothing. Fixed by adding the callbacks: the ioeventfd will always be polled (this can change in the future to pause/resume the processing during live snapshots or similar operations); the ioqueue will be polled if there are outstanding requests. I must admit I have screwed up my testing somehow, because commit 2c20e71 does not work even if cherry-picked on top of 1.4.0, and this patch fixes it there as well. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 28f082469650a0f4c0e37b4ccd6f9514b1a0698d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:50 2013 +0100 coroutine: use AioContext for CoQueue BH CoQueue uses a BH to awake coroutines that were made ready to run again using qemu_co_queue_next() or qemu_co_queue_restart_all(). The BH currently runs in the iothread AioContext and would break coroutines that run in a different AioContext. This is a slightly tricky problem because the lifetime of the BH exceeds that of the CoQueue. This means coroutines can be awoken after CoQueue itself has been freed. Also, there is no qemu_co_queue_destroy() function which we could use to handle freeing resources. Introducing qemu_co_queue_destroy() has a ripple effect of requiring us to also add qemu_co_mutex_destroy() and qemu_co_rwlock_destroy(), as well as updating all callers. Avoid doing that. We also cannot switch from BH to GIdle function because aio_poll() does not dispatch GIdle functions. (GIdle functions make memory management slightly easier because they free themselves.) Finally, I don't want to move unlock_queue and unlock_bh into AioContext. That would break encapsulation - AioContext isn't supposed to know about CoQueue. This patch implements a different solution: each qemu_co_queue_next() or qemu_co_queue_restart_all() call creates a new BH and list of coroutines to wake up. Callers tend to invoke qemu_co_queue_next() and qemu_co_queue_restart_all() occasionally after blocking I/O, so creating a new BH for each call shouldn't be massively inefficient. Note that this patch does not add an interface for specifying the AioContext. That is left to future patches which will convert CoQueue, CoMutex, and CoRwlock to expose AioContext. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c4d9d19645a484298a67e9021060bc7c2b081d0f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:49 2013 +0100 threadpool: drop global thread pool Now that each AioContext has a ThreadPool and the main loop AioContext can be fetched with bdrv_get_aio_context(), we can eliminate the concept of a global thread pool from thread-pool.c. The submit functions must take a ThreadPool* argument. block/raw-posix.c and block/raw-win32.c use aio_get_thread_pool(bdrv_get_aio_context(bs)) to fetch the main loop's ThreadPool. tests/test-thread-pool.c must be updated to reflect the new thread_pool_submit() function prototypes. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 85d126f3ee666702ac514c66606c62d276c4341c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:48 2013 +0100 block: add bdrv_get_aio_context() For now bdrv_get_aio_context() is just a stub that calls qemu_aio_get_context() since the block layer is currently tied to the main loop AioContext. Add the stub now so that the block layer can begin accessing its AioContext. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9b34277d23a6fb15eb9513006c96d8026beeea1f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:47 2013 +0100 aio: add a ThreadPool instance to AioContext This patch adds a ThreadPool to AioContext. It's possible that some AioContext instances will never use the ThreadPool, so defer creation until aio_get_thread_pool(). The reason why AioContext should have the ThreadPool is because the ThreadPool is bound to a AioContext instance where the work item's callback function is invoked. It doesn't make sense to keep the ThreadPool pointer anywhere other than AioContext. For example, block/raw-posix.c can get its AioContext's ThreadPool and submit work. Special note about headers: I used struct ThreadPool in aio.h because there is a circular dependency if aio.h includes thread-pool.h. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f7311ccc630d925e7351e9440b7ad8bc6f0a51de Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:46 2013 +0100 threadpool: add thread_pool_new() and thread_pool_free() ThreadPool is tied to an AioContext through its event notifier, which dictates in which AioContext the work item's callback function will be invoked. In order to support multiple AioContexts we need to support multiple ThreadPool instances. This patch adds the new/free functions. The free function deserves special attention because it quiesces remaining worker threads. This requires a new condition variable and a "stopping" flag to let workers know they should terminate once idle. We never needed to do this before since the global threadpool was not explicitly destroyed until process termination. Also stash the AioContext pointer in ThreadPool so that we can call aio_set_event_notifier() in thread_pool_free(). We didn't need to hold onto AioContext previously since there was no free function. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b811203cf2fbf83e26f8e8feb2c77784259a4cbd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:45 2013 +0100 threadpool: move globals into struct ThreadPool Move global variables into a struct so multiple thread pools can be supported in the future. This patch does not change thread-pool.h interfaces. There is still a global thread pool and it is not yet possible to create/destroy individual thread pools. Moving the variables into a struct first makes later patches easier to review. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5f3aa1ff4781f39e05b9892d58319a09fedc8918 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:44 2013 +0100 main-loop: add qemu_get_aio_context() It is very useful to get the main loop AioContext, which is a static variable in main-loop.c. I'm not sure whether qemu_get_aio_context() will be necessary in the future once devices focus on using their own AioContext instead of the main loop AioContext, but for now it allows us to refactor code to support multiple AioContext while actually passing the main loop AioContext. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ed9ba7246758e3250849bfa0a055b4eb98fc5152 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Mar 12 16:05:43 2013 +0900 sheepdog: set io_flush handler in do_co_req If an io_flush handler is not set, qemu_aio_wait doesn't invoke callbacks. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0d6db300cd95339cec6b8ab2ef46bd7cdb040959 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Mar 12 16:05:42 2013 +0900 sheepdog: use non-blocking fd in coroutine context Using a blocking socket in the coroutine context reduces the chance of switching to other work. This patch makes the sheepdog driver use a non-blocking fd always. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 381b487d54ba18c73df9db8452028a330058c505 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 6 18:02:01 2013 +0100 qcow2: make is_allocated return true for zero clusters Otherwise, live migration of the top layer will miss zero clusters and let the backing file show through. This also matches what is done in qed. QCOW2_CLUSTER_ZERO clusters are invalid in v2 image files. Check this directly in qcow2_get_cluster_offset instead of replicating the test everywhere. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3647917919dfce5f731755f0ac5955a64bc12570 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:35 2013 +0100 qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount() We already flush when the function completes. There is no need to flush after every compressed cluster. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f9cb2860bd12e223036b61a1f5d1444e57b7efce Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:34 2013 +0100 qcow2: drop flush in update_cluster_refcount() The update_cluster_refcount() function increments/decrements a cluster's refcount and then returns the new refcount value. There is no need to flush since both update_cluster_refcount() callers already take care of this: 1. qcow2_alloc_bytes() calls update_cluster_refcount() when compressed sectors will be appended to an existing cluster with enough free space. qcow2_alloc_bytes() already flushes so there is no need to do so in update_cluster_refcount(). 2. qcow2_update_snapshot_refcount() sets a cache dependency on refcounts if it needs to update L2 entries. It also flushes before completing. Removing this flush significantly speeds up qcow2 snapshot creation: $ qemu-img create -f qcow2 test.qcow2 -o size=50G,preallocation=metadata $ time qemu-img snapshot -c new test.qcow2 Time drops from more than 3 minutes to under 1 second. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2154f24e4e3be4435f17fa4382032f95f19e2972 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:33 2013 +0100 qcow2: flush in qcow2_update_snapshot_refcount() Users of qcow2_update_snapshot_refcount() do not flush consistently. qcow2_snapshot_create() flushes but qcow2_snapshot_goto() and qcow2_snapshot_delete() do not. Solve this by moving the bdrv_flush() into qcow2_update_snapshot_refcount(). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c1f5bafd70a8d9366570a3de472ef108415cd631 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:32 2013 +0100 qcow2: set L2 cache dependency in qcow2_alloc_bytes() Compressed writes use qcow2_alloc_bytes() to allocate space with byte granularity. The affected clusters' refcounts will be incremented but we do not need to flush yet. Set a L2 cache dependency on the refcount block cache, so that the refcounts get written out before the L2 updates. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f6977f15561973d4a67b6aa46da88aa678c505dd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:31 2013 +0100 qcow2: flush refcount cache correctly in qcow2_write_snapshots() Since qcow2 metadata is cached we need to flush the caches, not just the underlying file. Use bdrv_flush(bs) instead of bdrv_flush(bs->file). Also add the error return path when bdrv_flush() fails and move the flush after checking for qcow2_alloc_clusters() failure so that the qcow2_alloc_clusters() error return value takes precedence. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9991923b262dc35f6dd8393ab4853edd7fc3724f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:30 2013 +0100 qcow2: flush refcount cache correctly in alloc_refcount_block() update_refcount() affects the refcount cache, it does not write to disk. Therefore bdrv_flush(bs->file) does nothing. We need to flush the refcount cache in order to write out the refcount updates! While we're here also add error returns when qcow2_cache_flush() fails. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 74c4510a3cf7c369ee524c6f8fa8a87cf08ba608 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:08 2013 +0100 qcow2: Allow lazy refcounts to be enabled on the command line qcow2 images now accept a boolean lazy_refcounts options. Use it like this: -drive file=test.qcow2,lazy_refcounts=on If the option is specified on the command line, it overrides the default specified by the qcow2 header flags that were set when creating the image. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0006383e1549b6f9b264575d124c553efca19d62 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:07 2013 +0100 block: Support driver specific options in drive_init() Any non-default -drive options are now passed down to the block drivers. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bb44619b06c0bef20b658ff532cf850c16362ae7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:06 2013 +0100 blockdev: Keep a copy of DriveInfo.serial Pointing to a QemuOpts element is surprising and can lead to subtle use-after-free errors when the QemuOpts is freed after all options are parsed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 376609cc6c03c2ffc8c323d804d27f95346cac08 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:05 2013 +0100 qemu-option: Add qemu_opts_absorb_qdict() This adds a function that adds all entries of a QDict to a QemuOpts if the keys are known, and leaves only the rest in the QDict. This way a single QDict of -drive options can be processed in multiple places (generic block layer, block driver, backing file block driver, etc.), where each part picks the options it knows. If at the end of the process the QDict isn't empty, the user specified an invalid option. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b6ad491a4921557efc8815fe0ca5f11c6d8d587e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:04 2013 +0100 block: Add options QDict to bdrv_open_common() The options are passed down to the block drivers, which are supposed to remove all options they have processed. Anything that is left over in the end is an unknown option and results in an error. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b382bc9a1504c7f7c112881695d08293b906b88f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:03 2013 +0100 Add qdict_clone_shallow() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit de9c0cec6c823071b903ebeebf1ee70b394ff46f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:02 2013 +0100 block: Add options QDict to bdrv_open() prototype It doesn't do anything yet except storing the options QDict in the BlockDriverState. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1a86938f04b1abfd28e053b8c6f4b8ed9e4ffe08 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:01 2013 +0100 block: Add options QDict to .bdrv_open() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4f306496183d81aed4b43762cf3bfd6e054de767 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 15:04:39 2013 +1000 qga/main.c: Don't use g_key_file_get/set_int64 These functions don't exist until glib version 2.26. QEMU is currently only mandating glib 2.12. This patch replaces the functions with g_key_file_get/set_integer. Unbreaks the build on Ubuntu 10.04 and RHEL 5.6. Regression was introduced by 39097daf15c42243742667607d2cad2c9dc4f764 Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1363323879-682-1-git-send-email-peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 139a4b63e3dd002de79d8c0a7c04fcc5bbeb1307 Merge: 3d34a41... 344bf1e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:54:37 2013 -0500 Merge remote-tracking branch 'kraxel/chardev.5' into staging * kraxel/chardev.5: spice-qemu-char: Remove dead debugging code spice-qemu-char: Fix name parameter issues after qapi-ifying qemu-char.c: fix waiting for telnet connection message Revert "hmp: Disable chardev-add and chardev-remove" chardev: add udp support to qapi chardev: add memory (ringbuf) support to qapi chardev: add vc support to qapi chardev: add spice support to qapi chardev: add pipe support to qapi chardev: add console support to qapi chardev: switch pty init to qapi chardev: switch parallel init to qapi chardev: switch serial/tty init to qapi chardev: add stdio support to qapi chardev: switch file init to qapi chardev: add braille support to qapi chardev: add msmouse support to qapi chardev: switch null init to qapi chardev: add mux chardev support to qapi chardev: add support for qapi-based chardev initialization Conflicts: ui/console.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3d34a4110c58bba120bc3d7c96c4b9571994c2a8 Merge: 0ec4a8e... 0ad6773... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:50:58 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber (16) and Igor Mammedov (1) # Via Andreas Färber * afaerber/qom-cpu: target-lm32: Update VMStateDescription to LM32CPU target-arm: Override do_interrupt for ARMv7-M profile cpu: Replace do_interrupt() by CPUClass::do_interrupt method cpu: Pass CPUState to cpu_interrupt() exec: Pass CPUState to cpu_reset_interrupt() cpu: Move halted and interrupt_request fields to CPUState target-cris/helper.c: Update Coding Style target-i386: Update VMStateDescription to X86CPU cpu: Introduce cpu_class_set_vmsd() cpu: Register VMStateDescription through CPUState stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY vmstate: Make vmstate_register() static inline target-sh4: Move PVR/PRR/CVR into SuperHCPUClass target-sh4: Introduce SuperHCPU subclasses cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu() monitor: Use qemu_get_cpu() in monitor_set_cpu() cpu: Fix qemu_get_cpu() to return NULL if CPU not found commit 0ec4a8e63ce5244cdb2aa8ef93427898e3f6631b Merge: 6582d3e... cbb65fc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:50:30 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-3-11-2013' into staging # By Laszlo Ersek (3) and others # Via Michael Roth * mdroth/qga-pull-3-11-2013: qga: implement qmp_guest_set_vcpus() for Linux with sysfs qga: implement qmp_guest_get_vcpus() for Linux with sysfs qga: introduce guest-get-vcpus / guest-set-vcpus with stubs qga: add guest-set-time command qga: add guest-get-time command qemu-ga: use key-value store to avoid recycling fd handles after restart qemu-ga: make guest-sync-delimited available during fsfreeze qemu-ga: fix confusing GAChannelMethod comparison qga: cast to int for DWORD type commit 6582d3e8be98cf8171489793e094aee94a1276ce Merge: c69b30e... e9a970a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:50:21 2013 -0500 Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging # By Peter Maydell (5) and others # Via Riku Voipio * riku/linux-user-for-upstream: linux-user/syscall.c: Don't warn about unimplemented get_robust_list linux-user: Implement accept4 linux-user: Implement sendfile and sendfile64 linux-user: make bogus negative iovec lengths fail EINVAL linux-user: Fix layout of usage table to account for option text linux-user: Add more sparc syscall numbers linux-user: Support setgroups syscall with no groups linux-user: fix futex strace of FUTEX_CLOCK_REALTIME linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex linux-user: improve print_fcntl() linux-user: Add Alpha socket constants commit 344bf1e935163d8a4c3cce3ec4c636e1ebd035ce Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 13 14:59:44 2013 +0100 spice-qemu-char: Remove dead debugging code Since commit d62e5f7036a018b2ad09f17ebd481bd28953d783 "chardev: add spice support to qapi" It is impossible to set the debug parameter, so all the dprintf calls are essentially nops. Since we've not needed the debug parameter in ages this is not a problem, if it later turns out we do need some more debugging options we can add more trace-points. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5e9b473a3d7fbb915df4b3f5487e5056762087f8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 13 10:41:31 2013 +0100 spice-qemu-char: Fix name parameter issues after qapi-ifying The strings passed in through the qapi calls are dynamic memory, since we want to have them stick around longer then just the call to qemu_chr_open_spice_* we need to strdup them. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c69b30e8301a49cd198d54bb740a0c9adcd2a34a Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Mar 13 12:21:04 2013 -0500 gtk: fix vc initialization commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:32 2013 +0530 qemu-char: move text console init to console.c Broke vc initialization for GTK. It's a simple typo. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e5545854dd1e2e3507b210ac0c1cbfca69ff0fcb Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Sun Mar 10 17:58:05 2013 +0400 qemu-char.c: fix waiting for telnet connection message Current colon position in "waiting for telnet connection" message template produces messages like: QEMU waiting for connection on: telnet::127.0.0.16666,server After moving a colon to the right, we will get a correct messages like: QEMU waiting for connection on: telnet:127.0.0.1:6666,server Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 46920825402d38a4111cca8099d1261f8f80c03c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 08:46:10 2013 +0100 Revert "hmp: Disable chardev-add and chardev-remove" This reverts commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7. commit 3ecc059dcd06a79495d1bf171ef7f193eff79e98 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Feb 27 14:10:47 2013 +0100 chardev: add udp support to qapi This patch adds 'udp' support to qapi. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1da48c658a26d0c1444d05d8d3a545d311e01026 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Feb 26 16:21:11 2013 +0100 chardev: add memory (ringbuf) support to qapi This patch adds 'memory' support to qapi and also switches over the memory chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 702ec69cc1aa87a1e53d1b066a38a9eb0fa7845b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 15:52:32 2013 +0100 chardev: add vc support to qapi This patch adds 'vc' support to qapi and also switches over the vc chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cd153e2aa2f0ec39c04c2b732ebebfc6d4766986 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 12:39:06 2013 +0100 chardev: add spice support to qapi This patch adds 'spicevmc' and 'spiceport' support to qapi and also switches over the spice chardev initialization to the new qapi code path. commit 548cbb36f415d6086f5252309ab5aa7634497ab5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 11:50:55 2013 +0100 chardev: add pipe support to qapi This patch adds 'pipe' support to qapi and also switches over the pipe chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d9ac374f0def9a65340c1768c08e3271f4d7798d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 11:48:06 2013 +0100 chardev: add console support to qapi This patch adds 'console' support to qapi and also switches over the console chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e68c5958668596a5023e30ddf8368410878f7682 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 10:16:46 2013 +0100 chardev: switch pty init to qapi This patch switches over the pty chardev initialization to the new qapi code path. Bonus: Taking QemuOpts out of the loop allows some nice cleanups along the way. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit dc3750976914b0900446e6a5434919a0fa2ba028 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 22 16:17:01 2013 +0100 chardev: switch parallel init to qapi This patch switches over the parallel chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0f1cb51da7112fa62c6cde62f546714a2c672f54 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 22 15:48:05 2013 +0100 chardev: switch serial/tty init to qapi This patch switches over the serial chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7c358031eac9a41c215900020acf8600d33138aa Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 12:34:58 2013 +0100 chardev: add stdio support to qapi This patch adds 'stdio' support to qapi and also switches over the stdio chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 846e2e49388aa42e030af3d5dd60a6009b80a369 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 12:07:14 2013 +0100 chardev: switch file init to qapi This patch switches over the 'file' chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2d57286da6e57aacf3b2d0d3354d543ed100a485 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 12:56:10 2013 +0100 chardev: add braille support to qapi This patch adds 'braille' support to qapi and also switches over the braille chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f5a51cab2afd1124f0988081207d506fbec629b4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 11:58:44 2013 +0100 chardev: add msmouse support to qapi This patch adds 'msmouse' support to qapi and also switches over the msmouse chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 80dca9e643d11b54f1b9bafbaefeadfb1099e023 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 11:41:26 2013 +0100 chardev: switch null init to qapi This patch switches over the 'null' chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit edb2fb3cc8b85ab956f366fc036ac12853984dae Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 16:16:42 2013 +0100 chardev: add mux chardev support to qapi This adds mux chardev support to the qapi and also makes the qapi-based chardev creation path handle the "mux=on" option correctly. commit 2c5f488293c7d0cd095635c74157c2526e2c4947 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 11:39:12 2013 +0100 chardev: add support for qapi-based chardev initialization This patch add support for a new way to initialize chardev devices. Instead of calling a initialization function with a QemuOpts we will now create a (qapi) ChardevBackend, optionally call a function to fill ChardevBackend from QemuOpts, then go create the chardev using the new qapi code path which is also used by chardev-add. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8ca761f661a7cc972bc6bcf938feca6c538100f0 Author: Peter Feiner <peter@xxxxxxxxxxxxxx> Date: Mon Mar 4 13:54:25 2013 -0500 exec: make -mem-path filenames deterministic Adds ramblocks' names to their backing files when using -mem-path. Eases introspection and debugging. Signed-off-by: Peter Feiner <peter@xxxxxxxxxxxxxx> Message-id: 1362423265-15855-1-git-send-email-peter@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4524051c32190c1dc13ec2ccd122fd120dbed736 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 8 11:42:24 2013 +0100 Add search path support for qemu data files. This patch allows to specify multiple directories where qemu should look for data files. To implement that the behavior of the -L switch is slightly different now: Instead of replacing the data directory the path specified will be appended to the data directory list. So when specifiying -L multiple times all directories specified will be checked, in the order they are specified on the command line, instead of just the last one. Additionally the default paths are always appended to the directory data list. This allows to specify a incomplete directory (such as the seabios out/ directory) via -L. Anything not found there will be loaded from the default paths, so you don't have to create a symlink farm for all the rom blobs. For trouble-shooting a tracepoint has been added, logging which blob has been loaded from which location. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1362739344-8068-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1272ec881440bf579c9d3c9cd0745b2551ce6a7f Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:55 2013 -0500 Build TPM passthrough for i386 and x86_64 targets Build the TPM passthrough driver only for i386 and x86_64 targets using the default-configs files for those targets with softmmu. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-8-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 92dcc234ec1f266fb5d59bed77d66320c2c75965 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:54 2013 -0500 Add support for cancelling of a TPM command This patch adds support for cancelling an executing TPM command. In Linux for example a user can cancel a command through the TPM's sysfs 'cancel' entry using echo "1" > /sysfs/class/misc/tpm0/device/cancel This patch propagates the cancellation of a command inside a VM to the host TPM's sysfs entry. It also uses the possibility to cancel the command before QEMU VM shutdown or reboot, which helps in preventing QEMU from hanging while waiting for the completion of the command. To relieve higher layers or users from having to determine the TPM's cancel sysfs entry, the driver searches for the entry in well known locations. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-7-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4549a8b7ee3c47155c09582f31086f7d0ba61fc4 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:53 2013 -0500 Add a TPM Passthrough backend driver implementation This patch is based of off version 9 of Stefan Berger's patch series "QEMU Trusted Platform Module (TPM) integration" and adds a new backend driver for it. This patch adds a passthrough backend driver for passing commands sent to the emulated TPM device directly to a TPM device opened on the host machine. Thus it is possible to use a hardware TPM device in a system running on QEMU, providing the ability to access a TPM in a special state (e.g. after a Trusted Boot). This functionality is being used in the acTvSM Trusted Virtualization Platform which is available on [1]. Usage example: qemu-system-x86_64 -tpmdev passthrough,id=tpm0,path=/dev/tpm0 \ -device tpm-tis,tpmdev=tpm0 \ -cdrom test.iso -boot d Some notes about the host TPM: The TPM needs to be enabled and activated. If that's not the case one has to go through the BIOS/UEFI and enable and activate that TPM for TPM commands to work as expected. It may be necessary to boot the kernel using tpm_tis.force=1 in the boot command line or 'modprobe tpm_tis force=1' in case of using it as a module. Regards, Andreas Niederl, Stefan Berger [1] http://trustedjava.sourceforge.net/ Signed-off-by: Andreas Niederl <andreas.niederl@xxxxxxxxxxxxxx> Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-6-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab214c2960e3a6d2a86b1ff53e9ba2505d173f93 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:52 2013 -0500 Build the TPM frontend code Build the TPM frontend code that has been added so far. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-5-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8db7c4152188a13b4de6fbab158d61e5dd50e7ec Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:51 2013 -0500 Add a debug register This patch uses the possibility to add a vendor-specific register and adds a debug register useful for dumping the TIS's internal state. This register is only active in a debug build (#define DEBUG_TIS). Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-4-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit edff867807fefd9b8cc2bfd0e88a957987225f55 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:50 2013 -0500 Add TPM (frontend) hardware interface (TPM TIS) to QEMU This patch adds the main code of the TPM frontend driver, the TPM TIS interface, to QEMU. The code is largely based on the previous implementation for Xen but has been significantly extended to meet the standard's requirements, such as the support for changing of localities and all the functionality of the available flags. Communication with the backend (i.e., for Xen or the libtpms-based one) is cleanly separated through an interface which the backend driver needs to implement. Whenever the frontend has collected a complete packet, it will submit a task to the backend, which then starts processing the command. Once the result has been returned, the backend invokes a callback function (tpm_tis_receive_cb()). Testing the proper functioning of the different flags and localities cannot be done from user space when running in Linux for example, since access to the address space of the TPM TIS interface is not possible. Also the Linux driver itself does not exercise all functionality. So, for testing there is a fairly extensive test suite as part of the SeaBIOS patches since from within the BIOS one can have full access to all the TPM's registers. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-3-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d1a0cf738dab24fbfd8e9225b7f3df43dcfafc06 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:49 2013 -0500 Support for TPM command line options This patch adds support for TPM command line options. The command line options supported here are ./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id> -device tpm-tis,tpmdev=<id>,id=<other id> and ./qemu-... -tpmdev help where the latter works similar to -soundhw help and shows a list of available TPM backends (for example 'passthrough'). Using the type parameter, the backend is chosen, i.e., 'passthrough' for the passthrough driver. The interpretation of the other parameters along with determining whether enough parameters were provided is pushed into the backend driver, which needs to implement the interface function 'create' and return a TPMDriverOpts structure if the VM can be started or 'NULL' if not enough or bad parameters were provided. Monitor support for 'info tpm' has been added. It for example prints the following: (qemu) info tpm TPM devices: tpm0: model=tpm-tis \ tpm0: type=passthrough,path=/dev/tpm0,cancel-path=/sys/devices/pnp0/00:09/cancel Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-2-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2362ecc5c6f4073f7f4c9c3f45c335aa8a2261bb Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Mon Mar 4 13:06:56 2013 +0100 virtio-ccw: Wire up virtio-rng. Make virtio-rng devices available for s390-ccw-virtio machines. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b8a205f2ed222a5d24bf7e8346919abee861d026 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Feb 20 13:02:07 2013 +0100 virtio-ccw: remove qdev_unparent in unplug routing This patch fixes unplugging a virtio-ccw device. We no longer need to do that in virtio-ccw since common code does now proper handling. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 0ad6773f1151c9e172b0b714aada78655dda4cf4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 13:45:29 2013 +0100 target-lm32: Update VMStateDescription to LM32CPU Add a vmstate_lm32_cpu referencing the previous VMStateDescription as a sub-struct and hook it up to CPUClass::vmsd. Drop cpu_{save,load}(). Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e6f010cc27177c97596455b2e2b589bd19b2a486 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 12:33:14 2013 +0100 target-arm: Override do_interrupt for ARMv7-M profile Enable ARMCPUInfo to specify a custom class_init functions. Introduce arm_v7m_class_init() and use it for "cortex-m3" model. Instead of forwarding from arm_cpu_do_interrupt() to do_interrupt_v7m(), override CPUClass::do_interrupt with arm_v7m_cpu_do_interrupt() in arm_v7m_class_init(). Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 97a8ea5a3ae7938cb54fd4dc19d3a413024bc6c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 10:57:51 2013 +0100 cpu: Replace do_interrupt() by CPUClass::do_interrupt method This removes a global per-target function and thus takes us one step closer to compiling multiple targets into one executable. It will also allow to override the interrupt handling for certain CPU families. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c3affe5670e5d0df8a7e06f1d6e80853633146df Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 15:03:43 2013 +0100 cpu: Pass CPUState to cpu_interrupt() Move it to qom/cpu.h to avoid issues with include order. Change pc_acpi_smi_interrupt() opaque to X86CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d8ed887bdcd29ce2e967f8b15a6a2b6dcaa11cd5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 22:30:20 2013 +0100 exec: Pass CPUState to cpu_reset_interrupt() Move it to qom/cpu.c to avoid build failures depending on include order of cpu-qom.h and exec/cpu-all.h. Change opaques of various ..._irq_handler() functions to the appropriate CPU type to facilitate using cpu_reset_interrupt(). Fix Coding Style issues while at it (missing braces, indentation). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 259186a7d2f7184efc96ae99bc5658e6159f53ad Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 18:51:17 2013 +0100 cpu: Move halted and interrupt_request fields to CPUState Both fields are used in VMState, thus need to be moved together. Explicitly zero them on reset since they were located before breakpoints. Pass PowerPCCPU to kvmppc_handle_halt(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 21317bc222ef4cdca594b1856eea62f3dfbbfb6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 25 17:37:28 2013 +0100 target-cris/helper.c: Update Coding Style Reindent, add missing braces and drop/adjust whitespace. Prepares for CPUArchState-to-CPUState field movements in cpu_cris_handle_mmu_fault(), do_interruptv10() and do_interrupt(). The remaining functions were so minor that they can be fixed in one go. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f56e3a147683f0ed69d8339e497b7a36e3260c86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 13:38:08 2013 +0100 target-i386: Update VMStateDescription to X86CPU Expose vmstate_cpu as vmstate_x86_cpu and hook it up to CPUClass::vmsd. Adapt opaques and VMState fields to X86CPU. Drop cpu_{save,load}(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca91b15f2d2e43eba8f9a3ec5090f0a11b861ba4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 22 21:50:10 2013 +0100 cpu: Introduce cpu_class_set_vmsd() This setter avoids redefining each VMStateDescription value to vmstate_dummy by not referencing the value for CONFIG_USER_ONLY. Suggested-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b170fce3dd06372f7bfec9a780ebcb1fce6d57e4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 20:23:22 2013 +0100 cpu: Register VMStateDescription through CPUState In comparison to DeviceClass::vmsd, CPU VMState is split in two, "cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1. Therefore add a CPU-specific CPUClass::vmsd field. Unlike the legacy CPUArchState registration, rather register CPUState. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit c71c3e99b8897323af8c2fe0b9851610cd148538 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 18 17:56:20 2013 +0100 stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d7650eab429a033c23947f20d1ae14c4d1e719a3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 18 21:41:59 2013 +0100 vmstate: Make vmstate_register() static inline This avoids adding a duplicate stub for CONFIG_USER_ONLY. Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b350ab758342c764a6ead6ef064b15a72c830808 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Nov 20 16:15:47 2012 +0100 target-sh4: Move PVR/PRR/CVR into SuperHCPUClass They are never changed once initialized, and moving them to the class will allow to inspect them before instantiating. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c1b382e77d8693955d8838c19b33aeb214724f9b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Nov 19 02:42:18 2012 +0100 target-sh4: Introduce SuperHCPU subclasses Store legacy name in SuperHCPUClass for -cpu ? and for case-insensitive class lookup. List CPUs by iterating over TYPE_SUPERH_CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 151d1322a3a0c865089c09aeb50f18215121921a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 15:41:49 2013 +0100 cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu() No functional change, just less usages of first_cpu and next_cpu fields. env is passed to cpu_memory_rw_debug(), which in turn passes it to target-specific cpu_get_phys_page_debug(). Changing both would be a larger refactoring, so defer that by using env_ptr for now. Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1c8bb3cc7b98ad07a028567b86fc6baa5c5a0b7a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 17:01:09 2013 +0100 monitor: Use qemu_get_cpu() in monitor_set_cpu() No functional change, just a reduction of CPU loops. The mon_cpu field is left untouched for now since changing that requires a number of larger prerequisites, including cpu_synchronize_state() and mon_get_cpu(). Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d76fddaeeec674cab4802b585db6c9fb3a0066dc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Mar 7 19:12:43 2013 +0100 cpu: Fix qemu_get_cpu() to return NULL if CPU not found Commit 55e5c2850 breaks CPU not found return value, and returns CPU corresponding to the last non NULL env. Fix it by returning CPU only if env is not NULL, otherwise CPU is not found and function should return NULL. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cbb65fc27fd97a3b020df7fce9db4ce09e3956ad Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Mar 6 22:59:31 2013 +0100 qga: implement qmp_guest_set_vcpus() for Linux with sysfs Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d2baff62538d6c638c1c0d2b3fc900060a90dd78 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Mar 6 22:59:30 2013 +0100 qga: implement qmp_guest_get_vcpus() for Linux with sysfs Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 70e133a7080116340b1a8898893c6d455bd47299 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Mar 6 22:59:29 2013 +0100 qga: introduce guest-get-vcpus / guest-set-vcpus with stubs Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a1bca57f758a1ebe2ee808aa6c94f7687f9cfdd0 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 5 17:39:12 2013 +0800 qga: add guest-set-time command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> *added stub for w32 Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6912e6a94cb0a1d650271103efbc3ac2299e4fd0 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 5 17:39:11 2013 +0800 qga: add guest-get-time command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> *added stub for w32 Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 39097daf15c42243742667607d2cad2c9dc4f764 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 1 11:40:27 2013 -0600 qemu-ga: use key-value store to avoid recycling fd handles after restart Hosts hold on to handles provided by guest-file-open for periods that can span beyond the life of the qemu-ga process that issued them. Since these are issued starting from 0 on every restart, we run the risk of issuing duplicate handles after restarts/reboots. As a result, users with a stale copy of these handles may end up reading/writing corrupted data due to their existing handles effectively being re-assigned to an unexpected file or offset. We unfortunately do not issue handles as strings, but as integers, so a solution such as using UUIDs can't be implemented without introducing a new interface. As a workaround, we fix this by implementing a persistent key-value store that will be used to track the value of the last handle that was issued across restarts/reboots to avoid issuing duplicates. The store is automatically written to the same directory we currently set via --statedir to track fsfreeze state, and so should be applicable for stable releases where this flag is supported. A follow-up can use this same store for handling fsfreeze state, but that change is cosmetic and left out for now. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx * fixed guest_file_handle_add() return value from uint64_t to int64_t commit c5dcb6ae23a3ed7a01bae1cd75ce02abea31db5e Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 1 11:49:38 2013 -0600 qemu-ga: make guest-sync-delimited available during fsfreeze We currently maintain a whitelist of commands that are safe during fsfreeze. During fsfreeze, we disable all commands that aren't part of that whitelist. guest-sync-delimited meets the criteria for being whitelisted, and is also required for qemu-ga clients that rely on guest-sync-delimited for re-syncing the channel after a timeout. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 9e7c23db13b23febac4ba2d22419aa8f1884929e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 19 15:12:34 2013 +0100 qemu-ga: fix confusing GAChannelMethod comparison In commit 7868e26e5930f49ca942311885776b938dcf3b77 ("qemu-ga: add initial win32 support") support was added for qemu-ga on Windows using virtio-serial. Other channel methods (ISA serial and UNIX domain socket) are not supported on Windows. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit ed2cbf74446b008f9de526a50e4b06265635120c Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 28 12:49:09 2013 +0800 qga: cast to int for DWORD type This patch fixes a compiler warning when cross-build: qga/service-win32.c: In function 'printf_win_error': qga/service-win32.c:32:5: warning: format '%d' expects argument of type 'int', but argument 3 has type 'DWORD' [-Wformat] Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit fe3cc14fd83e0c8f376d849ccd0fc3433388442d Merge: bba18e2... ee0b44a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 11 08:30:34 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Paolo Bonzini (40) and others # Via Juan Quintela * quintela/migration.next: (46 commits) page_cache: dup memory on insert page_cache: fix memory leak Fix cache_resize to keep old entry age Fix page_cache leak in cache_resize migration: inline migrate_fd_close migration: eliminate s->migration_file migration: move contents of migration_close to migrate_fd_cleanup migration: move rate limiting to QEMUFile migration: small changes around rate-limiting migration: use qemu_ftell to compute bandwidth migration: use QEMUFile for writing outgoing migration data migration: use QEMUFile for migration channel lifetime qemu-file: simplify and export qemu_ftell qemu-file: add writable socket QEMUFile qemu-file: check exit status when closing a pipe QEMUFile qemu-file: fsync a writable stdio QEMUFile migration: merge qemu_popen_cmd with qemu_popen migration: use qemu_file_rate_limit consistently migration: remove useless qemu_file_get_error check migration: detect error before sleeping ... commit bba18e23f7266d63734fd31045fec7794cc34a38 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 11 11:31:26 2013 +0100 arm: fix compilation with CONFIG_FDT A conflict was resolved the wrong way when merging commit 320ba5f (build: always link device_tree.o into emulators if libfdt available, 2013-02-05). This causes a build failure for the arm-softmmu target due to multiply defined symbol. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1362997886-9470-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9a970a8316f9f86a6c800a9a90175bd593f862c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 04:34:54 2013 +0000 linux-user/syscall.c: Don't warn about unimplemented get_robust_list The nature of the kernel ABI for the get_robust_list and set_robust_list syscalls means we cannot implement them in QEMU. Make get_robust_list silently return ENOSYS rather than using the default "print message and then fail ENOSYS" code path, in the same way we already do for set_robust_list, and add a comment documenting why we do this. This silences warnings which were being produced for emulating even trivial programs like 'ls' in x86-64-on-x86-64. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit a94b4987e243d9afebf56a098afeddae133276b5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 04:35:04 2013 +0000 linux-user: Implement accept4 Implement the accept4 syscall (which is identical to accept but has an additional flags argument). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit a8fd1aba8584cbe68583907ce766fd8ecfe81f4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 07:31:55 2013 +0000 linux-user: Implement sendfile and sendfile64 Implement the sendfile and sendfile64 syscalls. This implementation passes all the LTP test cases for these syscalls. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit dfae8e00f8ddeedcda24bd28f71d4fd2a9f988b8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 07:58:41 2013 +0000 linux-user: make bogus negative iovec lengths fail EINVAL If the guest passes us a bogus negative length for an iovec, fail EINVAL rather than proceeding blindly forward. This fixes some of the error cases tests for readv and writev in the LTP. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 63ec54d7b319824df8b60cfe25afdfb607ce3905 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Feb 14 08:46:43 2013 +0000 linux-user: Fix layout of usage table to account for option text The linux-user usage message attempts to line up the columns in its table by calculating the maximum width of any item in them. However for the 'Argument' column it was only accounting for the length of the option switch (eg "-d"), not the additional example text (eg "item[,...]"). This currently has no adverse effects because the widest item in the column happens to be the argumentless "-singlestep" option, but improving the "-d" option help to read "-d item[,...]" exceeds that limit. Fix this by correctly calculating maxarglen as the width of the first column text including a possible option argument, and adjusting its uses to match. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit ee0b44aa9d9450e873a761ca2030b2fa3ec52eb0 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 25 19:12:04 2013 +0200 page_cache: dup memory on insert The page cache frees all data on finish, on resize and if there is collision on insert. So it should be the caches responsibility to dup the data that is stored in the cache. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 32a1c08b60a8ac0e63b54a5793a26b5e32b36618 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 25 19:12:03 2013 +0200 page_cache: fix memory leak XBZRLE encoded migration introduced a MRU page cache meachnism. Unfortunately, cached items where never freed in case of a collision in the page cache on cache_insert(). This lead to out of memory conditions during XBZRLE migration if the page cache was small and there where a lot of collisions in the cache. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a0ee2031dbf5f0183412d4b20a30cbfd404616a8 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Feb 25 19:12:02 2013 +0200 Fix cache_resize to keep old entry age Instead of using cache_insert do the update itself Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0db65d624e0211a43c011579d6607a50d8f06082 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Feb 25 19:12:01 2013 +0200 Fix page_cache leak in cache_resize Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6f190a0641f5b06a462b62955c15c77b8fb3990c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:48 2013 +0100 migration: inline migrate_fd_close Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b352365f5abec075dede0222f1bc37674d64117c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:47 2013 +0100 migration: eliminate s->migration_file The indirection is useless now. Backends can open s->file directly. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 404a7c05bcc20c51fe1a9bf2deaeb4d6b658d3a3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:46 2013 +0100 migration: move contents of migration_close to migrate_fd_cleanup With this patch, the migration_file is not needed anymore. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 1964a397063967acc5ce71a2a24ed26e74824ee1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:45 2013 +0100 migration: move rate limiting to QEMUFile Rate limiting is now simply a byte counter; client call qemu_file_rate_limit() manually to determine if they have to exit. So it is possible and simple to move the functionality to QEMUFile. This makes the remaining functionality of s->file redundant; in the next patch we can remove it and write directly to s->migration_file. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 442773cef15092b5927851237850760345d2cf16 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:44 2013 +0100 migration: small changes around rate-limiting This patch extracts a few small changes from the next patch, which are unrelated to adding generic rate-limiting functionality to QEMUFile. Make migration_set_rate_limit a simple accessor, and use qemu_file_set_rate_limit consistently. Also fix a typo where INT_MAX should have been SIZE_MAX. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit be7172e22a9c3bc448894e57f6c2d1af6ffd47fd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:43 2013 +0100 migration: use qemu_ftell to compute bandwidth Prepare for when s->bytes_xfer will be removed. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e6a1cf21328802f3a83e84e893b8cb8a468141cc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:42 2013 +0100 migration: use QEMUFile for writing outgoing migration data Second, drop the file descriptor indirection, and write directly to the QEMUFile. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f8bbc1286337a8506162b5785babe6f2a7de2476 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:41 2013 +0100 migration: use QEMUFile for migration channel lifetime As a start, use QEMUFile to store the destination and close it. qemu_get_fd gets a file descriptor that will be used by the write callbacks. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3f2d38faab97f4d676c41868a8243997b2aab7cb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:40 2013 +0100 qemu-file: simplify and export qemu_ftell Force a flush when qemu_ftell is called. This simplifies the buffer magic (it also breaks qemu_ftell for input QEMUFiles, but we never use it). Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0cc3f3ccc9d29acc94b995430518bda1c7c01bef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:39 2013 +0100 qemu-file: add writable socket QEMUFile Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 13c7b2da073ec83cb47f9582149c8d28bb038e73 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:38 2013 +0100 qemu-file: check exit status when closing a pipe QEMUFile This is what exec_close does. Move this to the underlying QEMUFile. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit ce39ee3184a02eca7f9529cc19b1582f6f704c70 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:37 2013 +0100 qemu-file: fsync a writable stdio QEMUFile This is what fd_close does. Prepare for switching to a QEMUFile. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 817b9ed5eb300dbb434d752da416441028539a96 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:36 2013 +0100 migration: merge qemu_popen_cmd with qemu_popen There is no reason for outgoing exec migration to do popen manually anymore (the reason used to be that we needed the FILE* to make it non-blocking). Use qemu_popen_cmd. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a0ff044b8ea81908cd8fe5819ce33780f53f58ee Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:35 2013 +0100 migration: use qemu_file_rate_limit consistently Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit db2f25309af1af0f27e0ddec4acc3b66837fa668 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:34 2013 +0100 migration: remove useless qemu_file_get_error check migration_put_buffer is never called if there has been an error. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit fd45ee2c643bb3d55de5c54b50c23859ca631a9f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:33 2013 +0100 migration: detect error before sleeping Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 059f896cefb2776181e39d9ba69345bd9d07d52b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:32 2013 +0100 migration: eliminate last_round We will go around the loop exactly once after setting last_round. Eliminate the variable altogether. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 05f28b837c6bd6124abab2496ce15c07a334a5ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:31 2013 +0100 qemu-file: make qemu_fflush and qemu_file_set_error private again Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5f496a1be3d15f192be1ab1fed3a3278fd5a91a1 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 22 17:36:30 2013 +0100 Rename buffered_ to migration_ This is consistent once that we have moved everything to migration.c Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit edaae611f6df0d66a8b5a90c84123b72980c7a22 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:29 2013 +0100 migration: yay, buffering is gone Buffering was needed because blocking writes could take a long time and starve other threads seeking to grab the big QEMU mutex. Now that all writes (except within _complete callbacks) are done outside the big QEMU mutex, we do not need buffering at all. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9b0950375277467fd74a9075624477ae43b9bb22 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:28 2013 +0100 migration: run setup callbacks out of big lock Only the migration_bitmap_sync() call needs the iothread lock. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 32c835ba3984728c22d4e73cdb595090a60f437e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:27 2013 +0100 migration: run pending/iterate callbacks out of big lock This makes it possible to do blocking writes directly to the socket, with no buffer in the middle. For RAM, only the migration_bitmap_sync() call needs the iothread lock. For block migration, it is needed by the block layer (including bdrv_drain_all and dirty bitmap access), but because some code is shared between iterate and complete, all of mig_save_device_dirty is run with the lock taken. In the savevm case, the iterate callback runs within the big lock. This is annoying because it complicates the rules. Luckily we do not need to do anything about it: the RAM iterate callback does not need the iothread lock, and block migration never runs during savevm. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 8c8de19d93444536d3291e6ab83e2bcf61dd2d0c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:26 2013 +0100 migration: reorder SaveVMHandlers members This groups together the callbacks that later will have similar locking rules. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 52e850dea988585c3d693fd9cd4a4c38968d89b8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:25 2013 +0100 block-migration: add lock Some state is shared between the block migration code and its AIO callbacks. Once block migration will run outside the iothread, the block migration code and the AIO callbacks will be able to run concurrently. Protect the critical sections with a separate lock. Do the same for completed_sectors, which can be used from the monitor. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 323920c4eac01de74cf2b5e941c97ca9b2d36b7f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:24 2013 +0100 block-migration: document usage of state across threads Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 13197e3cbaba0ba693dd2855a32182ca584fa97e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:23 2013 +0100 block-migration: small preparatory changes for locking Some small changes that will simplify the positioning of lock/unlock primitives. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a55ce1c851b5802569fb00b2a645a73c03fd7c86 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:22 2013 +0100 block-migration: remove variables that are never read Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bb1fadc444ff967554c41d96cb9dde110e8aece9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:21 2013 +0100 migration: cleanup migration (including thread) in the iothread Perform final cleanup in a bottom half, and add joining the thread to the series of cleanup actions. migrate_fd_error remains for connection error, but it doesn't need to cleanup anything anymore. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f4410a5d9926886c36d9fa9fdd969d0469d62724 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:20 2013 +0100 migration: prepare to access s->state outside critical sections Accessing s->state outside the big QEMU lock will simplify a bit the locking/unlocking of the iothread lock. We need to keep the lock in migrate_fd_error and migrate_fd_completed, however, because they call migrate_fd_cleanup. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit c09e5bb1d88ef38986bac7c6ed59dbd732cc4771 Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Feb 22 17:36:19 2013 +0100 migration: add migrate_set_state tracepoint Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a3fa1d78cbae2259491b17689812edcb643a3b30 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:18 2013 +0100 migration: do not nest flushing of device data Completion of migration is currently done with a "nested" loop that invokes buffered_flush: migrate_fd_completed is called by buffered_file_thread, which calls migrate_fd_cleanup, which calls buffered_close (via qemu_fclose), which flushes the buffer. Simplify this, by reusing the buffered_flush call of buffered_file_thread. Then if qemu_savevm_state_complete was called, and the buffer is empty (including the QEMUFile buffer, for which we need the previous patch), we are done. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit dba433c03a0f5dc22a459435dd89557886298921 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:17 2013 +0100 migration: simplify error handling Always use qemu_file_get_error to detect errors, since that is how QEMUFile itself drops I/O after an error occurs. There is no need to propagate and check return values all the time. Also remove the "complete" member, since we know that it is set (via migrate_fd_cleanup) only when the state changes. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 63dfbd7ee03185c181a0791958ec9c8337089b55 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:16 2013 +0100 migration: use qemu_file_set_error Remove the return value of buffered_flush, pass it via the error code of s->file. Once this is done, the error can be retrieved simply via migrate_fd_close's call to qemu_fclose. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f5821518ed6d49aae9fd0aa6169d2d74bb83054c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:15 2013 +0100 migration: flush all data to fd when buffered_flush is called Including data that resided in the QEMUFile's own buffer. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 4eb938102b3d533e142de23e255e46da1326fc5a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:14 2013 +0100 qemu-file: temporarily expose qemu_file_set_error and qemu_fflush Right now, migration cannot entirely rely on QEMUFile's automatic drop of I/O after an error, because it does its "real" I/O outside the put_buffer callback. To fix this until buffering is gone, expose qemu_file_set_error which we will use in buffered_flush. Similarly, buffered_flush is not a complete flush because some data may still reside in the QEMUFile's own buffer. This somewhat complicates the process of closing the migration thread. Again, when buffering is gone buffered_flush will disappear and calling qemu_fflush will not be needed; in the meanwhile, we expose the function for use in migration.c. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 47c8c17af883b5bd0f147cfcec8d7ef8ff76023b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:13 2013 +0100 migration: use qemu_file_set_error to pass error codes back to qemu_savevm_state Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 93bf21044c38134bc7d35577b675d9f2bdcb8419 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:12 2013 +0100 qemu-file: pass errno from qemu_fflush via f->last_error This is done by almost all callers of qemu_fflush, move the code directly to qemu_fflush. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d418cf57a3e699746ef0bfa772bbe8c7e17cebb5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:11 2013 +0100 block-migration: remove useless calls to blk_mig_cleanup Now that the cancel callback is called consistently for all errors, we can avoid doing its work in the other callbacks. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 04943ebaa9e4f5f9ac080198a7b0d25c6d7ac444 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:10 2013 +0100 migration: push qemu_savevm_state_cancel out of qemu_savevm_state_* This is useful, because it lets us keep the cancellation callbacks inside the big lock while pushing the others out. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7a2c17216cd5ae4c22844123b8e9360d517932f8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:09 2013 +0100 migration: move more error handling to migrate_fd_cleanup The next patch will add more cases where qemu_savevm_state_cancel needs to be called; prepare for that already, the function can be called twice with no ill effect. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 891518abd804401978e402d588733e282be960ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:08 2013 +0100 migration: always use vm_stop_force_state vm_stop_force_state does: if (runstate_is_running()) { vm_stop(state); } else { runstate_set(state); } migration.c does: if (runstate_is_running()) { vm_stop(state); } else { vm_stop_force_state(state); } The code run is the same even if we always use vm_stop_force_state in migration.c. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5da5aad068def65b5e278a6380192d4bfe279585 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:07 2013 +0100 migration: simplify while loop Unify the goto around the loop, with the exit condition at the end of it. Both can be expressed as "while (ret >= 0)". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d95fda86b0d69fc4010f6bb37aa4fd38f1addff Author: Dillon Amburgey <dillona@xxxxxxxxxxx> Date: Thu Jan 3 22:10:26 2013 -0500 linux-user: Add more sparc syscall numbers Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit f2b79ce9dc65753c6833921dd5ef6fa59632851f Author: Dillon Amburgey <dillona@xxxxxxxxxxx> Date: Sat Feb 2 18:04:48 2013 -0500 linux-user: Support setgroups syscall with no groups Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit bfb669f39f2ecd854992924ced20b00163509043 Author: John Rigby <john.rigby@xxxxxxxxxx> Date: Sat Feb 23 16:14:08 2013 -0700 linux-user: fix futex strace of FUTEX_CLOCK_REALTIME Handle same as existing FUTEX_PRIVATE_FLAG. Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit cce246e0a21577bb2372ab3a7d6789371e087de9 Author: John Rigby <john.rigby@xxxxxxxxxx> Date: Sat Feb 23 16:14:07 2013 -0700 linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex Upstream libc has recently changed to start using FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this is causing do_futex to return -TARGET_ENOSYS. Pass bitset in val3 to sys_futex which will be ignored by kernel for the FUTEX_WAIT case. Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d95ec14fd20ff69881ab26e7ebd1dab4eb851d97 Author: Laurent Vivier <Laurent@xxxxxxxxx> Date: Mon Dec 31 21:00:11 2012 +0100 linux-user: improve print_fcntl() Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit ec00b51a6c3e6c515c52e6e4564d915ee1f19022 Author: Dillon Amburgey <dillona@xxxxxxxxxxx> Date: Wed Jan 2 21:06:35 2013 -0500 linux-user: Add Alpha socket constants Without these, some networking programs will not work Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit fa3889162ff724d09eb6b6bd06ba54769100a77f Merge: 6e72a00... a4960ef... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 20:39:17 2013 -0500 Merge remote-tracking branch 'origin/master' into staging * origin/master: (75 commits) tcg: Don't make exitreq flag a local temporary Makefile: Add subdir dependency on config-devices-all.mak make_device_config.sh: Emit dependency file to directory where included Revert "make_device_config.sh: Fix target path in generated dependency file" s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del s390/css: Fix subchannel detection Allow virtio-net features for legacy s390 virtio bus s390: virtio-ccw maintainer s390: simplify kvm cpu init pseries: Add compatible property to root of device tree target-ppc: Move CPU aliases out of translate_init.c target-ppc: Report CPU aliases for QMP target-ppc: List alias names alongside CPU models target-ppc: Make host CPU a subclass of the host's CPU model PPC: xnu kernel expects FLUSH to be cleared on STOP PPC: Fix dma interrupt target-ppc: Fix PPC_DUMP_SPR_ACCESS build target-ppc: Synchronize FPU state with KVM target-ppc: Add mechanism for synchronizing SPRs with KVM Save memory allocation in the elf loader ... commit 6e72a00f909dcd093fbdd1faa2b3c8caa1697a6c Merge: 6a245c6... 7a2771d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 19:39:07 2013 -0500 Merge remote-tracking branch 'bonzini/hw-dirs' into staging * bonzini/hw-dirs: sh: move files referencing CPU to hw/sh4/ ppc: move more files to hw/ppc ppc: move files referencing CPU to hw/ppc/ m68k: move files referencing CPU to hw/m68k/ i386: move files referencing CPU to hw/i386/ arm: move files referencing CPU to hw/arm/ hw: move boards and other isolated files to hw/ARCH ppc: express FDT dependency of pSeries and e500 boards via default-configs/ build: always link device_tree.o into emulators if libfdt available hw: include hw header files with full paths ppc: do not use ../ in include files vt82c686: vt82c686 is not a PCI host bridge virtio-9p: remove PCI dependencies from hw/9pfs/ virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX hw: move device-hotplug.o to toplevel, compile it once hw: move qdev-monitor.o to toplevel directory hw: move fifo.[ch] to libqemuutil hw: move char backends to backends/ Conflicts: backends/baum.c backends/msmouse.c hw/a15mpcore.c hw/arm/Makefile.objs hw/arm/pic_cpu.c hw/dataplane/event-poll.c hw/dataplane/virtio-blk.c include/char/baum.h include/char/msmouse.h qemu-char.c vl.c Resolve conflicts caused by header movements. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a245c666d02210b8461952eccc17379fdeedd9f Merge: 6d06368... db2d5eb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 19:33:03 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Lei Li (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: Fix the wrong description in qemu manual pci_host: Drop write-only address_space field rng-random: Use qemu_open / qemu_close configure: Require at least spice-protocol-0.12.3 osdep: replace setsockopt by qemu_setsockopt lm32: remove unused function rtc-test: Fix test failures with recent glib configure: Create link to icon bitmap for out-of-tree builds commit 6d06368d6bebad74fd16ef76a6bbea0c1cb63c9a Merge: 44ab9ed... 0c92e0e6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 19:30:45 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (4) and Peter Lieven (2) # Via Paolo Bonzini * bonzini/scsi-next: scsi-disk: handle io_canceled uniformly and correctly scsi-disk: do not complete canceled UNMAP requests scsi: do not call scsi_read_data/scsi_write_data for a canceled request iscsi: look for pkg-config file too iscsi: add iscsi_truncate support iscsi: retry read, write, flush and unmap on unit attention check conditions commit 44ab9ed4f859fc6f691ba433c24d354ba93f056f Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 09:56:04 2013 +0000 qemu-char: fix win32 build 96c6384776d631839a9c8fe02bf135f9ba22586c did not adjust Win32 #ifdeffery properly, breaking build in later commits. Fix. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 0ba5565b1ed44380c57d4a5fab86e9549f581ebf.1362822910.git.blauwirbel@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7830cf78ac00643930503732834c00387e9e75ff Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 09:56:03 2013 +0000 baum: fix build 08744c98115cfa144ed3493556024e400b2e2573 removed hw/baum.h but did not adjust hw/baum.c, breaking build. Fix. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Message-id: c50406bda98f8b277e8b9004a0012fa5e5c124d0.1362822910.git.blauwirbel@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a4960ef34829c355fdf25b8ee6b869c92393e366 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 5 08:54:41 2013 -0800 tcg: Don't make exitreq flag a local temporary The value is not actually live across basic blocks, so there's no need for the local property. This eliminates storing the temporary to its home location at the branch. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 916359f66f838481b4a37a45ab27ccd0474ae487 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Feb 21 16:26:47 2013 +0100 Makefile: Add subdir dependency on config-devices-all.mak What 23bf49b5eca716aaad073f2b47613434e1515cb5 really seemed to try to fix is that Makefile could recurse into *-softmmu/ subdirectories before a new *-softmmu/config-devices.mak was generated from pci.mak. Fix this by adding a dependency on config-all-devices.mak, which in turn has dependencies on *-softmmu/config-devices.mak. Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 880708013357fa5d1c077e2a4a364b65706e09e7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Feb 21 16:26:46 2013 +0100 make_device_config.sh: Emit dependency file to directory where included Placing the config-devices.mak.d file alongside the config-devices.mak file in *-softmmu/ lead to it getting included into through *-softmmu/Makefile in addition to ./Makefile, leading to confusion. Instead, emit it to ./%-config-devices.mak.d, where it is included. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1b3048170ad0dad83186a39cbf22471fc32583ea Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Feb 21 16:26:45 2013 +0100 Revert "make_device_config.sh: Fix target path in generated dependency file" This reverts commit 23bf49b5eca716aaad073f2b47613434e1515cb5. While *-softmmu/config-devices.mak.d is included through *.d pattern via Makefile.target, the make_devices_config.sh call these dependencies are for is in ./Makefile. Therefore revert to original behavior. This should unbreak pci.mak dependencies not propagating. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit eb839909aa22069e04e1c910fcdf7feaa5581af6 Merge: 62e1aea... 8a7df84... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 11:02:23 2013 +0000 Merge branch 's390-for-upstream' of git://github.com/agraf/qemu * 's390-for-upstream' of git://github.com/agraf/qemu: s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del s390/css: Fix subchannel detection Allow virtio-net features for legacy s390 virtio bus s390: virtio-ccw maintainer s390: simplify kvm cpu init commit 62e1aeaee4d0450222a0ea43c713b59526e3e0fe Merge: d6258c9... d63919c... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 11:02:07 2013 +0000 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: (66 commits) pseries: Add compatible property to root of device tree target-ppc: Move CPU aliases out of translate_init.c target-ppc: Report CPU aliases for QMP target-ppc: List alias names alongside CPU models target-ppc: Make host CPU a subclass of the host's CPU model PPC: xnu kernel expects FLUSH to be cleared on STOP PPC: Fix dma interrupt target-ppc: Fix PPC_DUMP_SPR_ACCESS build target-ppc: Synchronize FPU state with KVM target-ppc: Add mechanism for synchronizing SPRs with KVM Save memory allocation in the elf loader pseries: Implement h_read hcall target-ppc: Change "POWER7" CPU alias target-ppc: Fix remaining microcontroller typos among models target-ppc: Split model definitions out of translate_init.c target-ppc: Update Coding Style for CPU models target-ppc: Turn descriptive CPU model comments into device descriptions target-ppc: Turn descriptive CPU family comments into device descriptions target-ppc: Set remaining fields on CPU family classes target-ppc: Register all types for TARGET_PPCEMB ... commit 8a7df84f9ff4342cae30f4e515e6ac82a0eb0bea Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 22 09:01:33 2013 +0000 s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del blockdev_mark_auto_del is already called in virtio-blk-exit. Remove the redundant call. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 38dd7cc776bbde7edbe60ba5d0abbd156e7e0f2f Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 22 09:01:32 2013 +0000 s390/css: Fix subchannel detection We have to consider the m bit to find the real channel subsystem when determining the last subchannel. If we fail to take this into account, removal of a subchannel in the middle of a big list of devices will stop device detection after a reboot. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 35569cea79fd3f5ccb5b23ca024c7d3aa4d24e75 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Mar 7 17:21:41 2013 +0100 Allow virtio-net features for legacy s390 virtio bus Enable all virtio-net features for the legacy s390 virtio bus. This also fixes kernel BUG at /usr/src/packages/BUILD/kernel-default-3.0.58/linux-3.0/drivers/s390/kvm/kvm_virtio.c:121! Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dd4ad64ada4316d2f61af0e0489e89fe620244db Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Mar 5 02:22:01 2013 +0000 s390: virtio-ccw maintainer Add myself as maintainer for virtio-ccw and the s390-ccw-virtio machine. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> [agraf: add myself for virtio-ccw machine] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1c9d2a1d3c63ab7cee37acdcab92aafad3d6b3fe Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Feb 4 22:53:25 2013 +0000 s390: simplify kvm cpu init There is no special code right now and the reset ioctl is done later on in the the reset handler anyway. Lets simplify the cpu init. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d63919c93e6fb0587632adafba82c21e55ea4396 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 25 19:27:12 2013 +0000 pseries: Add compatible property to root of device tree Currently, for the pseries machine the device tree supplied by qemu to SLOF and from there to the guest does not include a 'compatible property' at the root level. Usually that works fine, since in this case the compatible property doesn't really give any information not already found in the 'device_type' or 'model' properties. However, the lack of 'compatible' confuses the bootloader install in the SLES11 SP2 and SLES11 SP3 installers. This patch therefore adds a token 'compatible' property to work around that. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e9a9607527746600a1af79ba63494ec596ec8584 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 25 03:43:17 2013 +0000 target-ppc: Move CPU aliases out of translate_init.c Move array of CPU aliases to cpu-models.c, alongside model definitions. This requires to zero-terminate the aliases array since ARRAY_SIZE() can no longer be used in translate_init.c then. Suggested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 35e21d3f53068911a98014577880f76c4734f31c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 23 07:52:24 2013 +0000 target-ppc: Report CPU aliases for QMP The QMP query-cpu-definitions implementation iterated over CPU classes only, which were getting less and less as aliases were extracted. Keep them in QMP as valid -cpu arguments even if not guaranteed stable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 55d3d1a4d1a8dca7a0f31dc0d212d7fb219563c2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 23 07:34:28 2013 +0000 target-ppc: List alias names alongside CPU models Revert adding a separate -cpu ? output section for aliases and list them per CPU subclass. Requested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5ba4576b858c0d6056f59abb7e17a2b63f7905f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 23 11:22:12 2013 +0000 target-ppc: Make host CPU a subclass of the host's CPU model This avoids assigning individual class fields and contributors forgetting to add field assignments in KVM-only code. ppc_cpu_class_find_by_pvr() requires the CPU model classes to be registered, so defer host CPU type registration to kvm_arch_init(). Only register the host CPU type if there is a class with matching PVR. This lets us drop error handling from instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 987422bc4a4c6366ca6a7fbfa38a9920fd7ada2f Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Date: Thu Feb 21 07:34:11 2013 +0000 PPC: xnu kernel expects FLUSH to be cleared on STOP otherwise it gets stuck in a loop so clear it when unsetting run when flush is set void IODBDMAStop( volatile IODBDMAChannelRegisters *registers) { IOSetDBDMAChannelControl( registers, IOClearDBDMAChannelControlBits( kdbdmaRun ) | IOSetDBDMAChannelControlBits( kdbdmaFlush )); DBDMA: writel 0x0000000000000b00 <= 0xa0002000 DBDMA: channel 0x16 reg 0x0 DBDMA: status 0x00002000 while( IOGetDBDMAChannelStatus( registers) & ( kdbdmaActive | kdbdmaFlush)) eieio(); DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 it continues to get printed } Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> [agraf: replace tabs with spaces] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e13da40448fabb0829d75b01dc57da5f44f391b3 Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Date: Thu Feb 21 07:34:10 2013 +0000 PPC: Fix dma interrupt In openbios (drivers/ide.c) they are set to 0000000d 00000000 00000002 00000000 0000000e 00000000 00000003 00000000 0000000f 00000000 00000004 00000000 (The last one seems to be not implemented in qemu) It follows convention of how they are set on real machines, both ide and dma ones are increased Real machine one: http://web.archive.org/web/20090107151044/http://penguinppc.org/historical/dev-trees-html/g4_agp_500_2.html 00000013 00000001 0000000b 00000000 00000014 00000001 0000000c 00000000 00000015 00000001 0000000d 00000000 Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit edbe35e0319c15ed2f373bcca626cbb4361f87c8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Feb 20 18:24:57 2013 +0000 target-ppc: Fix PPC_DUMP_SPR_ACCESS build A victim of the d523dd00a7d73b28f2e99acf45a4b3f92e56e40a AREG0 conversion, insert the missing cpu_env arguments. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 70b79849b84510604e46299672e663a703ad5a4b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 20 16:41:51 2013 +0000 target-ppc: Synchronize FPU state with KVM Currently qemu does not get and put the state of the floating point and vector registers to KVM. This is obviously a problem for savevm, as well as possibly being problematic for debugging of FP-using guests. This patch fixes this by using new extensions to the ONE_REG interface to synchronize the qemu floating point state with KVM. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d67d40ea07577b0a952d3bea5a2f92edf0ee26a6 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 20 16:41:50 2013 +0000 target-ppc: Add mechanism for synchronizing SPRs with KVM Currently when runing under KVM on ppc, we synchronize a certain number of vital SPRs to KVM through the SET_SREGS call. This leaves out quite a lot of important SPRs which are maintained in KVM. It would be helpful to have their contents in qemu for debugging purposes, and when we implement migration it will be vital, since they include important guest state that will need to be restored on the target. This patch sets up for synchronization of any registers supported by the KVM ONE_REG calls. A new variant on spr_register() allows a ONE_REG id to be stored with the SPR information. When we set/get information to KVM we also synchronize any SPRs so registered. For now we set this mechanism up to synchronize a handful of important registers that already have ONE_REG IDs, notably the DAR and DSISR. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d60fa42e8bae39440f997ebfe8fe328269a57d16 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Feb 19 04:41:11 2013 +0000 Save memory allocation in the elf loader The current elf loader uses too much memory. For example, I have a executable with a bss section of 400 MB and I set the ram size to 512 MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at 1.6 GB during initialization (this is not fine). This patch fixes two things: 1) do not allocate each elf program twice. 2) do not allocate memory for areas that are only zeros. For this we need a new field in Rom: "datasize" which is the size of the allocated data. If datasize is less than romsize, it means that the area from datasize to romsize is filled with zeros. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6bbd5dde9a10520eb069c4bff9f2e34b96b1cfee Author: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 18 05:00:32 2013 +0000 pseries: Implement h_read hcall This h_call is useful for DLPAR in future amongst other things. Given an index it fetches the corresponding PTE stored in the htab. Signed-off-by: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx> Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit befa8af375acd52d7118fa8d4fdf15acee8d378a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:51 2013 +0000 target-ppc: Change "POWER7" CPU alias Let it resolve to v2.3 rather than v2.0. Suggested-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cc4a04db05b083748b0ee9e642d68496a3d531ec Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:50 2013 +0000 target-ppc: Fix remaining microcontroller typos among models controler -> controller Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 953af181f5d1c51e8111c345c70f277185f1a6e0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:49 2013 +0000 target-ppc: Split model definitions out of translate_init.c Now that model definitions only reference their parent type, model definitions are independent of the family definitions and can be compiled independently of TCG translation. Keep all #if defined(TODO) code local to cpu-models.c. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 09cc86f2b16ae242c031a01c6adca0ac5c5791ce Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:48 2013 +0000 target-ppc: Update Coding Style for CPU models Drop the space in #if defined (TODO). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0233c9abe16d8f7cdeb76ea54e84c68fe2b0037 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:47 2013 +0000 target-ppc: Turn descriptive CPU model comments into device descriptions Fix microcontroller typo while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ca5dff0a3e532ea9168934fc361e96d969007284 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:46 2013 +0000 target-ppc: Turn descriptive CPU family comments into device descriptions This gets rid of some more overly long comments that have lost most of their purpose now that in most cases there's only two functions left per CPU family. The class field is inherited by the actual CPU models, so override it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba9fd9f1509c9729286a1071e217db9df05e6896 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:45 2013 +0000 target-ppc: Set remaining fields on CPU family classes Now POWERPC_DEF_SVR() no longer sets family-specific fields itself. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4d7fb187e07b35dcbe51e906927a94ed691e0c7a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:44 2013 +0000 target-ppc: Register all types for TARGET_PPCEMB Don't attempt to suppress registration of CPU types, since the criteria is actually a property of the class and should thus become a field. Since we can't check a field set in a class_init function before registering the type that leads to execution of that function, guard the -cpu class lookup instead and suppress exposing these classes in -cpu ? and in QMP. In case someone tries to hot-add an incompatible CPU via device_add, error out in realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 53116ebfc98b72a00297255e216fac87c65e23a5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:43 2013 +0000 target-ppc: Set instruction flags on CPU family classes Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7856e3a41ba8ec5da3dc0b449dc6feaf999d3ffe Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:42 2013 +0000 target-ppc: Introduce abstract CPU family types Instead of assigning *_<family> constants, set .parent to a family type. Introduce a POWERPC_FAMILY() macro to keep type registration close to its implementation. This macro will need tweaking later. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cfe34f44b3a13ed32891e0b3c84be91d3d91a4b8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:41 2013 +0000 target-ppc: Convert CPU definitions Turn the array of model definitions into a set of self-registering QOM types with their own class_init. Unique identifiers are obtained from the combination of PVR, SVR and family identifiers; this requires all alias #defines to be removed from the list. Possibly there are some more left after this commit that are not currently being compiled. Prepares for introducing abstract intermediate CPU types for families. Keep the right-aligned macro line breaks within 78 chars to aid three-way merges. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit de400129daf3ff0f7468363f6d886fcdcc626ea6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:40 2013 +0000 target-ppc: Get model name from type name We are about to drop the redundant name field along with ppc_def_t. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f591784b639c72138f0cfd30b46dcf328f9adc8b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:39 2013 +0000 target-ppc: Extract POWER7 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit df43f4b863ba4f7f89afedddc86ad9e11157b51e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:38 2013 +0000 target-ppc: Extract 970 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4bdba7fd2efbd57b9dc12bfb930f085a54f3df47 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:37 2013 +0000 target-ppc: Extract 405GPe alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b48a1ad3242fc7f6a19620f8a23f92a4f9ffb67 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:36 2013 +0000 target-ppc: Extract MPC8240 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 236824f276fafbfbb5399ca2c9c72298a401e223 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:35 2013 +0000 target-ppc: Extract MPC5200/MPC5200B aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cf9314cd77f07398303423dd17c520fa92d0b30f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:34 2013 +0000 target-ppc: Extract MPC52xx alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d329ceb2baa441629e83006a7e86933d871edadd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:33 2013 +0000 target-ppc: Extract MPC82xx_HiP{3, 4} aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f172e4b99f73115705842bcd676253644e8c356c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:32 2013 +0000 target-ppc: Extract MPC82xx aliases to *_HiP4 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4d55320fdb64b9110fa379520434f70d60d90bdd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:31 2013 +0000 target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases This depends on the fix for "G2leGP3" PVR. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 63499f2109f7849420cc8858204bff267a0edcd6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:30 2013 +0000 target-ppc: Extract MPC82xx alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4475e98f995ab726ce8bbf70225b2d90b20b9cd3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:29 2013 +0000 target-ppc: Extract e200 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0683641cc754e3d786acdeab8d00723dbd87727b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:28 2013 +0000 target-ppc: Extract e300 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9538de4fe708ca09af3a786fb9b26e2269ebc8f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:27 2013 +0000 target-ppc: Extract MPC83xx aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6d4decb484b5cc31a9a4a069eff21c89f8d288b5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:26 2013 +0000 target-ppc: Extract e500v1/e500v2 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 52d80768dba6876919bb4e7f4fc00641431ef2cf Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:25 2013 +0000 target-ppc: Extract MPC85xx aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 91b5d028786b22bc4fe89b439ea55276ad09ec8a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:21 2013 +0000 target-ppc: Extract 604e alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 336c86322d67dd3eb2e6d571b9d94c761b6988ea Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:24 2013 +0000 target-ppc: Extract 601/601v aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4ae0e9d870f0e588a459529d9cc660e20f2ac5b3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:23 2013 +0000 target-ppc: Extract 603r alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 16a177333eaa041104f8eeb37d7bbc33d6753695 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:22 2013 +0000 target-ppc: Extract 603e alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0446aecd56739760a2fa4b1dec342e3a4d5ebe9e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:20 2013 +0000 target-ppc: Extract 740/750 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8fc82f9e0d93b6d827a874a25dce6f6a226cef5d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:19 2013 +0000 target-ppc: Extract 750 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 80c7abd3171c2939020f01d5310c3bd066ccad19 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:18 2013 +0000 target-ppc: Extract 7x5 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 06704e9ceb85916537c8398735aa18e24ebdad86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:17 2013 +0000 target-ppc: Extract 7400 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 08546b912cc5f2940ef9e6d2d83abb43d295bbee Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:16 2013 +0000 target-ppc: Extract 7410 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit df502ce84527fc55544c66c2bd9a920480036cb6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:15 2013 +0000 target-ppc: Extract 7448 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e9a7cf3bb386ce4b425e4dd154fa660e59939ab5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:14 2013 +0000 target-ppc: Extract 7450 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 078840e1bc1e21964fbf91548a9430a1a61195de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:13 2013 +0000 target-ppc: Extract 74x1 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d96c8a2344eea5d15556d86f986c4911fb875831 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:12 2013 +0000 target-ppc: Extract 74x5 as aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4c739207ddaa2d4da96f887b802536117a49e6e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:11 2013 +0000 target-ppc: Extract 74x7[A] aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a7de06e17ecdd3b2cd57c2b6f01913e663365f49 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:10 2013 +0000 target-ppc: Turn "ppc32" and "ppc64" CPUs into aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8c00a9991ae759048c444a6836ce2206e4b0d372 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:09 2013 +0000 target-ppc: Extract 440 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8f43bc789c7ddd1a0f5b3cbc55cf67a1c6ae44e5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:08 2013 +0000 target-ppc: Extract 40x aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 20267b6f327ed2d7c54451034d234d67b1b410e9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:07 2013 +0000 target-ppc: Extract MGT823/MPC8xx as aliases They used different PVRs but were defined to MPC8xx. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0b9a74e53c012953c54f4bd5a09e20cf1cc48a7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:06 2013 +0000 target-ppc: Extract MPC5xx aliases Their PVR differed but was defined to MPC5xx. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f7851859d2af38bbdf953269a7e2a9b4681b4253 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:05 2013 +0000 target-ppc: Make -cpu "ppc" an alias to "ppc32" Drop the #if 0'ed alternative to make it "ppc64" for TARGET_PPC64. If we ever want to change it, we can more easily do so now. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fd5ed418c7703bb7403f89f1474b0fe633f989cf Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:04 2013 +0000 target-ppc: Extract aliases from definitions list Move definitions that were 100% identical except for the name into a list of aliases so that we don't register duplicate CPU types. Drop the accompanying comments since they don't really add value. We need to support recursive lookup due to code names referencing a generic name referencing a specific model revision. List aliases separately for -cpu ?. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c4d0a36c3630ad30058406747d3cd4cc6a6eae3c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:03 2013 +0000 target-ppc: Inline comma into POWERPC_DEF_SVR() macro To repurpose the POWERPC_DEF_SVR() macro outside of an array, move the comma into the macro. No functional change. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9a1350539a69f465c14109605d6648572794ceda Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:02 2013 +0000 target-ppc: Drop nested TARGET_PPC64 guard for POWER7 It is within a large TARGET_PPC64 section from 970 to 620, so an #endif /* TARGET_PPC64 */ is confusing. Clean this up. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5e95acc8ff2a068b09494f2522744f89f662a515 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:01 2013 +0000 target-ppc: Update error handling in ppc_cpu_realize() Commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e added a new fatal error message while QOM realize'ification was in flight. Convert it to return an Error instead of exit()ing. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bfe6d5b0daf9fdafeb0dbb7c26774dbb1bbb4507 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:00 2013 +0000 target-ppc: Fix "G2leGP3" PVR Unlike derived PVR constants mapped to CPU_POWERPC_G2LEgp3, the "G2leGP3" model definition itself used the CPU_POWERPC_G2LEgp1 PVR. Fixing this will allow to alias CPU_POWERPC_G2LEgp3-using types to "G2leGP3". Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0136d715ad985fccb8fed4bb5081d5bd20bfe88c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 11 10:53:11 2013 +0000 target-ppc: Fix CPU_POWERPC_MPC8547E It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21. Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show. Fixing this nontheless helps with QOM'ifying CPU aliases. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 156dfaded87d718a9ea798083e1c3e5ea7526713 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Feb 10 18:59:02 2013 +0000 pseries: Add cleanup hook for PAPR virtual LAN device Currently the spapr-vlan device does not supply a cleanup call for its NetClientInfo structure. With current qemu versions, that leads to a SEGV on exit, when net_cleanup() attempts to call the cleanup handlers on all net clients. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d6258c93a7133bb2bf2ab4e91476bc0b631ba7f1 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Mar 5 23:21:35 2013 +0530 virtio-serial: make flow control explicit in virtio-console virtio-console.c used to return a value less than the number of bytes asked to be written out to a chardev backend in case the backend is not writable. virtio-serial-bus.c then implicitly enabled flow control for that port. Make this explicit instead. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: f5ec50b068c25422256e499cf4adc06d353bf394.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7df4d4578f70b565870f353ba0b72f2f23781a09 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Mar 5 23:21:34 2013 +0530 virtio: console: add flow control The virtio-serial-bus already has the logic to make flow control work properly. Hook into the char layer's new ability to signal a backend is writable again. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: abffa02235d55ca6e2489068c58971c8897e976c.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fcfb4d6aae611d1f804d486d3c998000912c4c81 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:33 2013 +0530 serial: add flow control to transmit Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 2976f10d4e66ed4a34011f6f0d6937026d22be5f.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:32 2013 +0530 qemu-char: move text console init to console.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 17cefde0a8d7807294bab95e93c3328a20d3f2ed.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5ab8211b9e1215ed136164c6d9622f2c928f7a8d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:31 2013 +0530 qemu-char: move msmouse registeration to msmouse.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: b47d1153b0d7669743c9a6bb98ce30f4cf7f876b.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 08744c98115cfa144ed3493556024e400b2e2573 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:30 2013 +0530 qemu-char: move baum registration to baum.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1b24baa1ec3a174d5cad31e079d829904b53077b.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26c60614524f41bc9016cbe27eaefe59473d3461 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:29 2013 +0530 qemu-char: move spice registration to spice-qemu-char.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 49a8d12eeb117e5530b2fab02af7681b54f9245c.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d654f34ec8bf006f9b57a067e0f272ab94ee8e06 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:28 2013 +0530 qemu-char: make char drivers dynamically registerable Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 0ff4f5f2b8b7afdb85a0c241403ad73f472f0b81.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9f939df955a4152aad69a19a77e0898631bb2c18 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:27 2013 +0530 qemu-char: remove use of QEMUTimer in favor of glib idle function qemu-char is now independent of the QEMU main loop. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 3cda0bbcfb94912df8a767983a52bb71a4a3231d.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8aa33cafc41a0fe8549d1dbcc65b75c31112dea8 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:26 2013 +0530 qemu-char: use a glib timeout instead of qemu-timer Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 05a883ce5a98275b976bf0124610599859c2b7da.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d3cc5bc416cdf25bae0f3f6de58830be8ac5b648 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Mar 5 23:21:25 2013 +0530 char: add gio watch fn for tcp backends Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: b50e668c4f4146a654c5d4412440eb9e589f2c02.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e6a87ed837b52aea903c25693b1e3703824b9ef7 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:24 2013 +0530 qemu-char: add pty watch This lets ptys support adding front end watchs. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 23380f37b22d407ba0b9e080f6ea0d66b279f2d2.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 23673ca740e0eda66901ca801a5a901df378b063 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:23 2013 +0530 qemu-char: add watch support This allows a front-end to request for a callback when the backend is writable again. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 96f93c0f741064604bbb6389ce962191120af8b7.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ea5a7af7bfa576a5936400ccca4144caca9640b Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:22 2013 +0530 qemu-char: tcp: make use GIOChannel I didn't bother switching to g_io_channel_read/write because we need to use sendmsg on Unix. No problem though since we're using an unbuffered channel. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 002f726576dfb51bca4854aa257b74d77c1cd4e8.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 76a9644b711541472d9fb3a9b418acd55d9464a1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:21 2013 +0530 qemu-char: convert UDP to GIOChannel Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 775a2bd666a3d1fa008656bf97191b7573c6ffb5.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 093d3a20055282e282ba056addbe59b79e13a32f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:20 2013 +0530 qemu-char: convert pty to GIOChannel Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 339eebf3c59a450b0354056e9ac4b41f67230831.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a29753f8aa79a34a324afebe340182a51a5aef11 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:19 2013 +0530 qemu-char: convert fd_chr to use a GIOChannel This uses the newly introduced IOWatchPoll source. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 0cb5d14510ee835a0ebc23676d10a2cce9280da5.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96c6384776d631839a9c8fe02bf135f9ba22586c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:18 2013 +0530 char: add IOWatchPoll support This is a special GSource that supports CharDriverState style poll callbacks. For reviewability and bisectability, this code is #if 0'd out in this patch to avoid unused warnings since all of the functions are static. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 9b59ac17b9d0bb3972a73fed04d415f07b391936.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ed7a154063266a30a31752d3b18d484ddc7f5aa9 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:17 2013 +0530 qemu-char: remove dead/confusing logic with nb_stdio_clients This code is very old dating back to 2007. What is puzzling is that STDIO_MAX_CLIENTS was always #define to 1 meaning that all of the code to deal with more than one client was unreachable. Just remove the whole mess of it. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: d276bccdbf4e7463020c5f539f61ae3bfbc88d1d.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit baca6f183d78a0c864a5ccc0ec64e26ba960e604 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:16 2013 +0530 char-socket: fix error reporting Right now the inet connect code tries all available addresses but until one doesn't fail. It passes local_err each time without clearing it from the previous failure. This can trigger an assert since the inet connect code tries to set an error on an object != NULL. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 16c806d60aa5e9660ed7751bb4e37dcd278f97f0.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db2d5eba652ecb7420ac4ef79fc747ef391ad0d9 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 7 15:50:26 2013 +0800 Fix the wrong description in qemu manual Fix LP#1151450 the wrong description in qemu manual: 'qemu-system-x86_84' should be 'qemu-system-x86_64'. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d37e12a07c06b13610b7fabb6b8e009d7a759bc8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 1 16:57:41 2013 +0000 pci_host: Drop write-only address_space field The address_space field of PCIHostState was only ever written, never used. Drop it completely. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7f9c9d12856e65e272297a619705864d9e6346f8 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 1 07:53:55 2013 -0500 rng-random: Use qemu_open / qemu_close In the rng backend use qemu_open and qemu_close rather than POSIX open/close. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 358689fe299c306f1d81bea57a5067d0abb56699 Author: Michal Privoznik <mprivozn@xxxxxxxxxx> Date: Fri Mar 1 08:43:18 2013 +0100 configure: Require at least spice-protocol-0.12.3 As of 5a49d3e9 we assume SPICE_PORT_EVENT_BREAK to be defined. However, it is defined not in 0.12.2 what we require now, but in 0.12.3. Therefore in order to prevent build failure we must adjust our minimal requirements. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4bd1afbdb3a228683dafa77a9fb3093f0dfab1de Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 6 22:29:16 2013 +0800 osdep: replace setsockopt by qemu_setsockopt Fix the compiler warning when cross build qemu-ga for windows by using qemu_setsockopt() instead of setsockopt(). util/osdep.c: In function 'socket_set_nodelay': util/osdep.c:69:5: warning: passing argument 4 of 'setsockopt' from incompatible pointer type [enabled by default] In file included from /home/lei/qemu_b/include/sysemu/os-win32.h:30:0, from /home/lei/qemu_b/include/qemu-common.h:46, from util/osdep.c:48: /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:990:63: note: expected 'const char *' but argument is of type 'int *' Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 58427a0f42679c875b077b7adc5db36897973865 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 4 18:11:47 2013 +0100 lm32: remove unused function The milkymist-minimac device in fact does not exist at all. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit eeb29fb9aa733f97d85857c210d6580a92a1b532 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Feb 26 19:31:32 2013 -0500 rtc-test: Fix test failures with recent glib As of glib 2.35.4, glib changed its logic for ordering test cases: https://bugzilla.gnome.org/show_bug.cgi?id=694487 This was causing failures in rtc-test. Group the reordered test cases into their own suite, which maintains the original ordering. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4652b792f01b559e005186b703ed9b1a11cbf8e3 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Feb 22 21:05:01 2013 +0100 configure: Create link to icon bitmap for out-of-tree builds This allows to pick up the icon when starting QEMU directly from an out-of-tree build directory. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0bc472a9d6b80567c212023c5eae413f4dfb53ad Author: Kuo-Jung Su <dantesu@xxxxxxxxx> Date: Tue Mar 5 21:27:24 2013 +0000 hw/nand.c: correct the sense of the BUSY/READY status bit The BIT6 of Status Register(SR): SR[6] behaves the same as R/B# pin SR[6] = 0 indicates the device is busy; SR[6] = 1 means the device is ready Some NAND flash controller (i.e. ftnandc021) relies on the SR[6] to determine if the NAND flash erase/program is success or error timeout. P.S: The exmaple NAND flash datasheet could be found at following link: http://www.mxic.com.tw/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/8FEA549237D2F7674825795800104C26/$File/MX30LF1G08AA,%203V,%201Gb,%20v1.1.pdf Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 0c92e0e6b64c9061f7365a2712b9055ea35b52f9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 25 12:16:05 2013 +0100 scsi-disk: handle io_canceled uniformly and correctly Always check it immediately after calling bdrv_acct_done, and always do a "goto done" in case the "done" label has to free some memory---as is the case for scsi_unmap_complete in the previous patch. This patch could fix problems that happen when a request is split into multiple parts, and one of them is canceled. Then the next part is fired, but the HBA's cancellation callbacks have fired already. Whether this happens or not, depends on how the block/ driver implements AIO cancellation. It it does a simple bdrv_drain_all() or similar, then it will not have a problem. If it only cancels the given AIOCB, this scenario could happen. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d0242eadc5bba4f3abe34bc5d536bbfb81aa9891 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 25 12:14:34 2013 +0100 scsi-disk: do not complete canceled UNMAP requests Canceled requests should never be completed, and doing that could cause accesses to a NULL hba_private field. Cc: qemu-stable@xxxxxxxxxx Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Tested-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6f6710aa99ac53b59ff0f14380830cb9ab6bdc14 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 25 12:12:58 2013 +0100 scsi: do not call scsi_read_data/scsi_write_data for a canceled request Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3c33ea9640758bb625e110a77673e5abfd184e54 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 18:14:28 2013 +0100 iscsi: look for pkg-config file too Due to library conflicts, Fedora will have to put libiscsi in /usr/lib/iscsi. Simplify configuration by using a pkg-config file. The Fedora package will distribute one, and the patch to add it has been sent to upstream libiscsi as well. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb1b83e740384b4e0d950f3d7c81c02b8ce86c2e Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 18 14:50:46 2013 +0100 iscsi: add iscsi_truncate support this patch adds iscsi_truncate which effectively allows for online resizing of iscsi volumes. for this to work you have to resize the volume on your storage and then call block_resize command in qemu which will issue a readcapacity16 to update the capacity. v4: - factor out complete readcapacity logic into a separate function - handle capacity change check condition in readcapacity function (this happens if the block_resize cmd is the first iscsi task executed after a resize on the storage) v3: - remove switch statement in iscsi_open - create separate patch for brdv_drain_all() in bdrv_truncate() v2: - add a general bdrv_drain_all() before bdrv_truncate() to avoid in-flight AIOs while the device is truncated - since no AIOs are in flight we can use a sync libiscsi call to re-read the capacity - factor out the readcapacity16 logic as it is redundant to iscsi_open() and iscsi_truncate(). Signed-off-by: Peter Lieven <pl@xxxxxxx> [allow any type of unit attention check condition in iscsi_readcapacity_sync(), as in Message-ID: <51263A2A.6070304@xxxxxxxxx> - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1dde716ed6719c341c1bfa427781f0715af90cbc Author: Peter Lieven <pl@xxxxxxxxx> Date: Thu Feb 21 16:15:54 2013 +0100 iscsi: retry read, write, flush and unmap on unit attention check conditions the storage might return a check condition status for various reasons. (e.g. bus reset, capacity change, thin-provisioning info etc.) currently all these informative status responses lead to an I/O error which is populated to the guest. this patch introduces a retry mechanism to avoid this. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 76c48503c4c87afabf0c93acf78480f65276844d Merge: 597e2ce... ed4659d... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 5 15:11:30 2013 +0100 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: MAINTAINERS: add entry for ARM KVM guest cores configure: Enable KVM on ARM hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC target-arm: Use MemoryListener to identify GIC base address for KVM hw/arm_gic: Convert ARM GIC classes to use init/realize hw/arm_gic: Add presave/postload hooks ARM KVM: save and load VFP registers from kernel ARM: KVM: Add support for KVM on ARM architecture target-arm: Drop CPUARMState* argument from bank_number() linux-headers: resync from mainline to add ARM KVM headers oslib-posix: Align to permit transparent hugepages on ARM Linux target-arm: Don't decode RFE or SRS on M profile cores target-arm: Factor out handling of SRS instruction commit 597e2cec8096e0703506abcbbf66938b5ac04368 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:50 2013 -0800 mipsn32-linux-user: Configure the architecture properly N32 is a 64-bit cpu with a 32-bit address space. We have existing cpp defines for this situation, but weren't using them. This does mean that the linux-user/mipsn32 directory must be merged with the linux-user/mips64 directory, and differences must be resolved via ifdefs. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 68473f15d4c9948986618f63828825beafcaf1cf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:46 2013 -0800 mips64-linux-user: Enable 64-bit address mode and fpu Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ff4f7382815d31933fe0cbedce03270e4b62b771 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:45 2013 -0800 mips-linux-user: Fix n32 and n64 syscalls Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 084d0497a0edf060d8f61c798217b6d0622a5feb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:44 2013 -0800 mips-linux-user: Save and restore fpu and dsp from sigcontext Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 51cd14d3f56f15cb82e63d694a023ce2b02334f9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:43 2013 -0800 mips-linux-user: Enable mips64 and mipsn32 linux-user targets At this point we can enable compilation, though things still don't work. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ff97090469eb4a5f21a1f482b27382b8205d1232 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:42 2013 -0800 mips-linux-user: Share o32 code for n32 and n64 signals Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2c3c6689b32529b56261bbbca36ba8544a34dd60 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:41 2013 -0800 mips-linux-user: Delete n32 and n64 signal stubs Deleting these first makes the next patch much easier to read. This doesn't cause any sort of compilation failure because we have not yet enabled n32/n64 compilation. This is dead code. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ed4659d10fa2ec16ace367e4fffe6f7ced73112c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:43 2013 +0000 MAINTAINERS: add entry for ARM KVM guest cores Add an entry indicating maintainer status for the ARM KVM code. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 68b05c427b0d220e38bfa21ee6df7970f158b377 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:43 2013 +0000 configure: Enable KVM on ARM Enable KVM on ARM hosts, now that all the necessary components for it exist. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ed46676160d94d279e32ce955fd60b76c7a1b370 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:43 2013 +0000 hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC Implement support for using the KVM in-kernel GIC for ARM. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit eb035b48d5ff26a155f37106f693acb8b8487d80 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:42 2013 +0000 target-arm: Use MemoryListener to identify GIC base address for KVM When using an in-kernel GIC with KVM, we need to tell the kernel where the GIC's memory mapped registers live. Do this by registering a MemoryListener which tracks where the board model maps the A15's private peripherals, so we can finish the GIC initialisation when the GIC is actually mapped. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53111180946a56d314a9c1d07d09b9ef91e847b9 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:42 2013 +0000 hw/arm_gic: Convert ARM GIC classes to use init/realize Convert the ARM GIC classes to use init/realize rather than SysBusDevice::init. (We have to do them all in one patch to avoid unconverted subclasses calling a nonexistent SysBusDevice init function in the base class and crashing.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 9ecb992674cec86091b4fce3bd66faee8b56b165 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:41 2013 +0000 hw/arm_gic: Add presave/postload hooks Add presave/postload hooks to the ARM GIC common base class. These will be used by the KVM in-kernel GIC subclass to sync state between kernel and userspace when migrating. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 81635574f6e7f4d18ea059ecbeeec93c3ffc284c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:41 2013 +0000 ARM KVM: save and load VFP registers from kernel Add support for saving and restoring VFP register state from the kernel. This includes a check that the KVM-created CPU has full VFP support (as the TCG Cortex-A15 model always does), since for the moment ARM QEMU doesn't have any way to tweak optional features on created CPUs. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 494b00c76afb906a2d093b71c8772331c2a19a89 Author: Christoffer Dall <cdall@xxxxxxxxxxxxxxx> Date: Tue Mar 5 00:34:41 2013 +0000 ARM: KVM: Add support for KVM on ARM architecture Add basic support for KVM on ARM architecture. Signed-off-by: Christoffer Dall <cdall@xxxxxxxxxxxxxxx> [PMM: Minor tweaks and code cleanup, switch to ONE_REG] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f5206413affd658e2fdcf893c810d715b2c7fec6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:40 2013 +0000 target-arm: Drop CPUARMState* argument from bank_number() Drop the CPUARMState* argument from bank_number(), since we only use it for passing to cpu_abort(). Use hw_error() instead. This avoids propagating further interfaces using env pointers. In the long term this function's callers need auditing to fix problems where badly behaved guests can pass invalid bank numbers. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit eadd0e4413c9b69015c798909f48ec48ab0c7bd4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:40 2013 +0000 linux-headers: resync from mainline to add ARM KVM headers Resync QEMU's copy of the Linux kernel headers from git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit 2ef14f4. This adds the ARM KVM headers, since ARM KVM support has just hit mainline via Russell's ARM tree. This is not a pure sync -- I have removed by hand some changes that would have reverted updates for s390x and ppc which have not yet hit mainline. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2e07b297e0b450fe38bab115f71749e032d7191c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:40 2013 +0000 oslib-posix: Align to permit transparent hugepages on ARM Linux ARM Linux (like x86-64 Linux) can use transparent hugepages for KVM if memory blocks are 2MiB aligned; set QEMU_VMALLOC_ALIGN accordingly. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 00115976bb066d4b33dbb07a92f8bde5ec8b9518 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:31:17 2013 +0000 target-arm: Don't decode RFE or SRS on M profile cores M profile cores do not have the RFE or SRS instructions, so correctly UNDEF these insn patterns on those cores. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 81465888c5306cd94abb9847e560796fd13d3c2f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:31:17 2013 +0000 target-arm: Factor out handling of SRS instruction Factor out the handling of the SRS instruction rather than duplicating it between the Thumb and ARM decoders. This in passing fixes two bugs in the Thumb decoder's SRS handling which didn't exist in the ARM decoder: * (LP:1079080) storing CPSR rather than SPSR (fixed in the ARM decoder in commit c67b6b71 in 2009) * failing to free the 'addr' TCG temp in the writeback case Reported-by: Cesson Vincent <vcesson@xxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 26135ead80fa1fd13e95c162dacfd06f2ba82981 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Mon Jan 21 20:43:31 2013 +0000 target-mips: Fix accumulator selection for MIPS16 and microMIPS Add accumulator arguments to gen_HILO and gen_muldiv, rather than extracting the accumulator directly from ctx->opcode. The extraction was only right for the standard encoding: MIPS16 doesn't have access to the DSP registers, while microMIPS encodes the accumulator register in a different field (bits 14 and 15). Passing the accumulator register is probably an over-generalisation for division and 64-bit multiplication, which never access anything other than HI and LO, and which always pass 0 as the new argument. Separating them felt a bit fussy though. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 54b2f42cb1eef758b6070e805a5d6f7a84315ace Author: Meador Inge <meadori@xxxxxxxxxxxxxxxx> Date: Thu Jan 10 16:50:22 2013 -0600 target-mips: Translate breaks and traps into the appropriate signal GCC and GAS are capable of generating traps or breaks to check for division by zero. Additionally, GAS is capable of generating traps or breaks to check for overflow on certain division and multiplication operations. The Linux kernel translates these traps and breaks into signals. This patch implements the corresponding feature in QEMU. Signed-off-by: Meador Inge <meadori@xxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 20c334a797bf46a4ee59a6e42be6d5e7c3cda585 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Feb 25 16:45:40 2013 +0100 target-mips: fix DSP overflow macro and affected routines The previous implementation incorrectly used same macro to detect overflow for addition and subtraction. This patch makes distinction between these two, and creates separate macros. The affected routines are changed accordingly. This change also includes additions to the existing tests for SUBQ_S_PH and SUBQ_S_W that would trigger the fixed issue, and it removes dead code from the test file. The last test case in subq_s_w.c is a bug found/reported/ isolated by Klaus Peichl from Dolby. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 71df81afc618da79008a7071a666cf97b62e1237 Merge: a690060... 272d2d8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:22:48 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging # By MORITA Kazutaka (5) and others # Via Stefan Hajnoczi * stefanha/block: block: for HMP commit() operations on 'all', skip non-COW drives sheepdog: add support for connecting to unix domain socket sheepdog: use inet_connect to simplify connect code sheepdog: accept URIs move socket_set_nodelay to osdep.c slirp/tcp_subr.c: fix coding style in tcp_connect dataplane: remove EventPoll in favor of AioContext virtio-blk: fix unplug + virsh reboot ide/macio: Fix macio DMA initialisation. commit a6900601caf2286a704bdc42da33e98c65feb3a9 Merge: e482ded... 554f199... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:22:41 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,vhost,pci,e1000 Mostly bugfixes, but also some ICH work by Laszlo. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Thu 28 Feb 2013 07:13:56 AM CST using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: Set virtio-serial device to have a default of 2 MSI vectors. ICH9 LPC: Reset Control Register, basic implementation Fix guest OS hang when 64bit PCI bar present e1000: unbreak the guest network migration to 1.3 vhost: memory sync fixes commit e482dedc503819a009e245996f7cdb13eed6b165 Merge: bf5363e... 5c75fb1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:20:32 2013 -0600 Merge remote-tracking branch 'kraxel/seabios-1.7.2.1' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2.1: update seabios to 1.7.2.1 commit bf5363efcff81226d779d1cc1117cb277b458ecb Merge: 806f352... af347aa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:20:06 2013 -0600 Merge remote-tracking branch 'stefanha/net' into staging # By Jason Wang (2) and others # Via Stefan Hajnoczi * stefanha/net: qmp: netdev_add is like -netdev, not -net, fix documentation doc: document -netdev hubport net: reduce the unnecessary memory allocation of multiqueue tap: set IFF_ONE_QUEUE per default tap: forbid creating multiqueue tap when hub is used net: fix unbounded NetQueue net: fix qemu_flush_queued_packets() in presence of a hub commit 272d2d8e1241b92ab9be87b2c8fb590fd84987a8 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Tue Feb 26 09:55:48 2013 -0500 block: for HMP commit() operations on 'all', skip non-COW drives During a commit of 'all' using the HMP non-live commit, the operation is aborted and returns error on the first error enountered. When non-COW drives are in use (e.g. ejected floppy, cdrom, or drives without a backing parent), that means a commit all will return an error of either -ENOMEDIUM or -ENOTSUP. This is not desirable, so for the 'all' commit case, only attempt the commit if both bs->drv and bs->backing_hd are present. More succinctly: 'commit all' now means a commit on all COW drives. This means an individual commit to a specific non-COW drive will still return the appropriate error (-ENOMEDIUM if eject / not present, -ENOTSUP if no backing file). Reported-by: Jan Kiszka <jan.kiszka@xxxxxx> Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1b8bbb46e7593b92ded74cc2a5461202c2b6c05c Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:53 2013 +0900 sheepdog: add support for connecting to unix domain socket This patch adds support for a unix domain socket for a connection between qemu and local sheepdog server. You can use the unix domain socket with the following syntax: $ qemu sheepdog+unix:///<vdiname>?socket=<socket path>[#snapid] Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 25af257d219ed2708b3bcf7f1fabf93234d27620 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:52 2013 +0900 sheepdog: use inet_connect to simplify connect code This uses the form "<host>:<port>" for the representation of the sheepdog server to use inet_connect. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5d6768e3b8908a60f0a3016b7fa24194f6b47c80 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:51 2013 +0900 sheepdog: accept URIs The URI syntax is consistent with the NBD and Gluster syntax. The syntax is sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag] Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bf1c852aa9cbe21beeb7c37d03e167c33ac196b2 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:50 2013 +0900 move socket_set_nodelay to osdep.c Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4ef7b8944cc5eae66159c60066b21466e2dc1ee4 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:49 2013 +0900 slirp/tcp_subr.c: fix coding style in tcp_connect Fix coding style in tcp_connect before the next patch. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c20e711de308cdebc91ae4b7a983396b56f1de0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 10:40:34 2013 +0100 dataplane: remove EventPoll in favor of AioContext During the review of the dataplane code, the EventPoll API morphed itself (not concidentially) into something very very similar to an AioContext. Thus, it is trivial to convert virtio-blk-dataplane to use AioContext, and a first baby step towards letting dataplane talk directly to the QEMU block layer. The only interesting note is the value-copy of EventNotifiers. At least in my opinion this is part of the EventNotifier API and is even portable to Windows. Of course, in this case you should not close the notifier's underlying file descriptors or handle with event_notifier_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 69b302b2044a9a0f6d157d25b39a91ff7124c61f Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 22 14:37:10 2013 +0100 virtio-blk: fix unplug + virsh reboot virtio-blk registers a vmstate change handler. Unfortunately this handler is not unregistered on unplug, leading to some random crashes if the system is restarted, e.g. via virsh reboot. Lets unregister the vmstate change handler if the device is removed. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02d583c7232d65920634f7553700eb348f84e472 Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Sun Feb 24 20:46:11 2013 +0000 ide/macio: Fix macio DMA initialisation. Commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 accidentally introduced a bug in the initialisation of the second macio DMA device which could cause some DMA operations to segfault QEMU. CC: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 806f352d3d6f7b326b0ab3a49c622b124459dc8d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:05 2013 +0000 gen-icount.h: Rename gen_icount_start/end to gen_tb_start/end The gen_icount_start/end functions are now somewhat misnamed since they are useful for generic "start/end of TB" code, used for more than just icount. Rename them to gen_tb_start/end. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3a808cc407744c30daa7470b5f191cde1fbc1aae Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:04 2013 +0000 translate-all.c: Remove cpu_unlink_tb() The (unsafe) function cpu_unlink_tb() is now unused, so we can simply remove it and any code that was only used by it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 378df4b23753a11be650af7664ca76bc75cb9f01 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:03 2013 +0000 Handle CPU interrupts by inline checking of a flag Fix some of the nasty TCG race conditions and crashes by implementing cpu_exit() as setting a flag which is checked at the start of each TB. This avoids crashes if a thread or signal handler calls cpu_exit() while the execution thread is itself modifying the TB graph (which may happen in system emulation mode as well as in linux-user mode with a multithreaded guest binary). This fixes the crashes seen in LP:668799; however there are another class of crashes described in LP:1098729 which stem from the fact that in linux-user with a multithreaded guest all threads will use and modify the same global TCG date structures (including the generated code buffer) without any kind of locking. This means that multithreaded guest binaries are still in the "unsupported" category. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 77211379d73ea0c89c0b5bb6eee74b17cb06f9a8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:02 2013 +0000 cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC If tcg_qemu_tb_exec() returns a value whose low bits don't indicate a link to an indexed next TB, this means that the TB execution never started (eg because the instruction counter hit zero). In this case the guest PC has to be reset to the address of the start of the TB. Refactor the cpu-exec code to make all tcg_qemu_tb_exec() calls pass through a wrapper function which does this restoration if necessary. Note that the apparent change in cpu_exec_nocache() from calling cpu_pc_from_tb() with the old TB to calling it with the TB returned by do_tcg_qemu_tb_exec() is safe, because in the nocache case we can guarantee that the TB we try to execute is not linked to any others, so the only possible returned TB is the one we started at. That is, we should arguably previously have included in cpu_exec_nocache() an assert(next_tb & ~TB_EXIT_MASK) == tb), since the API requires restore from next_tb but we were using tb. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fadf982584b040527aeee0ede270a4d01463d293 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 22 18:10:01 2013 +0000 cpu: Introduce ENV_OFFSET macros Introduce ENV_OFFSET macros which can be used in non-target-specific code that needs to generate TCG instructions which reference CPUState fields given the cpu_env register that TCG targets set up with a pointer to the CPUArchState struct. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0980011b4f66482d2733ab2dd0f2f61747772c6b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:00 2013 +0000 tcg: Document tcg_qemu_tb_exec() and provide constants for low bit uses Document tcg_qemu_tb_exec(). In particular, its return value is a combination of a pointer to the next translation block and some extra information in the low two bits. Provide some #defines for the values passed in these bits to improve code clarity. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 07ca08bac88f116e9beb05d48d07b406ace8fbc0 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Wed Feb 27 16:09:38 2013 +0000 tcg-sparc: fix build Fix build breakage by 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c: make tcg_out_addsub2() always available. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7a2771d1541ec9a0c585e9b853e5f4dc036919ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 sh: move files referencing CPU to hw/sh4/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9f64bd8aec7c31c76fa0954aaee1475d482662b4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:20:00 2013 +0100 ppc: move more files to hw/ppc These sPAPR files do not implement devices, move them over. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c68c4a56e93f54b374c5207f0185f8e9fa2aec3b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 ppc: move files referencing CPU to hw/ppc/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9743b581a819a05668e6a1f60e3ee6486d25f141 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 m68k: move files referencing CPU to hw/m68k/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8786b05e7bf3c4fc7a25fa14f1736a716cd8a8c4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 i386: move files referencing CPU to hw/i386/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd285b06490d7ef5f7b2f5e6c87b85ddf4345078 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 arm: move files referencing CPU to hw/arm/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 530182169e897c0e401b245552a4c58dc6846912 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:03:15 2013 +0100 hw: move boards and other isolated files to hw/ARCH Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:52:23 2013 +0100 ppc: express FDT dependency of pSeries and e500 boards via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 320ba5fe494c0ef59080eac33801ec1e453663fa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:36:30 2013 +0100 build: always link device_tree.o into emulators if libfdt available Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 83c9f4ca794ec3b6fa7e5a5bb055d378916503e0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:40:22 2013 +0100 hw: include hw header files with full paths Done with this script: cd hw for i in `find . -name '*.h' | sed 's/^..//'`; do echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,' done | sed -i -f - `find . -type f` This is so that paths remain valid as files are moved. Instead, files in hw/dataplane are referenced with the relative path. We know they are not going to move to include/, and they are the only include files that are in subdirectories _and_ move. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7948b4b009b60c6e3b21daad29088b204ddb1966 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Feb 3 20:18:28 2013 +0100 ppc: do not use ../ in include files This simplifies the scripted execution of the next patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eac7ec7f6a5c9e1a0a082ea8525f31549b1f0cb4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:00:38 2013 +0100 vt82c686: vt82c686 is not a PCI host bridge Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 60653b28f505288689d0b44218de4bb9fd254519 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:37:49 2013 +0100 virtio-9p: remove PCI dependencies from hw/9pfs/ Also move the 9p.h file to 9pfs/virtio-9p-device.h, for consistency with the corresponding .c file. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7e6b14dfb575a687cb26be9995c96e5bbf5cba2e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:32:02 2013 +0100 virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1559e0d4b54d1b0744983b57da893617ceae8b94 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 17:20:47 2013 +0100 hw: move device-hotplug.o to toplevel, compile it once The situation with device-hotplug.c is similar to qdev-monitor.c. Add a stub for pci_drive_hot_add, so that it can be compiled once, and move it out of hw/. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4a42f81383d60900aae09513f42eb857a5a7c7c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 11:37:52 2013 +0100 hw: move qdev-monitor.o to toplevel directory qdev-monitor.c is the only "core qdev" file that is not used in user-mode emulation, and it does not define anything that is used by hardware models. Remove it from the hw/ directory and remove hw/qdev-monitor.h from hw/qdev.h too; this requires some files to have some new explicitly includes. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd7f0d66177ec1058a2a256856ff38fc9ceae5af Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 10:57:50 2013 +0100 hw: move fifo.[ch] to libqemuutil fifo.c is generic code that can be easily unit tested. So it belongs in libqemuutil. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 159b6e9f144c7afdf3ad95c29d1fede9626fa8b1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Feb 3 20:21:00 2013 +0100 hw: move char backends to backends/ Braille and msmouse support is in hw/, but it is not hardware. Move it to the backends/ directory. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 288f1e3f87ec24abeac38399f175fe74243f7bc5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:16 2013 +0000 cadence_gem: Add debug msgs for rx desc movement Add some helpful messages that show the rx descriptor pointer moving as packets are rxed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1ef2eb34dade64d589a69a2bcfd5aaddb7d50164.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5025388b5083f199b05cc252c2b031d9fc230391 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:16 2013 +0000 cadence_gem: Don't reset rx desc pointer on rx_en This doesn't happen in the real hardware. The Zynq TRM explicitly states that this bit has no effect on the rx descriptor pointer ("The receive queue pointer register is unaffected"). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 06fdf92b78ee62d8965779bafd29c8df1a5d2718.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ae80a3546f412c407199b9b7ebd52ac604361e10 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 cadence_gem: fix interrupt events Bits in the ISR were continually mirroring their corresponding TX/RX SR bits. This is incorrect. The ISR bits are only ever set at the time their corresponding event occurs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: cedfb6d108318846480b416a6041023ea5a353d6.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1c5d07909aea7657c7c6b24223460150526369ba Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 cadence_gem: factor out can_rx() logic replication The gem_receive() function replicates the logic for whether or not the device can rx. Just call the actual gem_can_receive() function in place. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: bf7f93969f3e01fbc76d68d2955307fdbad11bb1.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e3f9d31c9899cc94e124b042d7d5353dbfd812ca Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 cadence_gem: Flush queued packets The device needs to check for queued RX packets when the RX path is re-enabled. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1fa8c88a3b7c654886d0a7484c2463cd4c2a2781.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a7fd6915d84b20d5ff9ae287ddfabb9b222e7067 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 m25p80.c: Use QOM classes for part differentiation Currently, M25P80 uses an object property to differentiate between flash parts. Changed this over to use QOM sub-classes - the actual names of the different parts are used to create a set of dynamic classes which passes the part info as class data. The object no longer needs to search the known_devices table for itself, instead it just gets its info from its own class. Kept the intermediate class definition private to m25p80.c for the moment, as the expectation is parts will only be added as new entries in the table. We can factor out the TYPE_M25P80 abstraction into a header on a demand basis. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: e24e156d-ff96-4901-997a-e31178b08bee@xxxxxxxxxxxxxxxxxxxxxx Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b972b4e25340abdd23238bc8f3bdacbef533bd5a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 xilinx_zynq: Added SD controllers The Xilinx Zynq device has two SDHCI controllers. Added to the machine model. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 80f4d9fcea86aeb3071750c199416cab9abd5c28 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 vl.c: allow for repeated -sd arguments Allows for repeating of -sd arguments in the same way as -pflash and -mtdblock. Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit d7dfca0807a0f579d3ec985bf1220519420c4dfe Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 hw/sdhci: introduce standard SD host controller Device model for standard SD Host Controller Interface (SDHCI) compliant with version 2.00 of SD association specification. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 353575f0959234e1680622f747e20308c94505b7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 arm: a9mpcore: Coreify the SCU Split the SCU in a9mpcore out into its own object definition. mpcore is now just a container for the mpcore components. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9595978292e9a5b5f0ec77a9f6a0e724c10bf3b4 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: a9mpcore: remove old_timer_status field This field was write only and thus unused. Removed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit cde4577f11cd557cfd48d752b7a0929d19eac9e9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: mptimer: Remove WDT distinction In QEMU emulation, there is no functional difference between the ARM mpcore private timers and watchdogs. Removed all the distinction between the two from arm_mptimer.c and converted it to be just the mptimer. a9mpcore and arm11mpcore just instantiate the same mptimer object twice to get both timer and WDT. If in the future we want to make the WDT functionally different then we can use either QOM hierarchy to derive WDT from from mptimer, or we can add a property "is-wdt" or some such. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 845769fc6319d308a39a78734c6dc03fa93ff2c5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: arm11mpcore, a9mpcore: CamelCased type names To conform with QEMU coding style. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c6205ddf6cff202ac0ce6621987cd3de8b57adee Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: mptimer: CamelCased type names Trivial find replace on type names "timerblock" and "arm_mptimer_state" to conform with QEMU coding style. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1be97bf22447088adebf23b1ca508d4bb00f853c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Feb 28 18:23:12 2013 +0000 hw/pflash_cfi01: Treat read in unknown command state as read The code for handling the default "unknown command state" case in pflash_read in pflash_cfi01.c comments "reset state & treat it as a read". However the code doesn't actually do this. Moving the default case to the top of the switch so it can fall through into the read case brings this file into line with pflash_cfi02 and makes the code behave as the comments suggest. The pflash_cfi01 code has always had this bug -- it was presumably introduced when the original author copied the cfi02 code and rearranged the order of the switch statement without noticing that the default case relied on the fall-through. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1358777318-7579-3-git-send-email-peter.maydell@xxxxxxxxxx commit 6e392787c85809671033ec419d8e8ecf684d55da Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Feb 28 18:23:12 2013 +0000 hw/pflash_cfi01: Make read after byte-write or erase return status The Intel flash command set requires that a read operation after doing a 'single byte write' command returns the status register; add this case to pflash_read() so we return the correct information. Similarly, the case for the 0x28 flavour of block erase was missing. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1358777318-7579-2-git-send-email-peter.maydell@xxxxxxxxxx commit 5c78d6a84b504e831adc8f1917cde0c79061dff0 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Feb 28 18:23:12 2013 +0000 hw/ds1338: Fix conversion between 12 hours and 24 hours modes. The proper mapping between 24 hours and 12 hours modes is: 0 12 AM 1-11 1-11 AM 12 12 PM 13-23 1-11 PM Fix code accordingly. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 09:18:56 2013 +0100 update seabios to 1.7.2.1 Alex Williamson (3): seabios q35: Enable all PIRQn IRQs at startup seabios q35: Add new PCI slot to irq routing function seabios: Add a dummy PCI slot to irq mapping function Avik Sil (1): USB-EHCI: Fix null pointer assignment Kevin O'Connor (4): Update tools/acpi_extract.py to handle iasl 20130117 release. Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". build: Don't require $(OUT) to be a sub-directory of the main directory. Verify CC is valid during build tests. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a4bcea3d67949c6be45992bd5092a19f163bcd4e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 26 12:06:23 2013 -0800 target-i386: Use mulu2 and muls2 These correspond very closely to the insns that we're emulating. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 554f1997f0328bc259454239db64b20b3376d9a6 Author: Gal Hammer <ghammer@xxxxxxxxxx> Date: Wed Feb 27 15:15:31 2013 +0200 Set virtio-serial device to have a default of 2 MSI vectors. The virtio-serial device is expected to use 2 MSI vectors, one for control queue and a second shared for all queues. Signed-off-by: Gal Hammer <ghammer@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0e98b436eceb9d31caad898f4983a369c76524e0 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Feb 20 02:51:24 2013 +0100 ICH9 LPC: Reset Control Register, basic implementation This commit does the same for the ICH9 LPC as commit 1ec4ba74 for the PIIX3. For the present we're ignoring the Full Reset (FULL_RST) and System Reset (SYS_RST) bits; the guest can read them back but that's it. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 7feb640cf32d86f91f5a624136345eb6a63eab42 Author: Alexey Korolev <akorolex@xxxxxxxxx> Date: Fri Feb 22 16:58:44 2013 +1300 Fix guest OS hang when 64bit PCI bar present This patch addresses the issue fully described here: http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg01804.html Linux kernels prior to 2.6.36 do not disable the PCI device during enumeration process. Since lower and higher parts of a 64bit BAR are programmed separately this leads to qemu receiving a request to occupy a completely wrong address region for a short period of time. We have found that the boot process screws up completely if kvm-apic range is overlapped even for a short period of time (it is fine for other regions though). This patch raises the priority of the kvm-apic memory region, so it is never pushed out by PCI devices. The patch is quite safe as it does not touch memory manager. Signed-off-by: Alexey Korolev <akorolex@xxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2af234e61d59f39ae16ba882271e7c4fef2c41c1 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Feb 14 19:11:27 2013 +0200 e1000: unbreak the guest network migration to 1.3 QEMU 1.3 does not emulate the link auto negotiation, so if migrate to a 1.3 machine during link auto negotiation, the guest link will be set to down. Fix this by just disabling auto negotiation for 1.3 and older. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit af347aa5a521555f5342e67993eb717d4f542ba8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 22 18:31:51 2013 +0100 qmp: netdev_add is like -netdev, not -net, fix documentation Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 40e8c26d7b7e260cc3566c6b68cee969e816970e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 26 11:07:16 2013 +0100 doc: document -netdev hubport Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f6b26cf257232e5854c0e5c98a8685c625bf986e Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Feb 22 23:15:06 2013 +0800 net: reduce the unnecessary memory allocation of multiqueue Edivaldo reports a problem that the array of NetClientState in NICState is too large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue is not used. Instead of static arrays, solving this issue by allocating the queues on demand for both the NetClientState array in NICState and VirtIONetQueue array in VirtIONet. Tested by myself, with single virtio-net-pci device. The memory allocation is almost the same as when multiqueue is not merged. Cc: Edivaldo de Araujo Pereira <edivaldoapereira@xxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d26e445c80fddcc7483b83f3115e5067fef28fe6 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 25 10:17:08 2013 +0100 tap: set IFF_ONE_QUEUE per default historically the kernel queues packets two times. once at the device and second in qdisc. this is believed to cause interface stalls if one of these queues overruns. setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the flag is ignored since then. see kernel commit 5d097109257c03a71845729f8db6b5770c4bbedc Signed-off-by: Peter Lieven <pl@xxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ce675a7579fea498397c5d2da3c5367671e9f02a Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Feb 21 11:05:56 2013 +0800 tap: forbid creating multiqueue tap when hub is used Obviously, hub does not support multiqueue tap. So this patch forbids creating multiple queue tap when hub is used to prevent the crash when command line such as "-net tap,queues=2" is used. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7d91ddd25e3a4e5008a2ac16127d51a34fd56bf1 Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Date: Tue Feb 5 18:29:09 2013 +0100 net: fix unbounded NetQueue In the current implementation of qemu, running without a network backend will cause the queue to grow unbounded when the guest is transmitting traffic. This patch fixes the problem by implementing bounded size NetQueue, used with an arbitrary limit of 10000 packets, and dropping packets when the queue is full _and_ the sender does not pass a callback. The second condition makes sure that we never drop packets that contains a callback (which would be tricky, because the producer expects the callback to be run when all previous packets have been consumed; so we cannot run it when the packet is dropped). If documentation is correct, producers that submit a callback should stop sending when their packet is queued, so there is no real risk that the queue exceeds the max size by large values. Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 199ee608f0d08510b5c6c37f31a7fbff211d63c4 Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Date: Tue Feb 5 17:53:31 2013 +0100 net: fix qemu_flush_queued_packets() in presence of a hub When frontend and backend are connected through a hub as below (showing only one direction), and the frontend (or in general, all output ports of the hub) cannot accept more traffic, the backend queues packets in queue-A. When the frontend (or in general, one output port) becomes ready again, quemu tries to flush packets from queue-B, which is unfortunately empty. e1000.0 <--[queue B]-- hub0port0(hub)hub0port1 <--[queue A]-- tap.0 To fix this i propose to introduce a new function net_hub_flush() which is called when trying to flush a queue connected to a hub. Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6b37a23df98faa26391a93373930bfb15b943e00 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Feb 21 13:16:06 2013 +0200 vhost: memory sync fixes This fixes two bugs related to memory sync during migration: - ram address calculation was missing the chunk address, so the wrong page was dirtied - one after last was used instead of the end address of a region, which might overflow to 0 and cause us to skip the region when the region ends at ~0x0ull. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Jason Wang <jasowang@xxxxxxxxxx> commit ee24aaf356f44ca7c8fbef136a438c12091cffd0 Merge: 31e76f6... 7bd43ec... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 13:36:09 2013 -0600 Merge remote-tracking branch 'kiszka/queues/slirp' into staging # By Jan Kiszka # Via Jan Kiszka * kiszka/queues/slirp: slirp: Properly initialize pollfds_idx of new sockets commit 31e76f65a98e1502cbfd362eed5768c48e264c23 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Feb 26 00:46:10 2013 +0100 glib: Add compat wrapper for g_poll on old glib Older glib doesn't implement g_poll(). Most notably the glib version in use on SLE11 is on 2.18 which is hit by this. We do want to use g_poll() in the source however. So on older systems, just wrap it with functions that do exist on older versions. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> Message-id: 1361835970-2889-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 989b697ddd46769b0999e8cd16b5ecd393204734 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Feb 26 17:52:40 2013 +0000 qemu-log: default to stderr for logging output Switch the default for qemu_log logging output from "/tmp/qemu.log" to stderr. This is an incompatible change in some sense, but logging is mostly used for debugging purposes so it shouldn't affect production use. The previous behaviour can be obtained by adding "-D /tmp/qemu.log" to the command line. This change requires us to: * update all the documentation/help text (we take the opportunity to smooth out minor inconsistencies between the phrasing in linux-user/bsd-user/system help messages) * make linux-user and bsd-user defer to qemu-log for the default logging destination rather than overriding it themselves * ensure that all logfile closing is done via qemu_log_close() and that that function doesn't close stderr as well as the obvious change to the behaviour of do_qemu_set_log() when no logfile name has been specified. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1361901160-28729-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab4004495cb1cf38ab2e35f84ee54e669e2ad08a Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Feb 25 10:27:48 2013 +0800 show --disable-gtk and --enable-gtk in the help message Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Message-id: 1361759268-16314-1-git-send-email-hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc0477c7d6445730b22e733ad4a65f0cc23fa405 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:46 2013 +0000 Add compat for GDK_KEY_XXX symbols The GDK_KEY_XXX symbols are new in GTK3 and only the most recent GTK2 releases. Most versions of GTK2 have simply used GDK_XXX Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-14-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ef6413a2a833abe24aae072bd59c7434969fc59d Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:45 2013 +0000 Add compat macro for gtk_widget_get_realized The gtk_widget_get_realized method only arrived in GTK 2.20, so defined a compat macro for earlier GTK Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-13-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 528de90ab7133e22df7c1da4632a6dcd525e88f0 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:44 2013 +0000 Add support for enabling build with GTK3 Add a arg to configure to switch from GTK2 (default) to GTK3 (optional) build for QEMU. ./configure --with-gtkabi=3.0 will choose GTK3, while ./configure --with-gtkabi=2.0 will choose GTK2 (and remains the current default) Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-12-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0d20664018a401120af28ff80ac8d22fbc887956 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:43 2013 +0000 Ensure x_keymap.o is built when GTK is enabled The x_keymap.o file is required by both GTK and SDL builds, so it must be explicitly listed as a GTK dep to ensure the linker works when SDL is disabled Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-11-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fe43bca85b269314b007cd9b2eecc4a52aa73dde Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:42 2013 +0000 Replace expose-event handler with draw handler in GTK3 In GTK3 the 'expose-event' signal has been replaced by a new 'draw' signal. The only difference is that the latter will pre-create the cairo drawing context & set the clip mask. Since the drawing code is already structured in a nice way, we can just wire up the 'gd_draw_event' method to the 'draw' signal in GTK3 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-10-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1ed76b59c4f8670eb06df48cebe086da06111e1f Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:41 2013 +0000 Conditionalize use of gtk_widget_size_request The gtk_widget_size_request method has been replaced by the gtk_widget_get_preferred_size method in GTK3. Conditionally call the new method in GTK3 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-9-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8906de769be0978fed31a0341d0a5829a4ef7ecf Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:40 2013 +0000 Conditionalize use of gdk_display_warp_pointer In GTK3 the gdk_display_warp_pointer method is deprecated. Instead we should use gdk_device_warp on the GdkDevice instead associated with the event being processed. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-8-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 530daf82c129c2a8a6fa757b3ef5a21f1f50f66a Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:39 2013 +0000 Replace gtk_menu_append with gtk_menu_shell_append The gtk_menu_append method has long been deprecated in favour of the gtk_menu_shell_append method. The former is now entirely gone in GTK3, so switch all code to the latter which works on both GTK2 and GTK3 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-7-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 51572ab087b900ea67cc25f1c49dae4112274221 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:38 2013 +0000 Remove use of GtkVBox in GTK3 The GtkVBox class is deprecated, in favour of just using the GtkBox class directly. Eventually even GtkBox will be deprecated in favour of GtkGrid, but that is a bigger fix which can wait. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-6-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2a05485d72504ed92ce91dffd1f5867974c47ff0 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:37 2013 +0000 Conditionalize use of gdk_pointer_grab / gdk_pointer_ungrab On GTK3 there is support for multiple pointer devices, so rather than using gdk_pointer_grab / gdk_pointer_ungrab we should iterate over all devices, grabbing each one in turn Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-5-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 655199da197d2c3407d4bc937c9d3d3ac4551764 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:36 2013 +0000 Conditionalize use of gdk_keyboard_grab / gdk_keyboard_ungrab On GTK3 there is support for multiple keyboard devices, so rather than using gdk_keyboard_grab / gdk_keyboard_ungrab we should iterate over all devices, grabbing each one in turn Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-4-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 66962f14378d0adf2e7d0fcfac66e2248b09bb4d Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:35 2013 +0000 Remove use of gdk_drawable_get_{screen, display} The gdk_drawable_get_screen and gdk_drawable_get_display methods don't exist in GDK3. Fortunately, even on GTK2 they are not required - we can call the equivalent gtk_widget_get_screen/gtk_widget_get_display methods which have existed since GTK 2.2 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-3-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cba68834c69f2d0fd04127301171fedac63d9b67 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:34 2013 +0000 Add compat for gdk_drawable_get_size on GTK3 GTK3 lacks the gdk_drawable_get_size method, so we create a stub impl which gets the get_width/get_height mehtods instead Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-2-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f963e4d0ca5b7704aed8048e2bc293597d333dfb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 16:02:30 2013 +0100 gtk ui: unbreak spice Merge of the gtk ui brought a initialitation order issue for spice: The using_spice variable isn't set yet when checked, leading to the default UI being activated (additionally to spice remote access). Let's set display_remote when we find a -spice switch on the command line, like we do for vnc. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1361804550-15858-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 864a556e9a800116a305f10fbb714268ca7e9bc3 Merge: 9a1d7f0... bf3caa3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 07:44:39 2013 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Paolo Bonzini (7) and others # Via Kevin Wolf * kwolf/for-anthony: (22 commits) pc: add compatibility machine types for 1.4 blockdev: enable discard by default qemu-nbd: add --discard option blockdev: add discard suboption to -drive block: implement BDRV_O_UNMAP block: complete all IOs before .bdrv_truncate coroutine: trim down nesting level in perf_nesting test coroutine: move pooling to common code qemu-iotests: Test qcow2 image creation options qemu-iotests: Add qemu-img compare test qemu-img: Add compare subcommand qemu-img: Add "Quiet mode" option block: Add synchronous wrapper for bdrv_co_is_allocated_above block: refuse negative iops and bps values block: use Error in do_check_io_limits() qcow2: support compressed clusters in BlockFragInfo qemu-img: add compressed clusters to BlockFragInfo qemu-img: fix missing space in qemu-img check output qcow2: record fragmentation statistics during check qcow2: introduce check_refcounts_l1/l2() flags ... commit 9a1d7f00efd4b69f051d4223a70ca91af0ccb19d Merge: b1c07f0... 90f8ae7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 07:44:32 2013 -0600 Merge remote-tracking branch 'quintela/stats.next' into staging # By Juan Quintela # Via Juan Quintela * quintela/stats.next: migration: calculate expected_downtime migration: don't account sleep time for calculating bandwidth migration: calculate end time after we have sent the data migration: change initial value of expected_downtime commit b1c07f06ed0e2094197274e636a90ad33674653c Merge: 08f4a0f... 3960c41... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 07:44:24 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Markus Armbruster # Via Luiz Capitulino * luiz/queue/qmp: check-qjson: More thorough testing of UTF-8 in strings commit 7bd43ec2dd3ffaa12e6331af41fc55d4b2b12f13 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Feb 22 20:47:10 2013 +0100 slirp: Properly initialize pollfds_idx of new sockets Otherwise we may start processing sockets in slirp_pollfds_poll that were created past slirp_pollfds_fill. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 08f4a0f7ee899c32bac91114e859d2687cbcf1d7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 25 11:41:40 2013 -0800 target-ppc: Fix SUBFE carry While ~T0+T1+CF = T1-T0+CF-1 is true for the low 32-bits, it does not produce the correct carry-out to bit 33. Do exactly what the manual says. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e77f083292916ba43b940fdacd2fc1001b750d1d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 25 11:41:39 2013 -0800 target-arm: Fix sbc_CC carry While T0+~T1+CF = T0-T1+CF-1 is true for the low 32-bits, it does not produce the correct carry-out to bit 33. Do exactly what the manual says. Using the ~T1 makes the add and subtract code paths nearly identical, so have sbc_CC use adc_CC. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c3ac601bdaf8d4d81823a79f2a166b586db7dab Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Feb 25 11:41:38 2013 -0800 arm/translate.c: Fix adc_CC/sbc_CC implementation commits 49b4c31efcce45ab714f286f14fa5d5173f9069d and 2de68a4900ef6eb67380b0c128abfe1976bc66e8 reworked the implementation of adc_CC and sub_CC. The new implementations (on the TCG_TARGET_HAS_add2_i32 code path) are incorrect. The new logic is: CF:NF = 0:A +/- 0:CF CF:NF = CF:A +/- 0:B The lower 32 bits of the intermediate result stored in NF needs to be passes into the second addition in place of A (s/CF:A/CF:NF): CF:NF = 0:A +/- 0:CF CF:NF = CF:NF +/- 0:B This patch fixes the issue. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a345481baa2b2fb3d54f8c9ddb58dfcaf75786df Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Thu Feb 7 19:36:09 2013 +0100 target-mips: fix for sign-issue in MULQ_W helper Correct sign-propagation before multiplication in MULQ_W helper. The change also fixes previously incorrect expected values in the tests for MULQ_RS.W and MULQ_S.W. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9c19eb1e205b29018f6f61c5f43db6abbe7dc0e5 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Feb 6 18:05:25 2013 +0100 target-mips: fix for incorrect multiplication with MULQ_S.PH The change corrects sign-related issue with MULQ_S.PH. It also includes extension to the already existing test which will trigger the issue. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d2123a079d983677ec8333940aa4bec803d98cde Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:26 2013 -0800 target-xtensa: Use add2/sub2 for mac Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9cda20bc55e549d31e791bfa55eabe3642b73a7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:25 2013 -0800 target-xtensa: Use mul*2 for mul*hi Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d1f8cd839136337b713a05aaf11a5f189e81532d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:24 2013 -0800 target-unicore32: Use mul*2 for do_mult Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1d3b708491b9d7dde573261fdee8ca0afc6980fd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:23 2013 -0800 target-sh4: Use mul*2 for dmul* Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 528692a8a4fb6c545d818957e758d6ad70fa255c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:22 2013 -0800 target-sparc: Use mul*2 for multiply Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 15fe216fc510c2a0ecf39536bbbc92ba75beb963 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:21 2013 -0800 target-sparc: Use official add2/sub2 interfaces for addx/subx Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e4a2c846248ff8e786e741bc4bc3103b24dfba74 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:20 2013 -0800 target-ppc: Compute mullwo without branches Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ba4af3e422f7ba2de58fd752d6ca89922c259a74 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:19 2013 -0800 target-ppc: Compute arithmetic shift carry without branches Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fd3f0081e5d873b26b9988b48f7118a9914bbd64 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:18 2013 -0800 target-ppc: Implement neg in terms of subf Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b5a73f8d8a57e940f9bbeb399a9e47897522ee9a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:17 2013 -0800 target-ppc: Use add2 for carry generation Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 146de60dcade65a401c6665ae4b51c2b15dfaa55 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:16 2013 -0800 target-ppc: Compute addition carry with setcond Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ffe30937c89dd67a53bf3f35b962701cd9d8f70e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:15 2013 -0800 target-ppc: Compute addition overflow without branches Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2fdcb629071cb6206028bc7d6b69f3585fc365ec Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:14 2013 -0800 target-ppc: Use setcond in gen_op_cmp Which means that callers need not copy data into local tmps. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit da91a00f191fc70ea7d81d7476ef933c562e6fcd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:13 2013 -0800 target-ppc: Split out SO, OV, CA fields from XER In preparation for more efficient setting of these fields. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 23ad1d5d3c00cd07ab7aedc128565c6029802c30 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:12 2013 -0800 target-ppc: Use mul*2 in mulh* insns Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bf45f97133b7f81d27711971a9e28d60528d90c8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:11 2013 -0800 target-cris: Use mul*2 in mul* insns Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ce1dd5d1bbb0a3769566cb6967714c8c8c97a815 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:10 2013 -0800 target-mips: Use mul[us]2 in [D]MULT[U] insns Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2de68a4900ef6eb67380b0c128abfe1976bc66e8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:09 2013 -0800 target-arm: Implement sbc_cc inline Use sub2 if available, otherwise use 64-bit arithmetic. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 49b4c31efcce45ab714f286f14fa5d5173f9069d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:08 2013 -0800 target-arm: Implement adc_cc inline Use add2 if available, otherwise use 64-bit arithmetic. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e3482cb8063575f9fe0f39b701a4b6dc5a55c9cd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:07 2013 -0800 target-arm: Use add2 in gen_add_CC Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9f10124a2704b6bab21b31e79735b18d414a654 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:06 2013 -0800 target-arm: Use mul[us]2 and add2 in umlal et al Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 831d7fe800774db0d7142fdf2a8f8758c8bf9c92 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:05 2013 -0800 target-arm: Use mul[us]2 in gen_mul[us]_i64_i32 Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit dc46d1c68aa107b8e3c95f66e87cd9d02e6452a9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:04 2013 -0800 target-s390x: Use mulu2 for mlgr insn Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 962415fcd5f8223a6fbc6f7bb8c5fdf2500f2f84 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:03 2013 -0800 target-alpha: Use mulu2 for umulh insn Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f1fae40c61fd4558c7d10992c98b4bb47f99e0ed Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:02 2013 -0800 tcg: Apply life analysis to 64-bit multiword arithmetic ops Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f402f38f439f17d4361b28248f948a6170d30133 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:01 2013 -0800 tcg: Implement muls2 with mulu2 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 76f131332310d8317880ef73a2bc90725d857ed3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:00 2013 -0800 target-i386: Use add2 to implement the ADX extension Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d693e14733509f9a2124b03a912058790411140a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:58 2013 -0800 tcg-arm: Implement muls2_i32 We even had the encoding of smull already handy... Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 624988a53b4db34ee2a2b96dc2bccdf52e133a0a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:57 2013 -0800 tcg-i386: Implement multiword arithmetic ops Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f6953a739972353f2cc5e3d5994127ca8c8236ce Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:56 2013 -0800 tcg: Implement multiword addition helpers Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 696a8be6a077a5760bbf9822209999c908cdf0b1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:55 2013 -0800 tcg: Implement multiword multiply helpers Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3c51a98507f9ff64fc2a3841c0e5b8a0c9e3c2b7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:54 2013 -0800 tcg: Implement a 64-bit to 32-bit extraction helper We're going to have use for this shortly in implementing other helpers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4d3203fd0b5d17e39f631f2534e7cbb37d04ce3f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:53 2013 -0800 tcg: Add signed multiword multiplication operations Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d7156f7ce4581c874df4a27409e7d99873faa413 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:52 2013 -0800 tcg: Add 64-bit multiword arithmetic operations Matching the 32-bit multiword arithmetic that we already have. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:51 2013 -0800 tcg-sparc: Always implement 32-bit multiword ops Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bbc863bfecfb3e3a3e21ce569e25046e24c0487c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:50 2013 -0800 tcg-i386: Always implement 32-bit multiword ops Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e6a72734549bd05d06d19957518811c24a6cbee4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:49 2013 -0800 tcg: Make 32-bit multiword operations optional for 64-bit hosts Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f708e736d0dafc05f8b7e9e73d6440c930b94686 Merge: 6ab7e54... f437d0a... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Feb 23 17:21:41 2013 +0000 Merge branch 'eflags3' of git://github.com/rth7680/qemu * 'eflags3' of git://github.com/rth7680/qemu: (61 commits) target-i386: Use movcond to implement shiftd. target-i386: Discard CC_OP computation in set_cc_op also target-i386: Use movcond to implement rotate flags. target-i386: Use movcond to implement shift flags. target-i386: Add CC_OP_CLR target-i386: Implement tzcnt and fix lzcnt target-i386: Use clz/ctz for bsf/bsr helpers target-i386: Implement ADX extension target-i386: Implement RORX target-i386: Implement SHLX, SARX, SHRX target-i386: Implement PDEP, PEXT target-i386: Implement MULX target-i386: Implement BZHI target-i386: Implement BLSR, BLSMSK, BLSI target-i386: Implement BEXTR target-i386: Implement ANDN target-i386: Implement MOVBE target-i386: Decode the VEX prefixes target-i386: Tidy prefix parsing target-i386: Use CC_SRC2 for ADC and SBB ... commit 6ab7e5465a4d6188e29398fb43a30dbab1015b75 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Feb 20 15:21:09 2013 +0000 Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() The setjmp() function doesn't specify whether signal masks are saved and restored; on Linux they are not, but on BSD (including MacOSX) they are. We want to have consistent behaviour across platforms, so we should always use "don't save/restore signal mask" (this is also generally going to be faster). This also works around a bug in MacOSX where the signal-restoration on longjmp() affects the signal mask for a completely different thread, not just the mask for the thread which did the longjmp. The most visible effect of this was that ctrl-C was ignored on MacOSX because the CPU thread did a longjmp which resulted in its signal mask being applied to every thread, so that all threads had SIGINT and SIGTERM blocked. The POSIX-sanctioned portable way to do a jump without affecting signal masks is to siglongjmp() to a sigjmp_buf which was created by calling sigsetjmp() with a zero savemask parameter, so change all uses of setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf, 0) to save the signal mask; however the following siglongjmp() must not restore the signal mask, so the pair can be effectively considered as "sigjmp/longjmp which don't touch the mask".] For Windows we provide a trivial sigsetjmp/siglongjmp in terms of setjmp/longjmp -- this is OK because no user will ever pass a non-zero savemask. The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c are left untouched because these are self-contained singlethreaded test programs intended to be run under QEMU's Linux emulation, so they have neither the portability nor the multithreading issues to deal with. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d1c36ba707637173b818652e51181370d51b6c58 Author: Ronald Hecht <ronald.hecht@xxxxxx> Date: Tue Feb 19 12:45:07 2013 +0100 SPARC LEON power-down support added Signed-off-by: Ronald Hecht <address@hidden> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7a0a9c2c64be242d5953d5ce6172976b05f6c14f Author: Ronald Hecht <ronald.hecht@xxxxxx> Date: Tue Feb 19 12:45:06 2013 +0100 Added LEON MMU ASI mappings and corrected LEON3 MMU masks. This patch adds SPARC ASI mappings that are used by the LEON processor.It also corrects the MMU context register and context table pointer mask of the LEON3. Signed-off-by: Ronald Hecht <ronald.hecht@xxxxxx> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 99e448006d9267d71c2e3a629b6e5d29ed67bb30 Author: Ronald Hecht <ronald.hecht@xxxxxx> Date: Tue Feb 19 17:22:11 2013 +0100 grlib-apbuart: Add support of various flags - enable/disable Rx and Tx - Rx and Tx interrupt - Tx FIFO empty and Tx SHIFT empty Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 8eda222831d31e6562bf1ce50d22fa29e1b6d958 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Feb 19 17:22:10 2013 +0100 Typo: replace gptimer by apbuart Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit af18078d8057203b1ed26ac5534d233aabb36886 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Feb 2 17:17:54 2013 +0000 disas/i386.c: Add explicit braces round empty for-loop body Add explicit braces round an empty for-loop body; this fits QEMU style and is easier to read than an inconspicuous semicolon at the end of the line. It also silences a clang warning: disas/i386.c:4723:49: warning: for loop has empty body [-Wempty-body] for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++); ^ disas/i386.c:4723:49: note: put the semicolon on a separate line to silence this warning [-Wempty-body] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 632314c49ce20ee9c974f07544d9125fbbbfbe1b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Feb 12 16:13:27 2013 +0000 qemu-log: Remove qemu_log_try_set_file() and its users Remove the function qemu_log_try_set_file() and its users (which are all in TCG code generation functions for various targets). This function was added to abstract out code which was originally written as "if (!logfile) logfile = stderr;" in order that BUG: case code which did an unguarded "fprintf(logfile, ...)" would not crash if debug logging was not enabled. Since those direct uses of logfile have also been abstracted away into qemu_log() calls which check for a NULL logfile, there is no need for the target-* files to mess with the user's chosen logging settings. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 685cbd2f63a48bd111bd2c3c4a2228029595ba12 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Thu Feb 21 22:58:08 2013 +0100 xhci: fix bad print specifier This fixes the following compilation error: hw/usb/hcd-xhci.c:1156:17: error: format â??%llxâ?? expects argument of type â??long long unsigned intâ??, but argument 4 has type â??unsigned intâ?? Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 30e8f22b7bc6694b9abea43f45db6fd5be4df429 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Feb 22 20:53:33 2013 +0100 gtk: Rename File to Machine menu and add pause, reset and power down items This adds basic guest control commands to the "Machine" menu - a nice added-value for the GTK UI. We use "pause" as the term for stopping the machine here. So reword also the related caption tag. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 104092825ac3274d16ffc35b7ef9ac8c636e1c48 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Feb 22 20:33:34 2013 +0100 ui/gtk: Use menu item from stock for full screen This reduces the required translations and gives a nicer menu with an icon. The full screen menu item is no longer a check menu item. A checked item is not visible in full screen mode, so it is not needed for this special menu item. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1361561614-11180-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 28d2e5b27d538d94d2489d657b563c58b4d69bc4 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Feb 22 20:09:59 2013 +0100 ui/gtk: Support versions of VTE before 0.26 This is needed for current Debian stable (Squeeze). VTE versions before 0.26 did not support VtePty. Lower the version requirement and use alternate code which works for Debian. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1361560199-28906-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c95e3080a44946ac5739542b549f5a10ee4ec377 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Feb 22 21:08:51 2013 +0100 Reenable -Wstrict-prototypes One part of this patch reverts commit 22bc9a46, which disabled the warning. The rest of it deals with the warning by adding a #pragma for newer gcc and by disabling -Werror for compilers that can't deal with the #pragma. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1361563731-13307-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bf3caa3dc17552b323cec6831301a22cfc98ecd5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:15 2013 +0100 pc: add compatibility machine types for 1.4 Adds both pc-i440fx-1.4 and pc-q35-1.4. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 215e47b9ea2cd7926333b7dc683024aa00e0c386 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:14 2013 +0100 blockdev: enable discard by default Because discard is now a host parameter, we can always fake it as enabled in the guest. This is an extension of the current choice to ignore "not supported" errors from the host when discard_granularity is set to nonzero. The default granularity is set to the logical block size or 4k, whichever is largest, because cluster sizes below 4k are rarely used and 4K is a typical block size for files. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ded9d2d5e247dc4d141c01bc8dc99d6ec832f9e8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:13 2013 +0100 qemu-nbd: add --discard option Similar to --cache and --aio, this option mimics the discard suboption of "-drive". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a9384aff5315e7568b6ebc171f4a482e01f06526 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:12 2013 +0100 blockdev: add discard suboption to -drive Add support for BDRV_O_UNMAP from the QEMU command-line. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9e8f1835ea3ab3be83634f34c1bb8b69cd871766 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:11 2013 +0100 block: implement BDRV_O_UNMAP It is better to present homogeneous hardware independent of the storage technology that is chosen on the host, hence we make discard a host parameter; the user can choose whether to pass it down to the image format and protocol, or to ignore it. Using DISCARD with filesystems can cause very severe fragmentation, so it is left default-off for now. This can change later when we implement the "anchor" operation for efficient management of preallocated files. There is still one choice to make: whether DISCARD has an effect on the dirty bitmap or not. I chose yes, though there is a disadvantage: if the guest is buggy and issues discards for data that is in use, there will be no way to migrate storage for that guest without downgrading the machine type to an older one. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9a665b2b8640e464f0a778216fc2dca8d02acf33 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 18 13:48:31 2013 +0100 block: complete all IOs before .bdrv_truncate bdrv_truncate() invalidates the bdrv_check_request() result for in-flight requests, so there should better be none. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Peter Lieven <pl@xxxxxxx> Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 027003152f4cf21952f9282b4487daf3fdd372ba Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 19 11:59:10 2013 +0100 coroutine: trim down nesting level in perf_nesting test 20000 nested coroutines require 20 GB of virtual address space. Only nest 1000 of them so that the test (only enabled with "-m perf" on the command line) runs on 32-bit machines too. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 402397843e20e35d6cb7c80837c7cfdb19ede591 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 19 11:59:09 2013 +0100 coroutine: move pooling to common code The coroutine pool code is duplicated between the ucontext and sigaltstack backends, and absent from the win32 backend. But the code can be shared easily by moving it to qemu-coroutine.c. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4dc9f9d67dbf5d062d8db188b81cef435f291dd8 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jan 29 10:46:52 2013 +0100 qemu-iotests: Test qcow2 image creation options Just create lots of images and try out each of the creation options that qcow2 provides (except backing_file/fmt for now) I'm not totally happy with the behaviour of qemu-img in each of the cases, but let's be explicit and update the test when we do change things later. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e930d201bc8066a314b9e115e4a2afca50f9c504 Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:42 2013 +0100 qemu-iotests: Add qemu-img compare test Simple test for qemu-img compare to check it's working correctly. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d14ed18c8d10a936e6f8b55f56afb4b75c305e10 Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:41 2013 +0100 qemu-img: Add compare subcommand This patch adds new qemu-img subcommand that compares content of two disk images. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f382d43a9180ed20c671dc058d5452c2df7d3c61 Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:40 2013 +0100 qemu-img: Add "Quiet mode" option There can be a need to turn output to stdout off. This patch adds a -q option that enable "Quiet mode". In Quiet mode, only errors are printed out. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b35b2bba5b372ff912c5fe7e5ad6c5a9d883464f Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:39 2013 +0100 block: Add synchronous wrapper for bdrv_co_is_allocated_above There's no synchronous wrapper for bdrv_co_is_allocated_above function so it's not possible to check for sector allocation in an image with a backing file. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7d81c1413c9c9bdcc966453636e4ca7776b59861 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 13 16:53:43 2013 +0100 block: refuse negative iops and bps values Negative I/O throttling iops and bps values do not make sense so reject them with an error message. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c546194f260fb3e391193cb8cc33505618077ecb Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 13 16:53:42 2013 +0100 block: use Error in do_check_io_limits() The do_check_io_limits() function returns false when I/O limits are invalid but it doesn't set an Error to indicate why. The two do_check_io_limits() callers duplicate error reporting. Solve this by passing an Error pointer into do_check_io_limits(). Note that the two callers report slightly different errors: drive_init() prints a custom error message while qmp_block_set_io_throttle() does error_set(errp, QERR_INVALID_PARAMETER_COMBINATION). QERR_INVALID_PARAMETER_COMBINATION is a generic error, see include/qapi/qmp/qerror.h: #define QERR_INVALID_PARAMETER_COMBINATION \ ERROR_CLASS_GENERIC_ERROR, "Invalid parameter combination" Since it is generic we are not obliged to keep this error. Switch to the custom error message which contains more information. This patch prepares for adding additional checks with their own error messages to do_check_io_limits(). The next patch adds a new check. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4db35162ea54d84c29074adfcff470ee2687e7b9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:05 2013 +0100 qcow2: support compressed clusters in BlockFragInfo Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e6439d783cce2c5cdbe4f8028f0b45162b540f82 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:04 2013 +0100 qemu-img: add compressed clusters to BlockFragInfo Show how many clusters are compressed. This can be used to monitor how many compressed clusters remain and whether to recompress the image. Suggested-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c9fc50839863f05545caca92bb9fbead8b1c91bd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:03 2013 +0100 qemu-img: fix missing space in qemu-img check output The qemu-img check fragmentation printf() is missing a space before the '=' sign. The human output is not guaranteed to be stable and we are not aware of screen scrapers, so add the missing space. Also fix the missing indentation of the printf() arguments. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fba31bae2d776fb4134186a830a252523df7933f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:02 2013 +0100 qcow2: record fragmentation statistics during check The qemu-img check command can display fragmentation statistics: * Total number of clusters in virtual disk * Number of allocated clusters * Number of fragmented clusters This patch adds fragmentation statistics support to qcow2. Compressed and normal clusters count as allocated. Zero clusters are not counted as allocated unless their L2 entry has a non-zero offset (e.g. preallocation). Only the current L1 table counts towards the statistics - snapshots are ignored. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 801f70445293ec8ed2d78fd92313c2f71fa48ac9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:01 2013 +0100 qcow2: introduce check_refcounts_l1/l2() flags The check_refcounts_l1/l2() functions have a check_copied argument to check that the QCOW_O_COPIED flag is consistent with refcount == 1. This should be a bool, not an int. However, the next patch introduces qcow2 fragmentation statistics and also needs to pass an option to check_refcounts_l1/l2(). This is a good opportunity to use an int flags field. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8599ea4c42c098d2657ed632ad569f7a665706a4 Author: Federico Simoncelli <fsimonce@xxxxxxxxxx> Date: Mon Jan 28 06:59:47 2013 -0500 qemu-img: add json output option to the check command This option --output=[human|json] makes qemu-img check output a human or JSON representation at the choice of the user. Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c6bb9ad198c2caa9c7c8ba360a07630b5c10e4a8 Author: Federico Simoncelli <fsimonce@xxxxxxxxxx> Date: Mon Jan 28 06:59:46 2013 -0500 qemu-img: find the image end offset during check This patch adds the support for reporting the image end offset (in bytes). This is particularly useful after a conversion (or a rebase) where the destination is a block device in order to find the first unused byte at the end of the image. Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5cbb08283789caf7dbfd0890dcff47124ad766c2 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 22 08:40:30 2013 -0600 ui/gtk: require at least GTK 2.18 and VTE 0.26 This gives us the bare amount of features we need. We can add work arounds for older versions and lower the requirement but this should be a good starting point. Suggested-by: Daniel Berrange <berrange@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> --- v1 -> v2 - tremendous simplification suggested by danpb commit 82fb0c8908ccbf775be749be9eb3fc0a5813ceaa Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 22 12:11:59 2013 +0100 unbreak hw/usb/redirect.c build Commit 8550a02d1239415342959f6a32d178bc05c557cc added a streams parameter to usb_wakeup and didn't update redirect.c. Fix it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3f58eadeed497445a0ce11468c7394cb3d3f1b65 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Feb 22 07:28:01 2013 +0100 ui/gtk: Fix build (missing include for setlocale) At least for Ubuntu Linux locale.h is needed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1361514481-26164-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 90f8ae724a575861f093fbdbfd49a925bcfec327 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 13:22:37 2013 +0100 migration: calculate expected_downtime We removed the calculation in commit e4ed1541ac9413eac494a03532e34beaf8a7d1c5 Now we add it back. We need to create dirty_bytes_rate because we can't include cpu-all.h from migration.c, and there is no other way to include TARGET_PAGE_SIZE. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit 7161082c8d8cf167c508976887a0a63f4db92b51 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 12:41:38 2013 +0100 migration: don't account sleep time for calculating bandwidth While we are sleeping we are not sending, so we should not use that time to estimate our bandwidth. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit a3e879cd51c4f614f702117c4b1449f0218c00f3 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 12:39:08 2013 +0100 migration: calculate end time after we have sent the data Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit cc283e3bf04d2f64eb6ec2ee5bcd36edd779fe89 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 11:12:26 2013 +0100 migration: change initial value of expected_downtime 0 is a very bad initial value, what we are trying to get is max_downtime, so that is a much better estimation. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit 73d4dc71f3a41131541c73b3ac2a8b160a51842b Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:26 2013 -0600 gtk: suppress accelerators from the File menu when grab is active If you're full screen, you probably expect Ctrl-Q to go to the guest, not the host. I think restricting certain menus is the right way to handle this generally speaking. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-10-git-send-email-aliguori@xxxxxxxxxx commit 15546425c5527ebb08ede399373b705866f1ff84 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:25 2013 -0600 gtk: make default UI (v5) A user can still enable SDL with '-sdl' or '-display sdl' but start making the default display GTK by default. I'd also like to deprecate the SDL display and remove it in a few releases. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-9-git-send-email-aliguori@xxxxxxxxxx commit 834574ea89fa9c3ee0a557a13ad3f50db2509054 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:24 2013 -0600 gtk: add translation support (v5) This includes a de_DE translation from Kevin Wolf and an it translation from Paolo Bonzini. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-8-git-send-email-aliguori@xxxxxxxxxx commit c61584833c579cd7bf800499124ce3d0e15bfb37 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:23 2013 -0600 gtk: add support for screen scaling and full screen (v5) Basic menu items to enter full screen mode and zoom in/out. Unlike SDL, we don't allow arbitrary scaling based on window resizing. The current behavior with SDL causes a lot of problems for me. Sometimes I accidentally resize the window a tiny bit while trying to move it (Ubuntu's 1-pixel window decorations don't help here). After that, scaling is now active and if the screen changes size again, badness ensues since the aspect ratio is skewed. Allowing zooming by 25% in and out should cover most use cases. We can add a more flexible scaling later but for now, I think this is a more friendly behavior. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-7-git-send-email-aliguori@xxxxxxxxxx commit 5104a1f65088285ddf870aa641b9061064e8757d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:22 2013 -0600 gtk: add support for input grabbing (v2) There is a small deviation from SDL's behavior here. Instead of Ctrl+Alt triggering grab, we now use Ctrl-Alt-g to trigger grab. GTK will not accept Ctrl+Alt as an accelerator since it just consists of modifiers. Having grab as a proper accelerator is important as it allows a user to override the accelerator for accessibility purposes. We also are not automatically grabbing on left-click. Besides the inability to tie mouse clicks to an accelerator, I think this behavior is hard to discover and since it only happens depending on the guest state, it can lead to confusing behavior. This can be changed in the future if there's a strong resistence to dropping left-click-to-grab, but I think we're better off dropping it. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-6-git-send-email-aliguori@xxxxxxxxxx commit d861def367b516055dc4c46dc1305143ee653c84 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:21 2013 -0600 gtk: add virtual console support (v2) This enables VteTerminal to be used to render the text consoles. VteTerminal is the same widget used by gnome-terminal which means it's VT100 emulation is as good as they come. It's also screen reader accessible, supports copy/paste, proper scrolling and most of the other features you would expect from a terminal widget. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-5-git-send-email-aliguori@xxxxxxxxxx commit a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:20 2013 -0600 ui: add basic GTK gui (v5) This is minimalistic and just contains the basic widget infrastructure. The GUI consists of a menu and a GtkNotebook. To start with, the notebook has its tabs hidden which provides a UI that looks very similar to SDL with the exception of the menu bar. The menu bar allows a user to toggle the visibility of the tabs. Cairo is used for rendering. I used gtk-vnc as a reference. gtk-vnc solves the same basic problems as QEMU since it was originally written as a remote display for QEMU. So for the most part, the approach to rendering and keyboard handling should be pretty solid for GTK. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-4-git-send-email-aliguori@xxxxxxxxxx commit d82831dbc5471d72785c49b33710436af49bf9ca Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:19 2013 -0600 console: allow VCs to be overridden by UI We want to expose VCs using a VteTerminal widget. We need access to provide our own CharDriverState in order to do this. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-3-git-send-email-aliguori@xxxxxxxxxx commit 22bc9a46bda8f5f88626d3fb578f5d55953c9743 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:18 2013 -0600 build: disable Wstrict-prototypes GTK won't build with strict-prototypes due to gtkitemfactory.h: /* We use () here to mean unspecified arguments. This is deprecated * as of C99, but we can't change it without breaking compatibility. * (Note that if we are included from a C++ program () will mean * (void) so an explicit cast will be needed.) */ typedef void (*GtkItemFactoryCallback) (); Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-2-git-send-email-aliguori@xxxxxxxxxx commit 00e2ceae6c55bef40f5128a3e606f5c44351e0f9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 19 14:02:10 2013 +1000 qom/object.c: Allow itf cast with num_itfs = 0 num_interfaces only tells you how many interfaces the concrete child class has (as defined in the TypeInfo). This means if you have a child class which defines no interfaces of its own, but its parent has interfaces you cannot cast to those parent interfaces. Fixed changing the guard to check the class->interfaces list instead (which is a complete flattened list of implemented interfaces). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: a8c2db3b9b1f3c4bb81aca352b69e33260f36545.1361246206.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3e407de47700cce4babbe0f3ac35677e7b852cf6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 19 14:02:09 2013 +1000 qom/object.c: Reset interface list on inheritance The QOM framework will attempt the recreate a classes interface list from scratch for each class. This means that a child class should zero out the list of interfaces when cloned from the parent class. Currently the list is memcpy()d from the parent to the child. As the interface list is just a pointer to a list, this means the parent and child will share the same list of interfaces. When the child inits, it will append its own interfaces to the parents list. This is incorrect as the parent should not pick up its childs interfaces. This actually causes an infinite loop at class init time, as the child will iterate through the parent interface list adding each itf to its own list(in type_initialize()). As the list is (erroneously) shared, the new interface instances for the child are appended to the parent, and the iterator never hits the tail and loops forever. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1f58d2b629d82865dbb2fd5ba8445854049c4382.1361246206.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1424e0381a7f1c9969079eca4458d5f20bf1859 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Feb 20 09:37:12 2013 +0100 vga: fix byteswapping. In case host and guest endianness differ the vga code first creates a shared surface (using qemu_create_displaysurface_from), then goes patch the surface format to indicate that the bytes must be swapped. The switch to pixman broke that hack as the format patching isn't propagated into the pixman image, so ui code using the pixman image directly (such as vnc) uses the wrong format. Fix that by adding a byteswap parameter to qemu_create_displaysurface_from, so we'll use the correct format when creating the surface (and the pixman image) and don't have to patch the format afterwards. [ v2: unbreak xen build ] Cc: qemu-stable@xxxxxxxxxx Cc: mark.cave-ayland@xxxxxxxxxxxx Cc: agraf@xxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1361349432-23884-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ba43da36983a0bff2778abfa2338697da129030c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Feb 20 16:24:22 2013 +0000 Remove elderly top level TODO file The top level TODO file hasn't been touched since 2008, so it's now an unhelpful and out of date mix of things that have already been done, things that don't make sense any more and things which could in theory be done but are not in practice important enough (or we'd have done them some time in the last five years). Remove it. The bug tracking system is probably a better place to track TODO items if we want to do so. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1361377462-19816-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ca81baa0b3363d57de94f8b80c02a003b361161 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Feb 20 18:04:01 2013 +0800 help: add docs for multiqueue tap options Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1361354641-51969-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b5a01a70ad49b518c2c4b0f0a37f5435f01ce716 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:33 2013 +0100 aio: support G_IO_HUP and G_IO_ERR aio-posix.c could not take advantage of G_IO_HUP and G_IO_ERR because select(2) does not have equivalent events. Now that g_poll(3) is used we can support G_IO_HUP and G_IO_ERR. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-11-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6b5f876252b7aeec43e319afdf17705f512be2bc Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:32 2013 +0100 aio: convert aio_poll() to g_poll(3) AioHandler already has a GPollFD so we can directly use its events/revents. Add the int pollfds_idx field to AioContext so we can map g_poll(3) results back to AioHandlers. Reuse aio_dispatch() to invoke handlers after g_poll(3). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-10-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d0c8d2c05f67a1a007d87fa3b99254abfa42d06d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:31 2013 +0100 aio: extract aio_dispatch() from aio_poll() We will need to loop over AioHandlers calling ->io_read()/->io_write() when aio_poll() is converted from select(2) to g_poll(2). Luckily the code for this already exists, extract it into the new aio_dispatch() function. Two small changes: * aio_poll() checks !node->deleted to avoid calling handlers that have been deleted. * Fix typo 'then' -> 'them' in aio_poll() comment. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-9-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9cbaacf999b01b27dc3a22502705178057af66de Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:30 2013 +0100 main-loop: drop rfds/wfds/xfds for good Now that all *_fill() and *_poll() functions use GPollFD we no longer need rfds/wfds/xfds or pollfds_from_select()/pollfds_to_select(). >From now on everything uses GPollFD. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-8-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a3e4b4a8091cc4fcf7cb619570c72c54c2d6a6e9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:29 2013 +0100 iohandler: switch to GPollFD Convert iohandler_select_fill() and iohandler_select_poll() to use GPollFD instead of rfds/wfds/xfds. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-7-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8917c3bdba37d6fe4393db0fad3fabbde9530d6b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:28 2013 +0100 slirp: switch to GPollFD Slirp uses rfds/wfds/xfds more extensively than other QEMU components. The rarely-used out-of-band TCP data feature is used. That means we need the full table of select(2) to g_poll(3) events: rfds -> G_IO_IN | G_IO_HUP | G_IO_ERR wfds -> G_IO_OUT | G_IO_ERR xfds -> G_IO_PRI I came up with this table by looking at Linux fs/select.c which maps select(2) to poll(2) internally. Another detail to watch out for are the global variables that reference rfds/wfds/xfds during slirp_select_poll(). sofcantrcvmore() and sofcantsendmore() use these globals to clear fd_set bits. When sofcantrcvmore() is called, the wfds bit is cleared so that the write handler will no longer be run for this iteration of the event loop. This actually seems buggy to me since TCP connections can be half-closed and we'd still want to handle data in half-duplex fashion. I think the real intention is to avoid running the read/write handler when the socket has been fully closed. This is indicated with the SS_NOFDREF state bit so we now check for it before invoking the TCP write handler. Note that UDP/ICMP code paths don't care because they are connectionless. Note that slirp/ has a lot of tabs and sometimes mixed tabs with spaces. I followed the style of the surrounding code. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-6-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cf1d078e4ea094e516faab49678fbea3a34b7848 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:27 2013 +0100 slirp: slirp/slirp.c coding style cleanup The slirp glue code uses tabs in some places. Since the next patch will modify the file, convert tabs to spaces and fix checkpatch.pl issues. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-5-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 48ce11ff972c733afaed3e2a2613a2e56081ec92 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:26 2013 +0100 main-loop: switch POSIX glib integration to GPollFD Convert glib file descriptor polling from rfds/wfds/xfds to GPollFD. The Windows code still needs poll_fds[] and n_poll_fds but they can now become local variables. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-4-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cbff4b342b000a7642125dbdabf61113e05eee44 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:25 2013 +0100 main-loop: switch to g_poll() on POSIX hosts Use g_poll(3) instead of select(2). Well, this is kind of a cheat. It's true that we're now using g_poll(3) on POSIX hosts but the *_fill() and *_poll() functions are still using rfds/wfds/xfds. We've set the scene to start converting *_fill() and *_poll() functions step-by-step until no more rfds/wfds/xfds users remain. Then we'll drop the temporary gpollfds_from_select() and gpollfds_to_select() functions and be left with native g_poll(2). On Windows things are a little crazy: convert from rfds/wfds/xfds to GPollFDs, back to rfds/wfds/xfds, call select(2), rfds/wfds/xfds back to GPollFDs, and finally back to rfds/wfds/xfds again. This is only temporary and keeps the Windows build working through the following patches. We'll drop this excessive conversion later and be left with a single GPollFDs -> select(2) -> GPollFDs sequence that allows Windows to use select(2) while the rest of QEMU only knows about GPollFD. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 134a03e0b3d34b01b68107104c525c3bff1211d4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:24 2013 +0100 main-loop: fix select_ret uninitialized variable warning Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3960c41f05bf776cc23a4a3b861f729fa65295a5 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Feb 5 09:30:55 2013 +0100 check-qjson: More thorough testing of UTF-8 in strings Test cases are scraped from Markus Kuhn's UTF-8 decoder capability and stress test at http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt Unfortunately, both JSON parser and formatter misbehave right now. This test expects current, incorrect results. They're all clearly marked, and are to be replaced by correct ones as the bugs get fixed. See comments in new utf8_string() for details. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 70aa41b56ce3f34fceac44e828ba2d8cc19523ee Merge: 259dc0c... 89a453d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Feb 21 09:39:17 2013 -0600 Merge remote-tracking branch 'kraxel/usb.78' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.78: uas-uas: usb3 streams usb-xhci: usb3 streams usb-core: usb3 streams usb: fix endpoint descriptor ordering usb-redir: simplify packet copy usb: make usb_packet_copy operate on combined packets usb: add usb_ep_set_halted usb-host: remove usb_host_device_close usb-host: move legacy cmd line bits usb-storage: use scsi_req_enqueue return value allow disabling usb smartcard support make usb devices configurable fix scripts/make_device_config.sh usb: Makefile cleanup commit 259dc0c1ce8eef14e5e0c349bc68ba05c9d5d82f Merge: cc2832a5... 159c983... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Feb 21 09:38:27 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Alin Tomescu (1) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: .gitignore: Ignore optionrom/*.asm ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c Add some missing qtest binaries to .gitignore xilinx_axienet.c: Assert no error when making link Remove forward declaration of non-existant variable commit 159c9836d057d8990e71399e8a431b2b911e2885 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Feb 19 17:41:28 2013 -0500 .gitignore: Ignore optionrom/*.asm Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 11e5d738a4c68cd20e90477fa8b7ee873bf3e2c0 Author: Alin Tomescu <tomescu.alin@xxxxxxxxx> Date: Wed Feb 20 21:36:09 2013 -0500 ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c I was trying to launch a PowerPC "bamboo" machine with more than 256MB of RAM with qemu-system-ppc -M bamboo -kernel $kernel -initrd $ramdisk -m 512, but QEMU would just hang. However, when I used -m 256, the machine would boot. I looked through the code in hw/ and it seems there is an error when the RAM memory is setup (if my understanding is correct). After patching it, the machine launched and booted successfully with 512MB of RAM. Signed-off-by: Alin Tomescu <tomescu.alin@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 499a6165bef56ce3f5297fa7b1abaab32858a34f Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 21 13:34:40 2013 +1100 Add some missing qtest binaries to .gitignore These binaries are generated during make check on at least some configurations, so att them to .gitignore. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b15aaca4303fe009870842dd922a0128b332a2fd Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Feb 11 17:16:05 2013 +1000 xilinx_axienet.c: Assert no error when making link This gives an awful silent failure when it doesn't work. Assert against link creation failure. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 87f1361c193c77dad428a7aa9bdce7ae2b76871f Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sun Feb 10 23:11:05 2013 +0100 Remove forward declaration of non-existant variable This variable has been removed 5 years ago in 970ac5a3082428dca91171f270dcd95d6f4b2636. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f437d0a3c24e471a855da33a086fe529e09a06af Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 21:06:31 2013 -0800 target-i386: Use movcond to implement shiftd. With this being all straight-line code, it can get deleted when the cc variables die. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e2f515cf2f3795b9edb68eee42262e7c5f88fe98 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 14:48:43 2013 -0800 target-i386: Discard CC_OP computation in set_cc_op also The shift and rotate insns use movcond to set CC_OP, and thus achieve a conditional EFLAGS setting. By discarding CC_OP in a later flags setting insn, we can discard that movcond. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 34d80a55ff8517fd37bcfea5063b9797e2bd9132 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 19:16:45 2013 -0800 target-i386: Use movcond to implement rotate flags. With this being all straight-line code, it can get deleted when the cc variables die. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a41f62f592d9ecf97df4a12023760fe082b1ee68 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 17:52:59 2013 -0800 target-i386: Use movcond to implement shift flags. With this being all straight-line code, it can get deleted when the cc variables die. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 436ff2d227588d42970c4f0ed1cdfcb87c872fba Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jan 29 13:38:43 2013 -0800 target-i386: Add CC_OP_CLR Special case xor with self. We need not even store the known zero into cc_src. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 321c535105a182501b888f095f7ec4dbb5f3f6ae Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jan 21 13:32:02 2013 -0800 target-i386: Implement tzcnt and fix lzcnt We weren't computing flags for lzcnt at all. At the same time, adjust the implementation of bsf/bsr to avoid the local branch, using movcond instead. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f1300734cbca515d30953b2c87e259fa378ea301 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jan 21 11:52:26 2013 -0800 target-i386: Use clz/ctz for bsf/bsr helpers And mark the helpers as NO_RWG_SE. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cd7f97cafdd80d6bd4950ccfdcd9acb7850184b2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:17:33 2013 -0800 target-i386: Implement ADX extension Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 89a453d4a5c195e6d0a3c3d4fcaacb447447115f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 25 17:38:59 2013 +0100 uas-uas: usb3 streams Add usb3 streams support to the uas (usb attached scsi) emulation. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 024426acc0a2707a85faa1983499647649d6d2db Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 25 17:23:44 2013 +0100 usb-xhci: usb3 streams Add streams support to the xhci emulation. No secondary streams yet, only linear stream arays are supported for now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8550a02d1239415342959f6a32d178bc05c557cc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 29 12:44:35 2013 +0100 usb-core: usb3 streams This patch adds support for usb3 streams to the usb subsystem core. This is just adding a streams field / parameter in a number of places. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2e5df36df8d0c3ffe59de254ef016508b27562bb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 28 15:52:57 2013 +0100 usb: fix endpoint descriptor ordering Fix the ordering of the endpoint descriptors for superspeed endpoints: The superspeed companion must come first, possible additional descriptors for the endpoint after that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6ef3ccd18f881a7bece556ff0fe1b0bf70ac2262 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 24 15:40:37 2013 +0100 usb-redir: simplify packet copy usb_packet_copy can handle combined packets now, so it isn't needed to special-case them any more. Also use the new usb_packet_size() function. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6a98d1c0f9e4f6a95d6ecd730ae6fdc70d15c73f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 24 15:38:23 2013 +0100 usb: make usb_packet_copy operate on combined packets Likewise usb_packet_skip. Also usb_packet_size. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e382d966d06d2989fc28eec8cfdcc2fd99ebfbb7 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 12 13:40:59 2012 +0100 usb: add usb_ep_set_halted Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1a3973b33d36583d7194798f789a37759a13e269 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 30 13:02:47 2012 +0100 usb-host: remove usb_host_device_close Nobody implements that anyway. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4075975d832c55abdfc951726e54f9a28a2421c8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jan 23 14:15:38 2013 +0100 usb-host: move legacy cmd line bits The code handling the "-usbdevice host:..." legacy command line syntax is moved to the new hw/usb/host-legacy.c file. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9db7c41419e89adee5650a5868ac91e83614abf5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 22 14:17:05 2013 +0100 usb-storage: use scsi_req_enqueue return value Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 07d17e772095ee2b1171498536e5671a97920149 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 11:08:24 2013 +0100 allow disabling usb smartcard support Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6c83f81542e4fda1777a74e4647a69086e44357c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 10:49:43 2013 +0100 make usb devices configurable Leave the core usb devices (usb hub, tablet, mouse, keyboard) enabled unconditionally. Make the other ones configurable. Exceptions: - bluetooth: not qdevified yet, has a vl.c dependency because of that, thus disabling isn't as easy as not linking the object file. - smardcard: ccid-card-emulated depends on that one *and* CONFIG_SMARTCARD_NSS. So it isn't a one-liner and comes as separate patch because of that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f4ece4046344230a3a030ef1e494599eaf0a5935 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 10:48:34 2013 +0100 fix scripts/make_device_config.sh Make it handle multiple include statements in a file: (1) The printf needs a space so the include files will be separated. (2) Also $f can contain multiple failes, so redirection will not work and we have to use cat to process all files. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 62162fff598f941c198b16b4e8814015ec5a0bef Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 09:53:17 2013 +0100 usb: Makefile cleanup Group files, sprinkle in some comments. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e2c3c2c551bccd843135eab1ba202f8d2f86800b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 16 14:55:09 2013 -0800 target-i386: Implement RORX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4a554890e479a43568de8b5354d9ca8583f5ec7f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:12:13 2013 -0800 target-i386: Implement SHLX, SARX, SHRX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0592f74a75ab695efd48a151219667adc0fa7cc4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:09:43 2013 -0800 target-i386: Implement PDEP, PEXT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5f1f4b177152286102475f9bffc359002a14d9c9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:06:18 2013 -0800 target-i386: Implement MULX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 02ea1e6b4fab803551bbea47eea29bc7709ba008 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 17:01:10 2013 -0800 target-i386: Implement BZHI Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit bc4b43dc2fe88712ad921c05fc1ab9ebc4cb6778 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:44:37 2013 -0800 target-i386: Implement BLSR, BLSMSK, BLSI Do all of group 17 at one time for ease. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c7ab7565bc6d52cc140230aa4d0533d13d89c8b1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:21:33 2013 -0800 target-i386: Implement BEXTR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7073fbada733c8d10992f00772c9b9299d740e9b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:17:10 2013 -0800 target-i386: Implement ANDN As this is the first of the BMI insns to be implemented, this carries quite a bit more baggage than normal. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 111994ee05b810d81dc6abea7fac5280e48dc198 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 10 12:06:59 2013 -0800 target-i386: Implement MOVBE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 701ed211d62b2b0dba732d75997c4bbf37010c1e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 11 11:35:02 2013 -0800 target-i386: Decode the VEX prefixes No actual required uses of these encodings yet. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4a6fd938f5457ee161d2acbd9364608a2a68b7a1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 10 13:29:23 2013 -0800 target-i386: Tidy prefix parsing Avoid duplicating switch statement between 32 and 64-bit modes. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 988c3eb0d6f41ac13f4ec145c637f12c776de602 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:03:16 2013 -0800 target-i386: Use CC_SRC2 for ADC and SBB Add another slot in ENV and store two of the three inputs. This lets us do less work when carry-out is not needed, and avoids the unpredictable CC_OP after translating these insns. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit db9f2597722d5d8bc5f2330f186288d893114338 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:10:49 2013 -0800 target-i386: Make helper_cc_compute_{all,c} const Pass the data in explicitly, rather than indirectly via env. This avoids all sorts of unnecessary register spillage. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8601c0b6c553a018fc62007efa8ac2a71d77f449 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:06:38 2013 -0800 target-i386: Don't reference ENV through most of cc helpers In preparation for making this a const helper. By using the proper types in the parameters to the helper functions, we get to avoid quite a lot of subsequent casting. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a3251186fc6a04d421e9c4b65aa04ec32379ec38 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 15:43:03 2013 -0800 target-i386: optimize flags checking after sub using CC_SRCT After a comparison or subtraction, the original value of the LHS will currently be reconstructed using an addition. However, in most cases it is already available: store it in a temp-local variable and save 1 or 2 TCG ops (2 if the result of the addition needs to be extended). The temp-local can be declared dead as soon as the cc_op changes again, or also before the translation block ends because gen_prepare_cc will always make a copy before returning it. All this magic, plus copy propagation and dead-code elimination, ensures that the temp local will (almost) never be spilled. Example (cmp $0x21,%rax + jbe): Before After ---------------------------------------------------------------------------- movi_i64 tmp1,$0x21 movi_i64 tmp1,$0x21 movi_i64 cc_src,$0x21 movi_i64 cc_src,$0x21 sub_i64 cc_dst,rax,tmp1 sub_i64 cc_dst,rax,tmp1 add_i64 tmp7,cc_dst,cc_src movi_i32 cc_op,$0x11 movi_i32 cc_op,$0x11 brcond_i64 tmp7,cc_src,leu,$0x0 discard loc11 brcond_i64 rax,cc_src,leu,$0x0 Before After ---------------------------------------------------------------------------- mov (%r14),%rbp mov (%r14),%rbp mov %rbp,%rbx mov %rbp,%rbx sub $0x21,%rbx sub $0x21,%rbx lea 0x21(%rbx),%r12 movl $0x11,0xa0(%r14) movl $0x11,0xa0(%r14) movq $0x21,0x90(%r14) movq $0x21,0x90(%r14) mov %rbx,0x98(%r14) mov %rbx,0x98(%r14) cmp $0x21,%r12 | cmp $0x21,%rbp jbe ... jbe ... Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 891a5133f1637296c3823229180b5851132ed5f5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 18 10:06:55 2013 -0800 target-i386: Update cc_op before TCG branches Placing the CC_OP_DYNAMIC at the join is less effective than before the branch, as the branch will have forced global registers to their home locations. This way we have a chance to discard CC_SRC2 before it gets stored. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dc259201f8b471f27136ffe50cc7019c8311ccb6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 15:01:35 2013 -0800 target-i386: introduce gen_jcc1_noeob A jump that ends a basic block or otherwise falls back to CC_OP_DYNAMIC will always have to call gen_op_set_cc_op. However, not all jumps end a basic block, so introduce a variant that does not do this. This was partially undone earlier (i386: drop cc_op argument of gen_jcc1), redo it now also to prepare for the introduction of src2. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 63633fe6eb15107d688f3b7f61a4b379f57fc4ca Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:51:34 2013 -0800 target-i386: use gen_op for cmps/scas Replace low-level ops with a higher-level "cmp %al, (A0)" in the case of scas, and "cmp T0, (A0)" in the case of cmps. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3b9d3cf1609ec98411508c1e8b6dde711117825f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 15:04:10 2012 +0200 target-i386: kill cpu_T3 It is almost unused, and it is simpler to pass a TCG value directly to gen_shiftd_rm_T1_T3. This value is then written to t2 without going through a temporary register. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 57eb0cc85469a8948d1036ab830951e63aa32f66 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 16 11:00:14 2013 -0800 target-i386: expand cmov via movcond Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f32d3781de8328237c2db45ff774cbd4b30134d6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Oct 7 17:55:26 2012 +0200 target-i386: introduce gen_cmovcc1 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cc8b6f5b39ae47a93074a5384faa734bf2a6ae61 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Oct 8 09:42:48 2012 +0200 target-i386: cleanup temporary macros for CCPrepare Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 69d1aa31f7551050bf918dc22f0fe3307b779186 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:41:21 2013 -0800 target-i386: inline gen_prepare_cc_slow Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 943131ca98af142da7b99111b410e741a5d42338 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Oct 7 15:53:23 2012 +0200 target-i386: use CCPrepare to generate conditional jumps This simplifies all the jump generation code. CCPrepare allows the code to create an efficient brcond always, so there is no need to duplicate the setcc and jcc code. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 276e6b5f069e189e204a4320f824daa07db10286 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:33:45 2013 -0800 target-i386: introduce gen_prepare_cc This makes the i386 front-end able to create CCPrepare structs for all condition, not just those that come from a single flag. In particular, JCC_L and JCC_LE can be optimized because gen_prepare_cc is not forced to return a result in bit 0 (unlike gen_setcc_slow). However, for now the slow jcc operations will still go through CC computation in a single-bit temporary, followed by a brcond if the temporary is nonzero. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit bec93d7283b635aabaf0bbff67b6da7fc99e020a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:21:52 2013 -0800 target-i386: introduce CCPrepare Introduce a struct that describes how to build a *cond operation that checks for a given x86 condition code. For now, just change gen_compute_eflags_* to return the new struct, generate code for the CCPrepare struct, and go on as before. [rth: Use ctz with the proper width rather than ffs.] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c365395e9bd2b3bcac48ef562c187ea6ab9820ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 23:00:10 2012 +0200 target-i386: optimize setcc instructions Reconstruct the arguments for complex conditions involving CC_OP_SUBx (BE, L, LE). In the others do it via setcond and gen_setcc_slow (which is not that slow in many cases). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit be10b289d697420b6e0d8d1a681aa64555066639 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:53:51 2013 -0800 target-i386: optimize setle And allow gen_setcc_slow to operate on cpu_cc_src. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2cb4764577f270eec259123955a6396ad6a2f161 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:49:43 2013 -0800 target-i386: optimize setbe This is looking at EFLAGS, but it can do so more efficiently with setcond. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1a5c635947e60167c4626dd274531b8b0eacc2e5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 22:54:34 2012 +0200 target-i386: change gen_setcc_slow_T0 to gen_setcc_slow Do not hard code the destination register. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 06847f1f1a7cff71f68dc6416cdd729c01ae2305 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:46:02 2013 -0800 target-i386: convert gen_compute_eflags_c to TCG Do the switch at translation time, converting the helper templates to TCG opcodes. In some cases CF can be computed with a single setcond, though others it may require a little more work. In the CC_OP_DYNAMIC case, compute the whole EFLAGS, same as for ZF/SF/PF. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8115f117357a63bff84522caac6c3bcadee0a285 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:37:28 2013 -0800 target-i386: use inverted setcond when computing NS or NZ Make gen_compute_eflags_z and gen_compute_eflags_s able to compute the inverted condition, and use this in gen_setcc_slow_T0. We cannot do it yet in gen_compute_eflags_c, but prepare the code for it anyway. It is not worthwhile for PF, as usual. shr+and+xor could be replaced by and+setcond. I'm not doing it yet. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 086c40778485f9a52d41a66fd4ef0d8723a2ac0a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:33:59 2013 -0800 target-i386: do not call helper to compute ZF/SF ZF, SF and PF can always be computed from CC_DST except in the CC_OP_EFLAGS case (and CC_OP_DYNAMIC, which just resolves to CC_OP_EFLAGS in gen_compute_eflags). Use setcond to compute ZF and SF. We could also use a table lookup to compute PF. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b666265b2071e4288110f6553b598efe00246d06 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:26:38 2013 -0800 target-i386: Move CC discards to set_cc_op This gets us universal coverage, rather than scattering discards around at various places. As a bonus, we do not emit redundant discards e.g. between sequential logic insns. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ccfcdd09bf91aabe039d2dae0b5ec3a05f083e59 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:07:10 2013 -0800 target-i386: no need to flush out cc_op before gen_eob This makes code more similar to the other callers of gen_eob, especially loopz/loopnz/jcxz. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d229edce1c58e6bb13d386bef4c31fc2e3850cb6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:03:26 2013 -0800 target-i386: do not compute eflags multiple times consecutively After calling gen_compute_eflags, leave the computed value in cc_reg_src and set cc_op to CC_OP_EFLAGS. The next few patches will remove anyway most calls to gen_compute_eflags. As a result of this change it is more natural to remove the register argument from gen_compute_eflags and change all the callers. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1608ecca95188dcf4f78072be48f41dbe2062b25 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 18:42:59 2012 +0200 target-i386: add helper functions to get other flags Introduce new functions to extract PF, SF, OF, ZF in addition to CF. These provide single entry points for optimizing accesses to a single flag. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 773cdfccb835cc82aca2b2ff34277b4bf58d6bb9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 12:43:12 2013 -0800 target-i386: Use gen_update_cc_op everywhere All of the conditional calls to gen_op_set_cc_op go away, and gen_op_set_cc_op itself gets inlined into its only remaining caller. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e207582f6660e0e2d10a2e79e664e456e80b2887 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 12:34:26 2013 -0800 target-i386: Don't clobber s->cc_op in gen_update_cc_op Use a dirty flag to know whether env->cc_op is up to date, rather than forcing s->cc_op to DYNAMIC and losing info. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3ca51d07dae5b2d2301431c55b08d4faaad95d91 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 12:30:52 2013 -0800 target-i386: Introduce set_cc_op This will provide a good hook into which we can consolidate all of the cc variable discards. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit fee71888a29ab9f31b23386383812a4f5c953829 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 16 16:23:46 2013 -0800 target-i386: Name the cc_op enumeration Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c7b3c87397a3458d3d26499c483e0badaf79849c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 18:29:21 2012 +0200 target-i386: factor gen_op_set_cc_op/tcg_gen_discard_tl around computing flags Before computing flags we need to store the cc_op to memory. Move this to gen_compute_eflags_c and gen_compute_eflags rather than doing it all over the place. Alo, after computing the flags in cpu_cc_src we are in EFLAGS mode. Set s->cc_op and discard cpu_cc_dst in gen_compute_eflags, rather than doing it all over the place. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5bdb91b0dd66b7e0fdfc801601c433ad4752aeb0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 13:35:40 2012 +0200 target-i386: use gen_jcc1 to compile loopz Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6fa38ed219587723fcab9b878f42269489d51705 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: clean up sahf Discard CC_DST and set s->cc_op immediately after computing EFLAGS. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f5847c912d62d60a9917ed1e88cd6d4548fd40f3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: compute eflags outside rcl/rcr helper Always compute EFLAGS first since it is needed whenever the shift is non-zero, i.e. most of the time. This makes it possible to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases where s->cc_op becomes CC_OP_DYNAMIC. Also, we can remove cc_tmp and just modify cc_src from within the helper. Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op and discarding cpu_cc_dst. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0ff6addd92979b9759efa1c0945526e6ac78ce5b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: move eflags computation closer to gen_op_set_cc_op This ensures the invariant that cpu_cc_op matches s->cc_op when calling the helpers. The next patches need this because gen_compute_eflags and gen_compute_eflags_c will take care of setting cpu_cc_op. Always compute EFLAGS first since it is needed whenever the shift is non-zero, i.e. most of the time. This makes it possible to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases where s->cc_op becomes CC_OP_DYNAMIC. These are slow and we want to avoid them: CC_OP_EFLAGS is quite efficient once we paid the initial cost of computing the flags. Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op and discarding cpu_cc_dst. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 52320e15dbb0c2531501a924972e63cdb59742a7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: move carry computation for inc/dec closer to gen_op_set_cc_op This ensures the invariant that cpu_cc_op matches s->cc_op when calling the helpers. The next patches need this because gen_compute_eflags and gen_compute_eflags_c will take care of setting cpu_cc_op. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b27fc131fe8dc18924904e4dd0b82dfd77dc51c7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 01:36:45 2012 +0200 target-i386: drop cc_op argument of gen_jcc1 As in the gen_repz_scas/gen_repz_cmps case, delay setting CC_OP_DYNAMIC in gen_jcc until after code generation. All of gen_jcc1/is_fast_jcc/gen_setcc_slow_T0 now work on s->cc_op, which makes things a bit easier to follow and to patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 91642ff80607ad90c66ba044fe91e4a53b09bdbb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 01:22:09 2012 +0200 target-i386: factor setting of s->cc_op handling for string functions Set it to the appropriate CC_OP_SUBx constant in gen_scas/gen_cmps. In the repz case it can be overridden to CC_OP_DYNAMIC after generating the code. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d824df34e8cdd2fbe55258f26731d7ef3ac7ced2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 18:02:41 2012 +0200 target-i386: introduce gen_ext_tl Introduce a function that abstracts extracting an 8, 16, 32 or 64-bit value with or without sign, generalizing gen_extu and gen_exts. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 93ab25d7d129fbe47a99fd8c91292ea99bff747e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 01:56:03 2012 +0200 target-i386: use OT_* consistently Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1b99f83e3946c447eefb3417ec1ea4c2f3b44582 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 16:40:21 2012 +0200 test-i386: make it compile with a recent gcc Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 40475087a5ee80f5251dac6087142458d8dc7d99 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 16:40:41 2012 +0200 test-i386: QEMU_PACKED is not defined here Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cc2832a51c8ce43349967ab1b6c7aafd510e55b2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 17:46:57 2013 +0100 rtc-test: add testcases for alarms in 12hour mode Trying (unsuccessfully) to break the device model as mentioned in https://bugs.launchpad.net/qemu/+bug/1090558. At least if someone tries to fix that, it won't break what works... Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1357922817-17584-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f9b3ed401c5cf3df9689f74c15a7b4d91566a3ac Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 17:46:56 2013 +0100 rtc-test: always set register B in its entirety Eliminate dependencies between one test and the others. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1357922817-17584-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d2a929feba319c18603e324b1750830d6c8b7a1 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Oct 18 11:16:58 2012 +0200 vnc-tls: Fix compilation with newer versions of GNU-TLS In my installation of GNU-TLS (v3.0.23) the type gnutls_anon_server_credentials is marked deprecated, so -Werror breaks compilation. Simply replacing it with the newer ..._t version fixed the compilation on my machine (Slackware 14.0). I cannot tell how far back this "new" type goes, at least the header file in RHEL 5.0 (v1.4.1) seems to have it already. If someone finds a broken distribution, tell me and I insert some compat code. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Message-id: 1350551818-14717-1-git-send-email-andre.przywara@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 10adb8be87c315573a5bf9f5bda885f25da28ce6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:43 2013 +0100 doc help: Collect block device stuff under its own heading Collect them from "Standard options", "File system options", "Virtual File system pass-through options", "Debug/Expert options". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 84644c451ce7cf8e3cf027501f0f44041f8c6972 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:42 2013 +0100 doc help: A few options are under inappropriate headings, fix --device is under heading "USB options". --name and --uuid are under "Virtual File system pass-through options". Move all three to "Standard options". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f037809907bcc51295a471ad66b14e90f22d8caa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:41 2013 +0100 help: Fix markup of heading "USB options" so it appears in -help Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c70a01e449536c616c85ab820c6fbad7d7e9cf39 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:40 2013 +0100 doc: Fix texinfo @table markup in qemu-options.hx End tables before headings, start new ones afterwards. Fixes incorrect indentation of headings "File system options" and "Virtual File system pass-through options" in manual page and qemu-doc. Normalize markup some to increase chances it survives future edits. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6265c43b0c872015e4331d3a93ff99946f3edb01 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:39 2013 +0100 doc: Fill some option doc gaps in manual page and qemu-doc Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b8f490eb271cf07f491f05e11e3a3a4e7fde9f70 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:38 2013 +0100 doc: Fix some option entries in qemu-doc's function index Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 31e70d6c12d8f0170d7eeb56fa8275a9cc77c4a4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:37 2013 +0100 help: Drop bogus help on -qtest and -qtest-log Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c538ca66ffec97432057d3fe1aa5a4bb417ae9e9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 11:27:26 2013 +0100 isa: Split off instance_init for ISADevice Prepares for assigning IRQs before QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361010446-1427-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 872536bf5dfdf207d275cd627caec2aefb68aab9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 22:44:03 2013 +0100 qtest: Add MMIO support Introduce [qtest_]{read,write}[bwlq]() libqtest functions and corresponding QTest protocol commands to replace local versions in libi2c-omap.c. Also convert m48t59-test's cmos_{read,write}_mmio() to {read,write}b(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361051043-27944-4-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b73cf9e93f1c7fd6e949f71172c49848b4d70aa9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 22:44:02 2013 +0100 libqtest: Introduce qtest_qmpv() and convert remaining macro In order to convert qmp() macro to an inline function, expose a qtest_qmpv() function, reused by qtest_qmp(). We can't apply GCC_FMT_ATTR() since fdc-test is using zero-length format strings, which would result in warnings treated as errors. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361051043-27944-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6acf801de5a6e299c02ab3efe3e0dcd75ae678e0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 22:44:01 2013 +0100 libqtest: Convert macros to functions and clean up documentation libqtest.h provides a number of shortcut macros to avoid tests feeding it the QTestState they operate on. Most of these can easily be turned into static inline functions, so let's do that for clarity. This avoids getting off-by-one error messages when passing wrong args. Some macros had a val argument but documented @value argument. Fix this. While touching things, enforce gtk-doc markup for return values and for referencing types. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361051043-27944-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3c3adde005ec929d7d581d495d9a0bb223e6e055 Merge: f4c0f98... 2d64255... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Feb 18 08:37:29 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber # Via Andreas Färber * afaerber/qom-cpu: (47 commits) target-i386: Split command line parsing out of cpu_x86_register() target-i386: Move cpu_x86_init() target-lm32: Drop unused cpu_lm32_close() prototype target-s390x: Drop unused cpu_s390x_close() prototype spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu() ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu() e500: Replace open-coded loop with qemu_get_cpu() cpu: Add CPUArchState pointer to CPUState cputlb: Pass CPUState to cpu_unlink_tb() cpu: Move current_tb field to CPUState cpu: Move exit_request field to CPUState cpu: Move running field to CPUState cpu: Move host_tid field to CPUState target-cris: Introduce CRISCPU subclasses target-m68k: Pass M68kCPU to m68k_set_irq_level() mcf_intc: Pass M68kCPU to mcf_intc_init() mcf5206: Pass M68kCPU to mcf5206_init() target-m68k: Return M68kCPU from cpu_m68k_init() ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset() target-xtensa: Move TCG initialization to XtensaCPU initfn ... commit f4c0f986c061f34fd5b020c30e2aa8c37e17193b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 16 12:47:01 2013 -0800 tests: Add unit tests for mulu64 and muls64 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ff7a1eb0a1262f7d451cc1e70c65dd23771ce2a2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 16 12:47:00 2013 -0800 host-utils: Improve mulu64 and muls64 The new formulation makes better use of add-with-carry type insns that the host may have. Use gcc's sign adjustment trick to avoid having to perform a 128-bit negation. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f540166b7dfdf4ec2057ac322d8cbfd0691e1d65 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 16 12:46:59 2013 -0800 host-utils: Use __int128_t for mul[us]64 Replace some x86_64 specific inline assembly with something that all 64-bit hosts ought to optimize well. At worst this becomes a call to the gcc __multi3 routine, which is no worse than our implementation in util/host-utils.c. With gcc 4.7, we get identical code generation for x86_64. We now get native multiplication on ia64 and s390x hosts. With minor improvements to gcc we can get it for ppc64 as well. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit be96bd3fbffde908a392c830c856063e122791c1 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Feb 16 23:21:24 2013 +0100 tcg/ppc: Fix build of tcg_qemu_tb_exec() Commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 (TCG: Final globals clean-up) moved code_gen_prologue but forgot to update ppc code. This broke the build on 32-bit ppc. ppc64 is unaffected. Cc: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 05499f4b9fd431631299dc1b70156dbc1fb43318 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 14:32:05 2013 +0100 target-sparc: Fix debug output for DEBUG_MMU Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2d64255bd7c0d3933ff5ab2cabff11bcb09117a8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 14:06:56 2013 +0100 target-i386: Split command line parsing out of cpu_x86_register() In order to instantiate a CPU subtype we will need to know which type, so move the cpu_model splitting into cpu_x86_init(). Parameters need to be set on the X86CPU instance, so move cpu_x86_parse_featurestr() into cpu_x86_init() as well. This leaves cpu_x86_register() operating on the model name only. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5c3c6a682dedb3ef6becf112867cf92abf203816 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 1 15:12:13 2013 +0100 target-i386: Move cpu_x86_init() Consolidate CPU functions in cpu.c. Allows to make cpu_x86_register() static. No functional changes. Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0203f86f5205e09a56df41021d872c6353754250 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 12:13:15 2013 +0100 target-lm32: Drop unused cpu_lm32_close() prototype It was never implemented. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0dac84597a66eb8f416972faef451ce786b3cdd4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 12:10:37 2013 +0100 target-s390x: Drop unused cpu_s390x_close() prototype It was never implemented. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5353d03dd7917875b46ff03e0d9e2935770f5e9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 16:43:08 2013 +0100 spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu() The helper functions all access ppc-specific fields only so don't bother to change arguments to PowerPCCPU and use env_ptr instead. No functional change. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 912ebe10eff6cf7e05f908a44283033c1c0270a0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 15:56:27 2013 +0100 ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu() Potentially env could be NULL whereas cpu would still be valid and correspond to a previous env. Wrapping this in qemu_get_cpu(), env is no longer needed, so simplify code that existed before 55e5c2850293547203874098f7cec148ffd12dfa. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 440c8152bd410b0f928d4de6f187f1e2280e1324 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 15:21:13 2013 +0100 e500: Replace open-coded loop with qemu_get_cpu() Since we still need env for ppc-specific fields, obtain it via the new env_ptr fields to avoid "cpu" name conflicts between CPUState and PowerPCCPU for now. This fixes a potential issue with env being NULL at the end of the loop but cpu still being a valid pointer corresponding to a previous env. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c05efcb18ee30cdf2b00b3512aa0f5233b52911f Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 12:13:41 2013 +0100 cpu: Add CPUArchState pointer to CPUState The target-specific ENV_GET_CPU() macros have allowed us to navigate from CPUArchState to CPUState. The reverse direction was not supported. Avoid introducing CPU_GET_ENV() macros by initializing an untyped pointer that is initialized in derived instance_init functions. The field may not be called "env" due to it being poisoned. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 907a5e32f293a0af8875973d4cce12b96bea5bae Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 09:16:15 2013 +0100 cputlb: Pass CPUState to cpu_unlink_tb() CPUArchState is no longer needed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d77953b94ff20868b21796ee22ca57baa1cfc941 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 19:29:31 2013 +0100 cpu: Move current_tb field to CPUState Explictly NULL it on CPU reset since it was located before breakpoints. Change vapic_report_tpr_access() argument to CPUState. This also resolves the use of void* for cpu.h independence. Change vAPIC patch_instruction() argument to X86CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fcd7d0034b7eddba505a548f456f452bf5a7d56c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 08:02:44 2012 +0100 cpu: Move exit_request field to CPUState Since it was located before breakpoints field, it needs to be reset. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0315c31cda054775585b31f8cb3c9228cc6fc28b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 07:34:52 2012 +0100 cpu: Move running field to CPUState Pass CPUState to cpu_exec_{start,end}() functions. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0d34282fdde1d8f337d2a9e10f5ac793b12ef2e7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 07:12:13 2012 +0100 cpu: Move host_tid field to CPUState Change gdbstub's cpu_index() argument to CPUState now that CPUArchState is no longer used. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6ae064fc671f1c475b1371c067fa3100ec6daf80 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Feb 6 17:18:12 2013 +0100 target-cris: Introduce CRISCPU subclasses Use class_init functions to initialize the VR in preparation for overriding v32+ behavior there. Move cpu_cris_init() to cpu.c and hook up a class_by_name callback. This change leads to unknown -cpu model names no longer falling back to a CPU with VR 32 but instead returning NULL. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cb3fb38e91caacfcb0f86e8c587ed74ffa34fe8e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:20:52 2013 +0100 target-m68k: Pass M68kCPU to m68k_set_irq_level() Simplifies use of cpu_reset_interrupt() et al. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9a6ee9fd35483446fe14e083fa335358c86ba595 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:15:09 2013 +0100 mcf_intc: Pass M68kCPU to mcf_intc_init() Store it in mcf_intc_state. Prepares for passing it to m68k_set_irq_level(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4025cfd5d7175203008343a375f9287c77cd383c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:10:34 2013 +0100 mcf5206: Pass M68kCPU to mcf5206_init() Store it in m5206_mbar_state. Prepares for passing M68kCPU to m68k_set_irq_level(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c7937d9f9a99d8cc2848e85f608d89c6f326daf0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:03:58 2013 +0100 target-m68k: Return M68kCPU from cpu_m68k_init() Turn cpu_init() into a static inline function for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f3273ba643f2d0221492381b24bbc35fb6089a48 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 15:57:51 2013 +0100 ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset() Prepares for changing cpu_interrupt() argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> commit 25733eada6c1d4928262e77e2ee1e9ed12de18fb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:46:45 2013 +0100 target-xtensa: Move TCG initialization to XtensaCPU initfn Combine this with breakpoint handler registration, guarding both with tcg_enabled() to suppress also TCG init for qtest. Rename the handler to xtensa_breakpoint_handler() since it needs to become global. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d9c27f00b174df070470d48d6577042d2186d969 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:36:47 2013 +0100 target-unicore32: Move TCG initialization to UniCore32CPU initfn Normalize the "inited" logic and add a tcg_enabled() check to suppress it for qtest. Ensures that a QOM-created UniCore32CPU is usable. Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5266d20a12f2ef01841aad5f1692d73551a39dac Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:34:18 2013 +0100 target-sparc: Move TCG initialization to SPARCCPU initfn Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aa7408ec18c3517b2476a3671cd0b7f171241e2d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:30:32 2013 +0100 target-sh4: Move TCG initialization to SuperHCPU initfn Add a tcg_enabled() check to suppress it for qtest. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2b7ac76729c8253d799a8d3bb9bae76cccb0714e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 22:43:32 2013 +0100 target-s390x: Move TCG initialization to S390CPU initfn Ensures that a QOM-created S390CPU is usable. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 60925d2644953ce1ca7813411853d8c04e637050 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:26:37 2013 +0100 target-ppc: Move TCG initialization to PowerPCCPU initfn Ensures that a QOM-created PowerPCCPU is usable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 78ce64f492498050083e46cdd7e6cbae6435843c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:22:25 2013 +0100 target-mips: Move TCG initialization to MIPSCPU initfn Make mips_tcg_init() non-static and add tcg_enabled() check to suppress it for qtest. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cd0c24f9095b1f825210bb9d9f99532c78668074 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:10:52 2013 +0100 target-microblaze: Move TCG initialization to MicroBlazeCPU initfn Split off TCG initialization from cpu_mb_init() into mb_tcg_init() to call it from the initfn. Ensures that a QOM-created MicroBlazeCPU is usable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1cc896195bae54d7a5f48f9032037d8f6f65abd5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 00:48:29 2013 +0100 target-m68k: Move TCG initialization to M68kCPU initfn Add a tcg_enabled() check to suppress it for qtest. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 868e2824276cbe6ef2e202c05c4eb3a3a19d3ee0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 00:05:12 2013 +0100 target-lm32: Move TCG initialization to LM32CPU initfn Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d1a94fec3d8d70009fd5ac27ade5539fe58cd702 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 23:55:42 2013 +0100 target-cris: Move TCG initialization to CRISCPU initfn Split out TCG initialization from cpu_cris_init(). Avoid CPUCRISState dependency for v10-specific initialization and for non-v10 by inlining the decision into the initfn as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 79614b781df5096ffecf531992314781dbab54af Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 07:37:45 2013 +0100 target-arm: Move TCG initialization to ARMCPU initfn Ensures that a QOM-created ARMCPU is usable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5f6c964389ea5320e81e2fb8c2bc3aa40c5a8013 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 04:19:35 2013 +0100 target-xtensa: Introduce QOM realizefn for XtensaCPU Introduce realizefn and set realized = true in cpu_xtensa_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 088383e3220776917f538d0e43933e842e16b804 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:38:30 2013 +0100 target-unicore32: Introduce QOM realizefn for UniCore32CPU Introduce a realizefn and set realized = true in uc32_cpu_init(). Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> [AF: Invoke the parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b6e91ebfe06f1d90331d162259553a5330514143 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 04:13:19 2013 +0100 target-sparc: Introduce QOM realizefn for SPARCCPU Introduce realizefn and set realized = true in cpu_sparc_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 55acb588dd184a1e33be0ff1fe23f8c19f88fd6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Apr 23 18:16:02 2012 +0200 target-sh4: Introduce QOM realizefn for SuperHCPU Introduce a realizefn and set realized = true in cpu_sh4_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1f1366322b21678c33003a373366697a4542d2d4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 04:00:41 2013 +0100 target-s390x: Introduce QOM realizefn for S390CPU Introduce realizefn and set realized = true in cpu_s390x_init(). Defer CPU reset from initfn to realizefn. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> [AF: Invoke parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c1caf1d961288e41c25de6631c6751ae7baa20f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:48:37 2013 +0100 target-mips: Introduce QOM realizefn for MIPSCPU Introduce a realizefn and set realized = true from cpu_mips_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 746b03b27cac48be5a376d8635ffaf568339ebd7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 15:27:31 2013 +0100 target-microblaze: Introduce QOM realizefn for MicroBlazeCPU Introduce realizefn and set realized = true from cpu_mb_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6d1bbc6273d45520c5ce6475186bfa30d8afb47c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 15:15:30 2013 +0100 target-m68k: Introduce QOM realizefn for M68kCPU Introduce realizefn and set realized = true in cpu_m68k_init(). Split off GDB registration to a new m68k_cpu_init_gdb() so that it can be called from the realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9c23169e8cd54b490d55221b6498d42966f964f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:31:27 2013 +0100 target-lm32: Introduce QOM realizefn for LM32CPU Introduce a realizefn and set realized = true in cpu_lm32_init(). Also move cpu_reset() call from initfn to realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca45f8b0440358ccca63446cf0df05772791b2a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 15:41:21 2013 +0100 target-cris: Introduce QOM realizefn for CRISCPU Introduce realizefn and set realized = true from cpu_cris_init(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4776ce600338e17f75d200d1ad17d4ce9effa57f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:55:14 2013 +0100 target-ppc: Update PowerPCCPU to QOM realizefn Adapt ppc_cpu_realize() signature, hook it up to DeviceClass and set realized = true in cpu_ppc_init(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c296262bc94651a7a43639857d8343470f4129f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:11:07 2013 +0100 target-openrisc: Update OpenRISCCPU to QOM realizefn Update the openrisc_cpu_realize() signature, hook it up to DeviceClass::realize and set realized = true in cpu_openrisc_init(). qapi/error.h is now included through qdev and no longer needed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Jia Liu <proljc@xxxxxxxxx> commit 2b6f294cacd9f4e133a7813d22e1b4e87ac6b2a3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:41:47 2013 +0100 target-i386: Update X86CPU to QOM realizefn Adapt the signature of x86_cpu_realize(), hook up to DeviceClass::realize and set realized = true in cpu_x86_init(). The QOM realizefn cannot depend on errp being non-NULL as in cpu_x86_init(), so use a local Error to preserve error handling behavior on APIC initialization errors. Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> [AF: Invoke parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 149692667f8a46430127ca0555b38965f52177f5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 10:18:18 2013 +0100 target-arm: Update ARMCPU to QOM realizefn Turn arm_cpu_realize() into a QOM realize function, no longer called via cpu.h prototype. To maintain the semantics of cpu_init(), set realized = true explicitly in cpu_arm_init(). Move GDB coprocessor registration, CPU reset and vCPU initialization into the realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd1b282836a7885a13c13f9cc63123fa8e32f02f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:01:30 2013 +0100 target-alpha: Update AlphaCPU to QOM realizefn Update the alpha_cpu_realize() signature and hook up to DeviceClass::realize. Set realized = true in cpu_alpha_init(). qapi/error.h is included through qdev now and no longer needed. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> [AF: Invoke parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4f65809994274989bdf51c8605bb974565cb1c9e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 06:17:06 2013 +0100 cpu: Prepare QOM realizefn Overwrite the default implementation with a no-op, no longer attempting to call DeviceClass::init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 453776e5746be23c66df65fadf12e115b7d2dadd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:43 2013 -0800 bitops: Remove routines redundant with host-utils Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0f9d8bd386c9b7b17fc68fef36caa81750c39494 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:42 2013 -0800 bitops: Replace bitops_ctol with ctzl The is the only remaining user. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4932398fac273b8ebe5688bc4b79407a7f41edbd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:41 2013 -0800 bitops: Inline bitops_flsl This is the only remaining user. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 14e534265aad0796690a5aea429f5bd2877ccff0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:40 2013 -0800 target-i386: Inline bitops_flsl Use clz32 directly. Which makes slightly more sense given that the input is type "int" and not type "long". Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0cfa6adc7fd1eba4694515bde6bbfb9ecd892f2f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:39 2013 -0800 bitops: Write bitops_flsl in terms of clzl Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5bbf90be97203c472f47da070c0040b464c0460f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:38 2013 -0800 memory: Use non-bitops ctzl A memory size of zero is invalid, and so that edge condition does not occur. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 265ce4a5ca39fb7f74a803dd61bbd9108ca6cdee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:37 2013 -0800 bitops: Use non-bitops ctzl The use of ctz has already eliminated zero, and thus the difference in edge conditions between the two routines is irrelevant. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 18331e7c189507513008a2936f5fe79c3d8b8a08 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:36 2013 -0800 hbitmap: Use non-bitops ctzl Both uses of ctz have already eliminated zero, and thus the difference in edge conditions between the two routines is irrelevant. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 72d81155d0b88ba757c5a972d3fff83027e7a6e7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:35 2013 -0800 host-utils: Fix coding style and add comments Add function comments to the routines, documenting the corner cases upon which we are standardizing. Fix the few instances of non-standard coding style. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0165437302448d210742cc3def362d1de0413621 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:34 2013 -0800 host-utils: Add host long specific aliases for clz, ctz, ctpop We will standardize on these names, rather than the similar routines currently residing in qemu/bitops.h. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 38dad9e574746981dfbac52b3bbbd6d894f31d26 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:25 2013 +0000 qemu-log: Rename CPULogItem, cpu_log_items to QEMULogItem, qemu_log_items Rename the typedef CPULogItem and the public array cpu_log_items to names that better reflect the fact that the qemu_log functionality isn't restricted to TCG CPU debug logs any more. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b946bffab5e0d359accfcc78faead20fd69f26e8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:24 2013 +0000 cpus.c: Drop unnecessary set_cpu_log() The set_cpu_log() function in cpus.c is a fairly simple wrapper which is only called from one location. Just inline the code into vl.c, since there is no need to indirect it via cpus.c and the handling of the error case is more appropriate to vl.c. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 24537a01910f110fe3e343c13df13e48f7968a9e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:23 2013 +0000 qemu-log: Rename the public-facing cpu_set_log function to qemu_set_log Rename the public-facing function cpu_set_log to qemu_set_log. This requires us to rename the internal-only qemu_set_log() to do_qemu_set_log(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4fde1eba0f98779d4fdb64818071f72bb1672438 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:22 2013 +0000 qemu-log: Rename cpu_str_to_log_mask to qemu_str_to_log_mask Rename cpu_str_to_log_mask() to qemu_str_to_log_mask(), since the qemu_log functionality is no longer restricted to TCG CPU debug logging. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 59a6fa6e67d2335d867c66c59d992847e5b62879 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:21 2013 +0000 qemu-log: Abstract out "print usage message about valid log categories" Abstract out the "print a human readable list of all the valid log categories" functionality which is currently duplicated in three separate places. (We leave the monitor.c help_cmd() implementation as-is since it wants to send the message to the monitor and add its own information.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9a7e54242910d26d280589e1f5c7ec8814d02a6b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:20 2013 +0000 qemu-log: Unify {cpu_set,set_cpu}_log_filename as qemu_set_log_filename The qemu_log() functionality is no longer specific to TCG CPU debug logs. Rename cpu_set_log_filename() to qemu_set_log_filename() and drop the pointless wrapper set_cpu_log_filename(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5e5f07e08f7ed8c8eb9b02d9f9c3c79cf95d65ee Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Date: Fri Feb 1 01:47:23 2013 +0700 TCG: Move translation block variables to new context inside tcg_ctx: tb_ctx It's worth to clean-up translation blocks variables and move them into one context as was suggested by Swirl. Also if we use this context directly inside tcg_ctx, then it speeds up code generation a bit. Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Date: Fri Feb 1 01:47:22 2013 +0700 TCG: Final globals clean-up Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2742f56d134ba0f5ed7e447afd0b6e2001ffc5c1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 15 17:40:56 2013 -0600 Open up 1.5 development tree Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 03e94e39ce5259efdbdeefa1f249ddb499d57321 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 15 16:15:40 2013 -0600 Update VERSION for release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 571f65ec20fbcb991d7bce51787248ab9d325e3f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Feb 14 08:58:49 2013 -0600 Update VERSION of release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 71652365c53115d2090d294406ec0bd3b7c63953 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Feb 13 23:58:12 2013 +0100 Revert "Update OpenBIOS images" This reverts commit 10442558ab1797bfbb01285b909e34c5cf038f12. With the updated OpenBIOS image, -M g3beige fails to boot quik. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Message-id: 1360796292-27078-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9893c80d81587ac25d8ea4a82651371b54e7df35 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 12 11:29:31 2013 +1000 cadance_uart: Accept input after rx FIFO pop The device returns false from the can receive function when the FIFO is full. This means the device should check for buffered input whenever a byte is popped from the FIFO. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1360632571-25638-1-git-send-email-peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8a8f5840082eb65d140ccfe7b128c92390cce1c3 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 13 09:25:34 2013 +0100 block/curl: only restrict protocols with libcurl>=7.19.4 The curl_easy_setopt(state->curl, CURLOPT_PROTOCOLS, ...) interface was introduced in libcurl 7.19.4. Therefore we cannot protect against CVE-2013-0249 when linking against an older libcurl. This fixes the build failure introduced by fb6d1bbd246c7a57ef53d3847ef225cd1349d602. Reported-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-by: Andreas Färber <andreas.faeber@xxxxxx> Message-id: 1360743934-8337-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d36b2b904ee921b380fad559cb824a40eb587bcb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 15:54:16 2013 +0100 qapi: Flatten away ChardevPort Simplifies the schema and the code. QMP command { "execute" : "chardev-add", "arguments" : { "id" : "ser0", "backend" : { "type" : "port", "data" : { "type": "serial", "device":"/dev/ttyS0"} } } } becomes { "execute" : "chardev-add", "arguments" : { "id" : "ser0", "backend" : { "type" : "serial", "data" : { "device":"/dev/ttyS0"} } } } Bonus: nicer error messages. "unknown chardev port (1)" becomes "character device backend type 'parallel' not supported". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1360767256-610-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d037d6bbbcdda6552254286b6da090ef0dc0d98a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 15:54:15 2013 +0100 chardev: Fix manual page and qemu-doc for -chardev tty Broken in commit d59044ef. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1360767256-610-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc2a90432d9cb7546a2c4360ad7200a2fb3af31a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Feb 12 23:16:06 2013 +0100 net: Avoid NULL function pointer dereference on cleanup The pSeries machine and some other devices don't supply a cleanup callback. Revert part of 1ceef9f27359cbe92ef124bf74de6f792e71f6fb that started calling it unconditionally. Cc: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1360707366-9271-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91b0a8f33419573c1d741e49559bfb666fd8b1f0 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Feb 7 02:20:51 2013 +0000 s390: Fix handling of iscs. There are two ways to express an interruption subclass: - As a bitmask, as used in cr6. - As a number, as used in the I/O interruption word. Unfortunately, we have treated to I/O interruption word as if it contained the bitmask as well, which went unnoticed so far as - (queued-for-next) kvm made the same mistake, and - Linux guest kernels don't check the isc value in the I/O interruption word for subchannel interrupts. Make sure that we treat the I/O interruption word correctly. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bd9a8d852c857fd19c4626acaac1d4979f816f3a Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Feb 7 02:20:50 2013 +0000 s390: Keep I/O interrupts enabled for all iscs. do_io_interrupt() would stop scanning further iscs if it found an I/O interrupt it could inject. This might cause the pending interrupt indication for I/O interrupts to be reset although there might be queued I/O interrupts for subsequent iscs. Fix this by reordering the logic: Inject the I/O interrupt immediately and continue searching all iscs for queued interrupts. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 760794f784f66e262a9ca32821ba202cdf3a3e4b Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Feb 4 22:53:24 2013 +0000 s390/sclpconsole: prevent char layer callback during initialization Starting a qemu with an sclp console and pressing a key very early can result in "qemu-system-s390x: hw/s390x/sclpconsole.c:60: receive_from_chr_layer: Assertion `scon->iov' failed." Lets make sure that the init process is finished, since the iov is allocated after CHR_EVENT_OPENED by also checking for scon->iov. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7ce4106c2125eca8f7f61f460456a49074c13e56 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 12 11:17:11 2013 +1000 xilinx.h: s/xilinx_axiethernetdma()/xilinx_axidma() This function has nothing to do with ethernet. Its reusable for all DMA clients. Dropped the "ethernet" in the name accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit dada5c7e92434df7c0ec152fe9a8f0e3de67b632 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 12 11:17:10 2013 +1000 xilinx.h: Dont qdev_create from ethernet_create() Pulled the qdev_create functionality out of xilinx_axiethernet_create() and pushed it up to the petalogix_ml605_mmu machine model. This makes the ethernet create+init process consistent with the AXI DMA. Renamed function to xilinx_axiethernet_init accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 0231ed4f22dd67844d8bbc027eaa5b713cb25ba2 Merge: 6aaa9da... 33ccf66... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 12 16:26:52 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: Revert "block/vpc: Fix size calculation" block/raw-posix: detect readonly Linux block devices using BLKROGET commit 6aaa9dae8059633d52ddcd0622de1a2700fc58a8 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 10:37:15 2013 +0100 block-migration: fix pending() and iterate() return values The return value of .save_live_pending() is the number of bytes remaining. This is just an estimate because we do not know how many blocks will be dirtied by the running guest. Currently our return value for .save_live_pending() is wrong because it includes dirty blocks but not in-flight bdrv_aio_readv() requests or unsent blocks. Crucially, it also doesn't include the bulk phase where the entire device is transferred - therefore we risk completing block migration before all blocks have been transferred! The return value of .save_live_iterate() is the number of bytes transferred this iteration. Currently we return whether there are bytes remaining, which is incorrect. Move the bytes remaining calculation into .save_live_pending() and really return the number of bytes transferred this iteration in .save_live_iterate(). Also fix the %ld format specifier which was used for a uint64_t argument. PRIu64 must be use to avoid warnings on 32-bit hosts. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Message-id: 1360661835-28663-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ad55ab42d494c5f4ebc5199c5c9db473b7d5fbf9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 10:37:14 2013 +0100 migration: make qemu_ftell() public and support writable files Migration .save_live_iterate() functions return the number of bytes transferred. The easiest way of doing this is by calling qemu_ftell(f) at the beginning and end of the function to calculate the difference. Make qemu_ftell() public so that block-migration will be able to use it. Also adjust the ftell calculation for writable files where buf_offset does not include buf_size. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Message-id: 1360661835-28663-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a0e6714b06453078e02029e1432fab052927691 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 14:34:05 2013 +0100 trace: deal with deprecated glib thread functions g_thread_create() was deprecated in favor of g_thread_new() and g_cond_new() was deprecated in favor of GCond initialization. If the host has glib 2.31 or newer, avoid using the deprecated functions. This patch solves compiler warnings that are generated when glib's deprecated functions are used. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360676045-9204-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 30d940875dcd1adfbfd7fe7ccd3e543408519662 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 14:34:04 2013 +0100 trace: use glib atomic int types Juan reported that RHEL 6.4 hosts give compiler warnings because we use unsigned int while glib prototypes use volatile gint in trace/simple.c. trace/simple.c:223: error: pointer targets in passing argument 1 of 'g_atomic_int_compare_and_exchange' differ in signedness These variables are only accessed with glib atomic int functions so let's play it by the book and use volatile gint. Reported-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360676045-9204-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 33ccf6675faa3c56f30399e184064fd126904515 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 12:25:15 2013 +0100 Revert "block/vpc: Fix size calculation" This reverts commit f880defbb06708d30a38ce9f2667067626acdd38. Jeff Cody's testing revealed that the interpretation of size differs even between VirtualPC and HyperV. Revert this so there is time to consider the impact of any backwards incompatible behavior this change creates. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit da888d37b0b85fc23e4ea55ab8b0c482d4918afb Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 5 12:28:33 2013 +0100 block/raw-posix: detect readonly Linux block devices using BLKROGET Linux block devices can be set read-only with "blockdev --setro <device>". The same thing can be done for LVM volumes using "lvchange --permission r <volume>". This read-only setting is independent of device node permissions. Therefore the device can still be opened O_RDWR but actual writes will fail. This results in odd behavior for QEMU. bdrv_open() is supposed to fail if a read-only image is being opened with BDRV_O_RDWR. By not failing for Linux block devices, the guest boots up but every write produces an I/O error. This patch checks whether the block device is read-only so that Linux block devices behave like regular files. Reported-by: Sibiao Luo <sluo@xxxxxxxxxx> Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 03ec2f83087de34924489eeae0ea6fe7785cc050 Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Date: Mon Feb 4 17:56:25 2013 +0800 hw/m25p80.c: add WRSR(0x01) support Atmel, SST and Intel/Numonyx serial flash tend to power up with the software protection bits set. And thus the new m25p80.c in linux kernel would always tries to use WREN(0x06) + WRSR(0x01) to turn-off the protection. The WEL(0x02) of status register is supposed to be cleared after WRSR(0x01). There are also some drivers (i.e mine for RTOSes) would check the WEL(0x02) in status register to make sure the protection is correctly turned off. Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 58fa4325228f61d58317f48364259b31e9b92d15 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Mon Feb 11 18:05:48 2013 +0100 qapi: Improve chardev-add documentation Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360602348-4727-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d7cd369402191814a1bb339a730f3af411e9682f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Feb 11 17:01:45 2013 +0100 migration: restrict scope of incoming fd read handler The incoming migration is processed in a coroutine and uses an fd read handler to enter the yielded coroutine when data becomes available. The read handler was set too broadly, so that spurious coroutine entries were be triggered if other coroutine users yielded (like the block layer's bdrv_write() function). Install the fd read only only when yielding for more data to become available. This prevents spurious coroutine entries which break code that assumes only a specific set of places can re-enter the coroutine. This patch fixes crashes in block/raw-posix.c that are triggered with "migrate -b" when qiov becomes a dangling pointer due to a spurious coroutine entry that frees qiov early. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360598505-5512-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d0bce760e04b1658a3b4ac95be2839ae20fd86db Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Mon Feb 11 17:41:54 2013 +0100 libi2c-omap: Fix endianness dependency The libqos driver for omap_i2c currently does not work on Big Endian. Introduce helpers for reading from and writing to 16-bit armel registers. This fixes tmp105-test failures on ppc. To prepare for a QTest-level endianness solution, poison mem{read,write} and always use the helpers. Adopt the expected signatures. To avoid an unused variable warning, assert the STAT Single Byte Data bit but, due to it not getting cleared, only it being set when len == 1. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Message-id: 1360600914-5448-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5dd6be069bf832f888005d28cebdec16720dedac Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 11 17:41:53 2013 +0100 qtest: Use strtoull() for uint64_t On 32-bit hosts, unsigned long may be uint32_t and uint64_t may be unsigned long long. Account for this by always using strtoull(). We were already using strtoll() for int64_t. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1360600914-5448-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 84eac31707a8f103cc9a0b38ab62a8832bec1153 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 11 18:35:39 2013 +0100 libqtest: Fix documentation copy&paste errors The [qtest_]in[bwl]() functions/macros don't have a value argument. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1360604139-16797-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f880defbb06708d30a38ce9f2667067626acdd38 Author: Stefan Weil <stefan@kiwi.(none)> Date: Thu Feb 7 20:26:52 2013 +0100 block/vpc: Fix size calculation The size calculated from the CHS values is not the real image (disk) size, but usually a smaller value. This is caused by rounding effects. Only older operating systems use CHS. Such guests won't be able to use the whole disk. All modern operating systems use the real size. This patch fixes https://bugs.launchpad.net/qemu/+bug/1105670/. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1360265212-22037-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2c5a7f20112615ce13a3434ab90bee1ed8d44ebd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sun Feb 10 23:12:46 2013 +0100 block-migration: fix block_save_iterate() return value The .save_live_iterate() function returns 0 to continue iterating or 1 to stop iterating. Since 16310a3cca7320edb9341c976f7819de0a8c27e0 it only ever returns 0, leading to an infinite loop. Return 1 if we have finished sending dirty blocks. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1360534366-26723-4-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9ee0cb201e6bfe03549a649fd165a85cfed34d05 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sun Feb 10 23:12:45 2013 +0100 block-migration: fix blk_mig_save_dirty_block() return value checking Commit 43be3a25c931a7f61a76fbfc9d35584cbfc5fb58 changed the blk_mig_save_dirty_block() return code handling. The function's doc comment says: /* return value: * 0: too much data for max_downtime * 1: few enough data for max_downtime */ Because of the 1 return value, callers must check for ret < 0 instead of just: if (ret) { ... } We do not want to bail when 1 is returned, only on error. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360534366-26723-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5f1f286ef8c7c96614779a40af724d7109175d5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sun Feb 10 23:12:44 2013 +0100 block-migration: improve "Unknown flags" error message Show the actual flags value and include "block migration" in the error message so it's clear where the error is coming from. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360534366-26723-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 49295ebc56a303a60c6ca2ead6f548eae3521150 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:19 2013 +0100 vl: Exit unsuccessfully on option argument syntax error We exit successfully after reporting syntax error for argument of --sandbox and --add-fd. We continue undaunted after reporting it for argument of -boot, --option-rom and --object. Change all five to exit unsuccessfully, like the other options. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cfdd1628666f1342925f9c77cbb63b7d6d049dae Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:18 2013 +0100 vl: Drop redundant "parse error" reports qemu_opts_parse() reports the error already, and in a much more useful way. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7216ae3d1a11e07192623ad04d450e98bf1f3d10 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:17 2013 +0100 qemu-option: Disable two helpful messages that got broken recently commit 8be7e7e4 and commit ec7b2ccb messed up the ordering of error message and the helpful explanation that should follow it, like this: $ qemu-system-x86_64 --nodefaults -S --vnc :0 --chardev null,id=, Identifiers consist of letters, digits, '-', '.', '_', starting with a letter. qemu-system-x86_64: -chardev null,id=,: Parameter 'id' expects an identifier $ qemu-system-x86_64 --nodefaults -S --vnc :0 --machine kvm_shadow_mem=dunno You may use k, M, G or T suffixes for kilobytes, megabytes, gigabytes and terabytes. qemu-system-x86_64: -machine kvm_shadow_mem=dunno: Parameter 'kvm_shadow_mem' expects a size Pity. Disable them for now. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 312fd5f29097890179793d8bbb59ab18afbe0ad4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:16 2013 +0100 error: Strip trailing '\n' from error string arguments (again) Commit 6daf194d and be62a2eb got rid of a bunch, but they keep coming back. Tracked down with this Coccinelle semantic patch: @r@ expression err, eno, cls, fmt; position p; @@ ( error_report(fmt, ...)@p | error_set(err, cls, fmt, ...)@p | error_set_errno(err, eno, cls, fmt, ...)@p | error_setg(err, fmt, ...)@p | error_setg_errno(err, eno, fmt, ...)@p ) @script:python@ fmt << r.fmt; p << r.p; @@ if "\\n" in str(fmt): print "%s:%s:%s:%s" % (p[0].file, p[0].line, p[0].column, fmt) Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1a9522cc6ea04968e1169f0195952d0029d5dbb9 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:15 2013 +0100 error: Clean up abuse of error_report() for help Use error_printf() instead, so the help gets presented more nicely. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 474c21349fdde3c477357c2317ca6ad50872827b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:14 2013 +0100 error: Clean up error strings with embedded newlines The arguments of error_report() should yield a short error string without newlines. A few places try to print additional help after the error message by embedding newlines in the error string. That's nice, but let's do it the right way. Since I'm touching these lines anyway, drop a stray preposition and some tabs. We don't use tabs for similar messages elsewhere. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2da2e52dce73c5e3a916bcc8e86451ed64f557d8 Merge: 1044255... 0184543... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Feb 11 08:10:39 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Peter Maydell # Via Luiz Capitulino * luiz/queue/qmp: tests/test-string-input-visitor: Handle errors provoked by fuzz test commit 10442558ab1797bfbb01285b909e34c5cf038f12 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Feb 9 13:39:45 2013 +0000 Update OpenBIOS images Update OpenBIOS images to SVN r1097 built from submodule. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 70ef6a5b7121cb54d7f9713d6315fb8547761bfc Author: Liming Wang <walimisdev@xxxxxxxxx> Date: Thu Feb 7 16:58:15 2013 +1000 xilinx_zynq: Fix wrong IRQ number of the second EHCI controller The IRQ number of the second EHCI controller should be 76, not 75. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fb6d1bbd246c7a57ef53d3847ef225cd1349d602 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Feb 8 08:49:10 2013 +0100 block/curl: disable extra protocols to prevent CVE-2013-0249 There is a buffer overflow in libcurl POP3/SMTP/IMAP. The workaround is simple: disable extra protocols so that they cannot be exploited. Full details here: http://curl.haxx.se/docs/adv_20130206.html QEMU only cares about HTTP, HTTPS, FTP, FTPS, and TFTP. I have tested that this fix prevents the exploit on my host with libcurl-7.27.0-5.fc18. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0eb256a2173d35c64696189adcd3599be61922ef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 13:19:07 2013 +0100 qemu-nbd: document --cache and --aio options Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 32ab06bcf1352848eec42629a85e20efa4e105dc Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 17:47:17 2013 -0600 hw/virtio-net: disable multiqueue by default The new multiqueue feature adds fields to the virtio device config, which breaks Windows guests. Disable the feature by default until the Windows drivers are fixed. Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 14f9b664b34bbd37a488cb5c762aa278c60e1fb6 Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 17:47:16 2013 -0600 hw/virtio-net.c: set config size using host features Currently, the config size for virtio devices is hard coded. When a new feature is added that changes the config size, drivers that assume a static config size will break. For purposes of backward compatibility, there needs to be a way to inform drivers of the config size needed to accommodate the set of features enabled. aliguori: merged in - hw/virtio-net: use existing macros to implement endof - hw/virtio-net: fix config_size data type Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1e89ad5b00ba0426d4e949c9e6ce2926c15b81b7 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 5 17:47:15 2013 -0600 virtio-net: pass host features to virtio_net_init Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b890492110ccdc943554231d40b67d29fef6af82 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 6 18:25:48 2013 -0600 net: fix infinite loop on exit 1ceef9f27359cbe92ef124bf74de6f792e71f6fb added handling for cleaning up multiple queues in qemu_del_nic() for cases where multiqueue is in use. To determine the number of queues it looks at nic->conf->queues, then iterates through all the queues to cleanup the associated NetClientStates. If no queues are found, no NetClientStates are deleted. However, nic->conf->queues is only set when a peer is created via -netdev or netdev_add, and is otherwise 0. This causes us to spin in net_cleanup() if we attempt to shut down qemu before adding a host device. Since qemu_new_nic() unconditionally creates at least 1 queue/NetClientState at queue idx 0, make qemu_del_nic() always attempt to clean it up. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0184543814354d37eab75132712c3874d71dd776 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Feb 5 20:44:23 2013 +0000 tests/test-string-input-visitor: Handle errors provoked by fuzz test It's OK and expected for visitors to return errors when presented with the fuzz test's random data. Since the fuzzer doesn't care about errors, we pass in NULL rather than an Error**. This fixes a bug in the fuzzer where it was passing the same Error** into each visitor, with the effect that once one visitor returned an error, each later visitor would notice that it had been passed in an Error** representing an already set error, and do nothing. For the case of visit_type_str() we also need to handle the case where an error means that the visitor doesn't set our char*. We initialize the pointer to NULL so we can safely g_free() it regardless of whether the visitor allocated a string for us or not. This fixes a problem where this test failed the MacOSX malloc() consistency checks and might segfault on other platforms [due to calling free() on an uninitialized pointer variable when visit_type_str() failed.]. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit ecd8d4715ea33aa2c146a5047bacb031e86af599 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 18:33:47 2013 -0600 Update version for release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bd4bd24ed3e33f4f0ffa9dde23b8b85430592dc6 Merge: 0bc8ce9... c07ecc6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 16:39:04 2013 -0600 Merge branch 'for-linux-user' of https://git.gitorious.org/qemu-m68k/qemu-m68k into staging * 'for-linux-user' of https://git.gitorious.org/qemu-m68k/qemu-m68k: linux-user: correct reboot() linux-user: correct setsockopt() linux-user: correct print_timeval() swap tv_sec and tv_usec linux-user: correct msgrcv() Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0bc8ce9460c1f51211e797a825432e55327b70c6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 31 12:50:40 2013 +0000 linux-user: Restore cast to target type in get_user() Commit 658f2dc97 accidentally dropped the cast to the target type of the value loaded by get_user(). The most visible effect of this would be that the sequence "uint64_t v; get_user_u32(v, addr)" would sign extend the 32 bit loaded value into v rather than zero extending as would be expected for a _u32 accessor. Put the cast back again to restore the old behaviour. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f565235b71b7be66f3f6b385a5377969f5ed26f7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Feb 2 15:13:02 2013 +0000 hw/pxa2xx: Fix transposed crn/crm values for pxa2xx cp14 perf regs When the pxa2xx performance counter related cp14 registers were converted from a switch-statement implementation to the new table driven cpregs format in commit dc2a9045c, the crn and crm values for all these registers were accidentally transposed. Fix this mistake, which was causing OpenBSD for Zaurus to fail to boot. Reported-by: Jonathan Gray <jsg@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5b2cd9857d945cc1e9b6f596c757f70e25aed60c Merge: 3f23624... 8f44015... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 16:36:16 2013 -0600 Merge remote-tracking branch 'stefanha/tracing' into staging # By Markus Armbruster # Via Stefan Hajnoczi * stefanha/tracing: trace: Fix location of simpletrace.py in docs trace: Clean up the "try to update atomic until it worked" loops trace: Direct access of atomics is verboten, use the API trace: Fix simple trace dropped event record for big endian commit 3f23624c848b8f1c88e4305fe01e19b2520bfd3d Merge: 8a14952... 2a0e1ad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 16:36:11 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Michael Tokarev (1) and Stefan Weil (1) # Via Stefan Hajnoczi * stefanha/trivial-patches: vnc: recognize Hungarian doubleacutes target-m68k: Fix comment commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 17:07:46 2013 +0100 hmp: Disable chardev-add and chardev-remove As a general rule, HMP commands must be built on top of the QMP API. Luiz and others have worked long & hard to make HMP conform to this rule. Commit f1088908 added chardev-add, in violation of this rule. QMP command chardev-add was added right before, with minimal features, and the idea to complete it step by step, then switch over the HMP command to use it. Unfortunately, we're not there, yet, and we don't want to release with chardev-add in a "HMP is more powerful than QMP" state. Disable the HMP command for now, along with its chardev-remove buddy. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 543f34126b7bfc85b05d0e371e3ce0695444f433 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:26 2013 +0100 hmp: make memchar-read escape ASCII control chars except \n and \t Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit de1cc36e1039faf65b1739d28bef9f2a4e230eb6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:25 2013 +0100 qemu-char: Support suffixed ringbuf size arguments like "size=64K" Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3949e59414fccefadc50ae65650d676cc734048c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:24 2013 +0100 qemu-char: Saner naming of memchar stuff & doc fixes New device, has never been released, so we can still improve things without worrying about compatibility. Naming is a mess. The code calls the device driver CirMemCharDriver, the public API calls it "memory", "memchardev", or "memchar", and the special commands are named like "memchar-FOO". "memory" is a particularly unfortunate choice, because there's another character device driver called MemoryDriver. Moreover, the device's distinctive property is that it's a ring buffer, not that's in memory. Therefore: * Rename CirMemCharDriver to RingBufCharDriver, and call the thing a "ringbuf" in the API. * Rename QMP and HMP commands from memchar-FOO to ringbuf-FOO. * Rename device parameter from maxcapacity to size (simple words are good for you). * Clearly mark the parameter as optional in documentation. * Fix error reporting so that chardev-add reports to current monitor, not stderr. * Replace cirmem in C identifiers by ringbuf. * Rework documentation. Document the impact of our crappy UTF-8 handling on reading. * QMP examples that even work. I could split this up into multiple commits, but they'd change the same documentation lines multiple times. Not worth it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5c230105cdea8ac9338bd5b4485c6ae80ec1fa18 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:23 2013 +0100 qemu-char: General chardev "memory" code cleanup Inline trivial cirmem_chr_is_empty() into its only caller. Rename qemu_chr_cirmem_count() to cirmem_count(). Fast ring buffer index wraparound. Without this, there's no point in restricting size to a power two. qemu_is_chr(chr, "memory") returns *zero* when chr is a memory character device, which isn't what I'd expect. Replace it by the saner and more obviously correct chr_is_cirmem(). Also avoids encouraging testing for specific character devices elsewhere. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fd5b66950fc5551d371ba5017d0e0858b7c800b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:22 2013 +0100 qemu-char: Drop undocumented chardev "memory" compatibility syntax This is a new device, so there's no compatibility to maintain, and its use case isn't common enough to justify shorthand syntax. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 094c8c2c67c486bcbc03c5e6327edc6ad3e5e29a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:21 2013 +0100 qemu-char: Fix chardev "memory" not to drop IAC characters Undocumented misfeature, get rid of it while we can. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44f3bcd2c7991cc9d096e51e38864135543ea1ce Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:20 2013 +0100 qmp: Drop wasteful zero-initialization in qmp_memchar_read() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c287e99fe47b179e6ef6b212139821b4d78934c1 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:19 2013 +0100 qmp: Drop superfluous special case "empty" in qmp_memchar_read() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 13289fb5a716e06fb06febb880e5e116d485f82b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:18 2013 +0100 qmp: Plug memory leaks in memchar-write, memchar-read Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c4f331b6b3b5fe260128f316ee9f01997f7c428d Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:17 2013 +0100 qmp: Clean up type usage in qmp_memchar_write(), qmp_memchar_read() Const-correctness, consistently use standard C types instead of mixing them with GLib types. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1a69278e53a0e5060c8c6cc825449a122634ce3b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:16 2013 +0100 qmp: Use generic errors in memchar-read, memchar-write New errors should be generic unless there's a real use case for rich errors. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ab651fc819178cf6a518af5860cc49f42cff455 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:15 2013 +0100 qmp: Clean up design of memchar-read The data returned has a well-defined size, which makes the size returned along with it redundant at best. Drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 82e59a676c01b3df3b53998d428d0a64a55f2439 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:14 2013 +0100 qmp: Fix design bug and read beyond buffer in memchar-write Command memchar-write takes data and size parameter. Begs the question what happens when data doesn't match size. With format base64, qmp_memchar_write() copies the full data argument, regardless of size argument. With format utf8, qmp_memchar_write() copies size bytes from data, happily reading beyond data. Copies crap from the heap or even crashes. Drop the size parameter, and always copy the full data argument. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2a0e1ad66e4177dddc6c8fb7aeadc095aafac828 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Feb 4 00:36:25 2013 +0400 vnc: recognize Hungarian doubleacutes As reported in http://bugs.debian.org/697641 , some Hungarian keys does not work with qemu when using vnc display. This is because while the Hungarian keymap mentions these symbols, qemu know nothing about them. So add them. This patch is applicable to -stable for all previous releases. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f38f7a847e316def8606d25441878d723de84b65 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Feb 5 13:12:43 2013 +0100 target-m68k: Fix comment * spelling fix ito -> into * reorder to match load/store Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 15af6321f4d1f90d0ae1b5cb05093c48b41c4533 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Feb 4 00:36:25 2013 +0400 vnc: recognize Hungarian doubleacutes As reported in http://bugs.debian.org/697641 , some Hungarian keys does not work with qemu when using vnc display. This is because while the Hungarian keymap mentions these symbols, qemu know nothing about them. So add them. This patch is applicable to -stable for all previous releases. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a911a182a6bfd3b0257b13f862b0d4fbd9392715 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 11:27:46 2013 +0530 qemu/9p: Don't ignore error in fid clunk We use the clunk request to do the actual xattr operation. So don't ignore the error value for fid clunk. Security model "none" don't support posix acl. Without this patch guest won't get EOPNOTSUPP error on setxattr("system.posix_acl_access") Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit facf98ad987a38d97e12511f81375380b407a828 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 11:27:45 2013 +0530 qemu/iovec: Don't assert if sbytes is zero Since these values can possibly be sent from guest (for hw/9pfs), do a sanity check on them. A 9p write request with 0 bytes caused qemu to abort without this patch Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ddcb73b7782cb6104479503faea04cc224f982b5 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Feb 5 21:00:21 2013 +0200 e1000: fix link down handling with auto negotiation Fixes a couple of regression bugs introduced by b9d03e352cb6b31a66545763f6a1e20c9abf0c2c and related to auto-negotiation: - Auto-negotiation currently sets link up even if it was forced down from the monitor. - If Auto-negotiation was in progress during migration, link will never come up. As a fix, don't touch NC link_down field at all, instead add code on receive path to check guest link status. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 84208085d357d95b84f6e281ec3aa028e988e5ff Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 4 16:21:07 2013 -0800 configure: Fix build with XFree The build is broken on ppc64-linux, possibly only with new binutils: ld: hw/lm32/../milkymist-tmu2.o: undefined reference to symbol 'XFree' ld: note: 'XFree' is defined in DSO /lib64/libX11.so.6 so try \ adding it to the linker command line So let's follow the linker's advice. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91107fdf4443d2171e06840e87277bb7a047343b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 4 16:21:06 2013 -0800 bswap: Fix width of swap in leul_to_cpu The misnamed HOST_LONG_BITS is really HOST_POINTER_BITS. Here we're explicitly using an unsigned long, rather than uintptr_t, so it is more correct to select the swap size via ULONG_MAX. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f876756c57c15f5e14d4136fc432b74f05f082b Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 05:12:06 2013 -0600 bios: recompile BIOS SeaBIOS is really close to spilling over to 256k. Until we can better handle migration across RAM block size changes, recompile SeaBIOS with a compiler that causes the binary to still fit in 128k. This was built with: gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) On 64-bit Fedora 18. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8f44015e4600041e200506720e39de7728c5cde9 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:40 2013 +0100 trace: Fix location of simpletrace.py in docs Missed when commit 4c3b5a48 moved it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b6b2c9628084f1672b92393cf84039a075a95301 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:39 2013 +0100 trace: Clean up the "try to update atomic until it worked" loops Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e722d705ae7648a6bd94848319a11eb0afd58a17 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:38 2013 +0100 trace: Direct access of atomics is verboten, use the API The GLib Reference Manual says: It is very important that all accesses to a particular integer or pointer be performed using only this API and that different sizes of operation are not mixed or used on overlapping memory regions. Never read or assign directly from or to a value -- always use this API. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fb3a508531227bc7fb7eee22c51d30bf2ceb15f5 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:37 2013 +0100 trace: Fix simple trace dropped event record for big endian We use atomic operations to keep track of dropped events. Inconveniently, GLib supports only int and void * atomics, but the counter dropped_events is uint64_t. Can't stop commit 62bab732: a quick (gint *)&dropped_events bludgeons the compiler into submission. That cast is okay only when int is exactly 64 bits wide, which it commonly isn't. If int is even wider, we clobber whatever follows dropped_events. Not worth worrying about, as none of the machines that interest us have such morbidly obese ints. That leaves the common case: int narrower than 64 bits. Harmless on little endian hosts: we just don't access the most significant bits of dropped_events. They remain zero. On big endian hosts, we use only the most significant bits of dropped_events as counter. The least significant bits remain zero. However, we write out the full value, which is the correct counter shifted left a bunch of places. Fix by changing the variables involved to int. There's another, equally suspicious-looking (gint *)&trace_idx argument to g_atomic_int_compare_and_exchange(), but that one casts unsigned *, so it's okay. But it's also superfluous, because GLib's atomic int operations work just fine for unsigned. Drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b22dd1243f38286263d40496ce5298a8a7d96eea Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Feb 3 21:33:16 2013 +0100 target-s390x: Fix wrong comparison in interrupt handling gcc with -Wextra complains about an ordered pointer comparison: target-s390x/helper.c:660:27: warning: ordered comparison of pointer with integer zero [-Wextra] Obviously the index was missing in the code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0123c486367ab77c3c5ed349616a862eb474a03f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Feb 4 15:22:08 2013 -0600 s390x: silence warning from GCC on uninitialized values As best I can tell, this is a false positive. [aliguori@ccnode4 qemu-s390]$ make CC s390x-softmmu/target-s390x/helper.o /home/aliguori/git/qemu/target-s390x/helper.c: In function â??do_interruptâ??: /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??addrâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized] /home/aliguori/git/qemu/target-s390x/helper.c:620:20: note: â??addrâ?? was declared here /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??maskâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized] /home/aliguori/git/qemu/target-s390x/helper.c:620:14: note: â??maskâ?? was declared here cc1: all warnings being treated as errors make[1]: *** [target-s390x/helper.o] Error 1 make: *** [subdir-s390x-softmmu] Error 2 Cc: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ded67782e6d06069873adce7f9074d273ae75760 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 4 10:07:51 2013 -0600 acpi_piix4: fix segfault migrating from 1.2 b0b873a07872f7ab7f66f259c73fb9dd42aa66a9 bumped the vmstate version and introduced an old-style load function to handle migration from prior (<= 1.2) versions. The load function passes the top-level PIIX4PMState pointer to vmstate_load_state() to handle nested structs for APMState and pci_status, which leads to corruption of the top-level PIIX4PMState, since pointers to the nested structs are expected. A segfault can be fairly reliably triggered by migrating from 1.2 and issuing a reset, which will trigger a number of QOM operations which rely on the now corrupted ObjectClass/Object members. Fix this by passing in the expected pointers for vmstate_load_state(). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c881e20eed4911ab6f8c674f2b1bf225a2cdde71 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:52 2013 -0200 vl.c: validate -numa "cpus" parameter properly - Accept empty strings without aborting - Use parse_uint*() to parse numbers - Abort if anything except '-' or end-of-string is found after the first number. - Check for endvalue < value Also change the MAX_CPUMASK_BITS warning message from "A max of %d CPUs are supported in a guest" to "qemu: NUMA: A max of %d VCPUs are supported". Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 845e5bf9cd49873c72f84796cabf107c3f520f37 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:51 2013 -0200 vl.c: Extract -numa "cpus" parsing to separate function This will make it easier to refactor that code later. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f1399651eaab1b04e49107250d182968a227aa6 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:50 2013 -0200 vl.c: Use parse_uint_full() for NUMA nodeid This should catch many kinds of errors that the current code wasn't checking for: - Values that can't be parsed as a number - Negative values - Overflow - Empty string Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4ce85b25838694d2d7396b5e969eb4830329631 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:49 2013 -0200 vl.c: numa_add(): Validate nodeid before using it Without this check, QEMU will corrupt memory if a too-large nodeid is provided in the command-line. e.g.: -numa node,mem=...,cpus=...,nodeid=65 This changes nodenr to unsigned long long, to avoid integer conversion issues when converting the strtoull() result to int. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ca4c6d363153f19abf3ffdf0ca1532daa581867d Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:48 2013 -0200 vl.c: Check for NUMA node limit inside numa_add() Instead of checking the limit before calling numa_add(), check the limit only when we already know we're going to add a new node. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 12e53a9d59c8cb272a423e1db036324579a3c697 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:47 2013 -0200 vl.c: Abort on unknown -numa option type Abort in case an invalid -numa option is provided, instead of silently ignoring it. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8f302cb0900ba7f38b62da5759f07b77483d6fb9 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:46 2013 -0200 vl.c: Fix off-by-one bug when handling "-numa node" argument The numa_add() code was unconditionally adding 1 to the get_opt_name() return value, making it point after the end of the string if no ',' separator is present. Example of weird behavior caused by the bug: $ qemu-img create -f qcow2 this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2 5G Formatting 'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 $ ./x86_64-softmmu/qemu-system-x86_64 -S -monitor stdio -numa node 'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2' QEMU 1.3.50 monitor - type 'help' for more information (qemu) info numa 1 nodes node 0 cpus: 0 node 0 size: 1000 MB (qemu) This changes the code to nove the pointer only if ',' is found. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e3f9fe2d404ca10153e95499ece111c077b6690a Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:45 2013 -0200 cutils: unsigned int parsing functions There are lots of duplicate parsing code using strto*() in QEMU, and most of that code is broken in one way or another. Even the visitors code have duplicate integer parsing code[1]. This introduces functions to help parsing unsigned int values: parse_uint() and parse_uint_full(). Parsing functions for signed ints and floats will be submitted later. parse_uint_full() has all the checks made by opts_type_uint64() at opts-visitor.c: - Check for NULL (returns -EINVAL) - Check for negative numbers (returns -EINVAL) - Check for empty string (returns -EINVAL) - Check for overflow or other errno values set by strtoll() (returns -errno) - Check for end of string (reject invalid characters after number) (returns -EINVAL) parse_uint() does everything above except checking for the end of the string, so callers can continue parsing the remainder of string after the number. Unit tests included. [1] string-input-visitor.c:parse_int() could use the same parsing code used by opts-visitor.c:opts_type_int(), instead of duplicating that logic. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ff057ccb07f07ee8f34ae4104f7ba8c2dcbc3f9a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 07:26:05 2013 +0100 target-cris: Build fix for debug output Around r3361 (81fdc5f8d2d681da8d255baf0713144f8656bac9) env->debug1 used to contain the address of an MMU fault. This is now written into env->pregs[PR_EDA] instead. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit fbeadf50f2f965741def823036b086bbc2999b1f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 1 23:03:16 2013 +0100 bitops: unify bitops_ffsl with the one in host-utils.h, call it bitops_ctzl We had two copies of a ffs function for longs with subtly different semantics and, for the one in bitops.h, a confusing name: the result was off-by-one compared to the library function ffsl. Unify the functions into one, and solve the name problem by calling the 0-based functions "bitops_ctzl" and "bitops_ctol" respectively. This also fixes the build on platforms with ffsl, including Mac OS X and Windows. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7b2d9779818f4c0d4c31d3a0292bee1c4b633217 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 19:04:27 2013 +0100 util: Fix compilation of envlist.c for MinGW MinGW has no strtok_r, so we need a declaration in sysemu/os-win32.h. We must also fix the include statements in util/envlist.c to include that file. We currently don't need an implementation of strtok_r because the code is compiled but not linked for MinGW. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit abd8d4a4d6dfea7ddea72f095f993e1de941614e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 15:10:33 2013 -0600 Update version for 1.4.0-rc0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 02cd809099322d6bdbd3fb232e9dd1018b125866 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 18:02:50 2013 -0600 tap: unbreak -netdev tap,fd=X The multiqueue patch series broke -netdev tap,fd=X which manifests as libvirt not being able to start a guest. This was because it passed NULL for the netdev name which results in an anonymous netdev device regardless of what the user specified. Cc: Jason Wang <jasowang@xxxxxxxxxx> Cc: Bruce Rogers <brogers@xxxxxxxx> Reported-by: Bruce Rogers <brogers@xxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b76facc35b0153cee5a8972f8a3c70694a7e3913 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:39 2013 +0100 qom: remove object_delete This is now unused. Document the initial reference count of an object and when it will be freed/finalized. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5c099537a646370d85f9a0f6bc18371ceeeb14dc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:38 2013 +0100 cpu: do not use object_delete CPUs are never added to the composition tree, so delete is achieved simply by removing the last references to them. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b09995aef1d4a5879000a196a82e37b0511c8e03 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:37 2013 +0100 qdev: drop extra references at creation time qdev_free and qbus_free have to do unparent+unref, because nobody else drops the initial reference (the one included by object_initialize) before them. For device_init_func and do_device_add, this is trivially correct, since the DeviceState goes out of scope. For qdev_create, qdev_try_create and qbus_init, it is a bit more tricky. What we are doing here is just assuming that the caller knows what it's doing, and won't call qdev_free/qbus_free while the device is still there. This is a pretty reasonable assumption and (behind the scenes) is also what GObject/GTK does. GTK actually has a "floating reference" that goes away as soon as the caller does gtk_container_add or something like that, but in the end qbus_init and qdev_try_create are already adding the new object to its qdev parent! So in the end the two solutions are the same. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dc7389b79a15082fa4824bd3de966499f3b8cb2a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:36 2013 +0100 qdev: inline object_delete into qbus_free/qdev_free We want object_delete to disappear, and we will do this one class at a time. Inline it for the qdev case, which we will tackle first. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 62d7ba669dbd5b4c92664eea453d28448ab9cb4b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:35 2013 +0100 qdev: add reference for the bus while it is referred to by the DeviceState Now that the unparent callbacks are complete, we can correctly account more missing references. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 06f7f2bb562826101468f387b4a34971b16e9aee Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:34 2013 +0100 qdev: move unrealization of devices from finalize to unparent Similarly, a bus holds a reference back to the device, and this will prevent the device from going away as soon as this reference is counted properly. To avoid this, move the unrealization of devices to the unparent callback. This includes recursively unparenting all the buses and (after the previous patch) the devices on those buses, which ensures that the web of references completely disappears for all devices that reside (in the qdev tree) below the one being unplugged. After this patch, the qdev tree and the bus<->child relationship is defined as "A is above B, iff unplugging A will automatically unplug B". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6853d27a1253cd29c43d08b0624e7938a48d52a7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:33 2013 +0100 qdev: move deletion of children from finalize to unparent A device will never be finalized as long as it has a reference from other devices that sit on its buses. To ensure that the references go away, deassociate a bus from its children in the unparent callback for the bus. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9d127820ebbdc76592e3922cbbe803533455f9a2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:32 2013 +0100 qdev: add reference count to a device for the BusChild Each device has a reference through the BusChild. This reference was not accounted for, add it now. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c232d2ffb7cf60e9fdf5dc17c5d5f7fe6d1ca64 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:31 2013 +0100 qom: document reference counting of link properties Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 52e636cdd8528b8f72f43b653356ac177524912b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:30 2013 +0100 qom: preserve object while unparenting it Avoid that the object disappears after it's deleted from the QOM composition tree, in case that was the only reference to it. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4fec6404465fdb1f09670b1451605c7cbf87c01e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:29 2013 +0100 pci: use qbus_create in pci_bus_new Remove knowledge of QOM innards. The common part of pci_bus_new and pci_bus_new_inplace is moved to a new function pci_bus_init. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:28 2013 +0100 qdev: change first argument of qbus_create_inplace to void * Make it clear that no BUS() macro is needed in the callers (in fact it wouldn't work because the object has not been initialized yet with the right class). Suggested-by: Andreas Faerber <afaerber@xxxxxxx> Acked-by: Andreas F=E4rber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 013e118247d0f1894f329ad31b8f8a9e279555f3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:27 2013 +0100 qdev: remove duplication between qbus_create and qbus_create_inplace Move the common part to qbus_realize. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5286af5ef27bfe25aa0472eb4d695964ae16b23 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Thu Jan 24 13:03:27 2013 +0800 accel: change {xen, kvm, tcg, qtest}_allowed from int to bool Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 217e21be6e0f2c1caa0b644f56aa60dba7ea7893 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Thu Jan 24 13:03:26 2013 +0800 vl: correct error message when fail to init kvm command: qemu-system-x86_64 -hda disk.img -smp 32 --enable-kvm error: Number of SMP cpus requested (32) exceeds max cpus supported by KVM (16) failed to initialize KVM: Invalid argument No accelerator found! well, it did find kvm, but failed to init, so message "No accelerator found!" is confusing, this commit remove the confusing error message. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e3c66d939480e0f372316c22184c07fb3de12873 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Thu Jan 24 13:03:25 2013 +0800 vl: skip init accelerator if it's not available Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit baeddded5fe6fa37d13fb94bf8dc0e9b2b184e21 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 29 15:42:45 2013 -0600 sparc: disable qtest in make check We've seen this repeatedly in buildbot but I can now reliably reproduce it myself too. With a few hundred runs of 'make check', qemu-system-sparc will hang consuming 100% CPU. I've attached GDB to the hung process and unfortunately, I can't get anything useful out of GDB (RIP is not a valid simple and there is nothing else on the stack). At any rate, since this only manifests in qemu-system-sparc and it doesn't appear to be a qtest specific problem, I think we should disable it until the problem is resolved. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 77a5f4f20371c5f564d670c25ad72443a9aa2ee6 Merge: 3e3648b... fdf263f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 14:40:05 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (7) and others # Via Stefan Hajnoczi * stefanha/block: block/raw-posix: Build fix for O_ASYNC vmdk: Allow space in file name parallels: Fix bdrv_open() error handling dmg: Use g_free instead of free dmg: Fix bdrv_open() error handling vpc: Fix bdrv_open() error handling cloop: Fix bdrv_open() error handling bochs: Fix bdrv_open() error handling sheepdog: pass vdi_id to sheep daemon for sd_close() vmdk: Allow selecting SCSI adapter in image creation block: Adds mirroring tests for resized images block: Fix is_allocated_above with resized files qemu-iotests: Add regression test for b7ab0fea commit 3e3648b29f80c3c406dae127592150b550f20d2f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 12:55:56 2013 -0600 xen: fix build problem introduced from per-queue peers Reported-by Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a9c87c586ba9ee290792a98dc126b2861b7f8b03 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:41 2013 +0800 virtio-net: compat multiqueue support Disable multiqueue support for pre 1.4. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f800801838f74a8a430fb41a7393fa5df0a61f9 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:40 2013 +0800 virtio-net: migration support for multiqueue This patch add migration support for multiqueue virtio-net. Instead of bumping the version, we conditionally send the info of multiqueue only when the device support more than one queue to maintain the backward compatibility. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fed699f9ca6ae8a0fb62803334cf46fa64d1eb91 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:39 2013 +0800 virtio-net: multiqueue support This patch implements both userspace and vhost support for multiple queue virtio-net (VIRTIO_NET_F_MQ). This is done by introducing an array of VirtIONetQueue to VirtIONet. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0c87e93e3102f0c717f58ed90858e6b410fd4e04 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:38 2013 +0800 virtio-net: separate virtqueue from VirtIONet To support multiqueue virtio-net, the first step is to separate the virtqueue related fields from VirtIONet to a new structure VirtIONetQueue. The following patches will add an array of VirtIONetQueue to VirtIONet based on this patch. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e78a2b4285f6cc125dc7a514bebef97d9af1d812 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:37 2013 +0800 virtio: add a queue_index to VirtQueue Add a queue_index to VirtQueue and a helper to fetch it, this could be used by multiqueue supported device. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f23fd811ac4f49f482058cad3b465dc5dc0edc11 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:36 2013 +0800 virtio: introduce virtio_del_queue() Some device (such as virtio-net) needs the ability to destroy or re-order the virtqueues, this patch adds a helper to do this. Signed-off-by: Jason Wang <jasowang> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a9f98bb5ebe6fb1869321dcc58e72041ae626ad8 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:35 2013 +0800 vhost: multiqueue support This patch lets vhost support multiqueue. The idea is simple, just launching multiple threads of vhost and let each of vhost thread processing a subset of the virtqueues of the device. After this change each emulated device can have multiple vhost threads as its backend. To do this, a virtqueue index were introduced to record to first virtqueue that will be handled by this vhost_net device. Based on this and nvqs, vhost could calculate its relative index to setup vhost_net device. Since we may have many vhost/net devices for a virtio-net device. The setting of guest notifiers were moved out of the starting/stopping of a specific vhost thread. The vhost_net_{start|stop}() were renamed to vhost_net_{start|stop}_one(), and a new vhost_net_{start|stop}() were introduced to configure the guest notifiers and start/stop all vhost/vhost_net devices. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 264986e2c8f14a0f4a32ac6f1e083905833a5fc7 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:34 2013 +0800 tap: multiqueue support Recently, linux support multiqueue tap which could let userspace call TUNSETIFF for a signle device many times to create multiple file descriptors as independent queues. User could also enable/disabe a specific queue through TUNSETQUEUE. The patch adds the generic infrastructure to create multiqueue taps. To achieve this a new parameter "queues" were introduced to specify how many queues were expected to be created for tap by qemu itself. Alternatively, management could also pass multiple pre-created tap file descriptors separated with ':' through a new parameter fds like -netdev tap,id=hn0,fds="X:Y:..:Z". Multiple vhost file descriptors could also be passed in this way. Each TAPState were still associated to a tap fd, which mean multiple TAPStates were created when user needs multiqueue taps. Since each TAPState contains one NetClientState, with the multiqueue nic support, an N peers of NetClientState were built up. A new parameter, mq_required were introduce in tap_open() to create multiqueue tap fds. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e5dc0b402e64d245956c47cf22776e5206f322dc Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:33 2013 +0800 tap: introduce a helper to get the name of an interface This patch introduces a helper tap_get_ifname() to get the device name of tap device. This is needed when ifname is unspecified in the command line and qemu were asked to create tap device by itself. In this situation, the name were allocated by kernel, so if multiqueue is asked, we need to fetch its name after creating the first queue. Only linux has this support since it's the only platform that supports multiqueue tap. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 16dbaf905b72636d1bb066968bceabd64eaa1a9d Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:32 2013 +0800 tap: support enabling or disabling a queue This patch introduce a new bit - enabled in TAPState which tracks whether a specific queue/fd is enabled. The tap/fd is enabled during initialization and could be enabled/disabled by tap_enalbe() and tap_disable() which calls platform specific helpers to do the real work. Polling of a tap fd can only done when the tap was enabled. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 94fdc6d03034f594c53d5413590e23fcb7ffc268 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:31 2013 +0800 tap: add Linux multiqueue support This patch add basic multiqueue support for Linux. When multiqueue is needed, we will first check whether kernel support multiqueue tap before creating more queues. Two new functions tap_fd_enable() and tap_fd_disable() were introduced to enable and disable a specific queue. Since the multiqueue is only supported in Linux, return error on other platforms. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5193e5fbb52a33f1f684b0d42d29a452dfd29e4a Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:30 2013 +0800 tap: factor out common tap initialization This patch factors out the common initialization of tap into a new helper net_init_tap_one(). This will be used by multiqueue tap patches. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4e4f9ae7da90b55fe77307e58c867aa6b02a7384 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:29 2013 +0800 tap: import linux multiqueue constants Import multiqueue constants from if_tun.h from 3.8-rc3. A new ifr flag IFF_MULTI_QUEUE were introduced to create a multiqueue backend by calling TUNSETIFF with the this flag and with the same interface name many times. A new ioctl TUNSETQUEUE were introduced. When doing this ioctl with IFF_DETACH_QUEUE, the queue were disabled in the linux kernel. When doing this ioctl with IFF_ATTACH_QUEUE, the queue were enabled in the linux kernel. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1ceef9f27359cbe92ef124bf74de6f792e71f6fb Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:28 2013 +0800 net: multiqueue support This patch adds basic multiqueue support for qemu. The idea is simple, an array of NetClientStates were introduced in NICState, parse_netdev() were extended to find and match all NetClientStates belongs to the backend and place their pointers in NICConf. Then qemu_new_nic can setup a N:N mapping between NICStates that belongs to a nic and NICStates belongs to the netdev. And a queue_index were introduced in NetClientState to track its index. After this, each peers of a NICState were abstracted as a queue. After this change, all NetClientState that belongs to the same backend/nic has the same id. When use want to change the link status, all NetClientStates that belongs to the same backend/nic will be also changed. When user want to delete a device or netdev, all NetClientStates that belongs to the same backend/nic will be deleted also. Changing or deleting an specific queue is not allowed. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7860455fd582b171e526b4b4647b9b9c9a3e703 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:27 2013 +0800 net: introduce NetClientState destructor To allow allocating an array of NetClientState and free it once, this patch introduces destructor of NetClientState. Which could do type specific free, which could be used by multiqueue to free the array once. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 18a1541a8da40271056aab99100bdc38283c42ac Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:26 2013 +0800 net: introduce qemu_net_client_setup() This patch separates the setup of NetClientState from its allocation, this will allow allocating an arrays of NetClientState and does the initialization one by one which is what multiqueue needs. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c51ae73fc68de2a4f11f5a7ebb52a4e79687e7d Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:25 2013 +0800 net: introduce qemu_find_net_clients_except() In multiqueue, all NetClientState that belongs to the same netdev or nic has the same id. So this patches introduces an helper qemu_find_net_clients_except() which finds all NetClientState with the same id. This will be used by multiqueue networking. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 948ecf219c032e3483b35ba4e162e5eee17d8b77 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:24 2013 +0800 net: intorduce qemu_del_nic() To support multiqueue nic, this patch separate the nic destructor from qemu_del_net_client() to a new helper qemu_del_nic() since the mapping bettween NiCState and NetClientState were not 1:1 in multiqueue. The following patches would refactor this function to support multiqueue nic. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc1f0f45425d0cca41ad421623f92bebc93a21a9 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:23 2013 +0800 net: introduce qemu_get_nic() To support multiqueue, this patch introduces a helper qemu_get_nic() to get NICState from a NetClientState. The following patches would refactor this helper to support multiqueue. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b356f76de31e343121cdab3a01b39182edce9519 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:22 2013 +0800 net: introduce qemu_get_queue() To support multiqueue, the patch introduce a helper qemu_get_queue() which is used to get the NetClientState of a device. The following patches would refactor this helper to support multiqueue. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 28a65891a0deb10b222890b9eb916ca32cb977bb Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:21 2013 +0800 net: tap: use abort() instead of assert(0) Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ec45f08313ce92039d52ea0338db4a0c862fef6a Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:20 2013 +0800 net: tap: using bool instead of bitfield Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 350ed2fcd95d30b02609e8783f33735f356ad7ce Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 31 14:49:44 2013 +0100 target-ppc: Fix target_ulong vs. hwaddr format mismatches Since HWADDR_PRIx is always the same now, use %016 for TARGET_PPC64 and %08 for common code. This may slightly change the ppc64 debug output. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6bf0076643dac4f37cabb9233dc9170f1c2fdd49 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 28 16:15:16 2013 -0200 libqtest: Wait for the right child PID after killing QEMU When running "make check" with gcov enabled, we get the following message: hw/tmp105.gcda:cannot open data file, assuming not executed The problem happens because: * tmp105-test exits before QEMU exits, because waitpid() at qtest_quit() fails; * waitpid() fails because there's another process already waiting for the QEMU process; * The process that is already waiting for QEMU is the child created by qtest_init() to run system(); * qtest_quit() is incorrectly waiting for the QEMU PID directly instead of the child created by qtest_init(). This fixes the problem by sending SIGTERM to QEMU, but waiting for the child process created by qtest_init() (that exits immediately after QEMU exits). Reported-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3e7b8f4e6f507e09e27b7449f3744596f19c0083 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 18:56:18 2013 +0100 isa: QOM'ify isa_bus_from_device() DeviceState::parent_bus is document as private and should be accessed through qdev_get_parent_bus(). Use a DEVICE() cast instead of accessing ISADevice's qdev field directly. Use ISA_BUS() in place of DO_UPCAST(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8aae84a1f2ad256d222c97411af17013b1c35799 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 25 09:12:54 2013 +0100 i2c: Drop I2C_SLAVE_FROM_QDEV() macro It is not being used in hot paths and is obsoleted by I2C_SLAVE() QOM cast macro. Clean it up using a scripted conversion, so that it doesn't get used in new code. Some of its callers were combining it with FROM_I2C_SLAVE() macro, which is equally obsolete but needs to be replaced in a type-specific way. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c8fec8372147a561f5b721d3a5180b73d7ce4cb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 16:16:19 2013 +0100 configure: Keep -Werror enabled for Release Candidates The automatic drop of -Werror during the RC phases has in the past led to warnings creeping into submaintainer trees. Last QEMU Summit it was concluded that -Werror should stay on and enabled only as part of the release process. To relieve our release manager, instead of always enabling -Werror or doing some number magic, let's enable it depending on whether a .git/ directory exists in the source tree. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 70ddd9f66d1d5234b38b4444f209c511e7757ce6 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 31 17:43:51 2013 -0600 Revert "e1000: no need auto-negotiation if link was down" This reverts commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d. I'm not sure what issue the original commit was meant to fix, or if the logic is actually wrong, but it causes e1000 to stop working after a guest issues a reset. >From what I can tell a guest with an e1000 nic has no way of changing the link status, as far as it's NetClient peer is concerned, except in the auto-negotiation path, so with this patch in place there's no recovery after a reset, since the link goes down and stays that way. Revert this patch now to fix the bigger problem, and handle any lingering issues with a follow-up. Reproduced/tested with qemu-jeos and Ubuntu 12.10. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5dea9a694ffa6fdd19ba5ce265c619686c14df1b Merge: e205842... a31ca01... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 09:08:14 2013 -0600 Merge remote-tracking branch 'quintela/migration.next' into staging # By Orit Wasserman # Via Juan Quintela * quintela/migration.next: Fix error message in migrate_set_capability HMP command Allow XBZRLE decoding without enabling the capability Fix example for query-migrate-capabilities Add XBZRLE testing Move XBZRLE encoding code to a separate file to allow testing commit e205842bd91fbd15655ff40a4282b1ffcbc301b1 Merge: fabb604... 49e1587... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 09:06:23 2013 -0600 Merge remote-tracking branch 'agraf/s390-for-upstream' into staging # By Andreas Färber # Via Alexander Graf * agraf/s390-for-upstream: target-s390x: Pass S390CPU to s390_{add, del}_running_cpu() target-s390x: Clean up cpu_inject_*() signatures target-s390x: Fix debug output target-s390x: Fix debug output (continued) commit fabb60424d68b7c3af1be447a1f48c5b9ffe5123 Merge: 8a55ebf... 476b6d1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 09:02:09 2013 -0600 Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging # By Andreas Färber (2) and Alexander Graf (1) # Via Alexander Graf * agraf/ppc-for-upstream: target-ppc: Fix build for PPC_DEBUG_DISAS target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS PPC: Unify dcbzl code path commit fdf263f63fad86b04032da86686a952edfe4644f Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Thu Jan 31 15:40:14 2013 +0100 block/raw-posix: Build fix for O_ASYNC Commit eeb6b45d48800e96f67ef2a5c80332557fd45ddb (block: raw-posix image file reopen) broke the build on OpenIndiana. illumos has no O_ASYNC. Exclude it from flags to be compared and instead assert that it is not set where defined. Cf. e61ab1da7e98357da47c54d8f893b9bd6ff2f7f9 for qemu-ga. Cc: qemu-stable@xxxxxxxxxx (1.3.x) Cc: Jeff Cody <jcody@xxxxxxxxxx> Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cd9234757528a1b7155a75ec2eedb375f71e99fa Author: Philipp Hahn <hahn@xxxxxxxxxxxxx> Date: Tue Jan 29 22:50:31 2013 +0100 vmdk: Allow space in file name The previous scanf() format string stopped parsing the file name on the first white white space, which seems to be allowed at least by VMware Workstation. Change the format string to collect everything between the first and second quote as the file name, disallowing line breaks. Signed-off-by: Philipp Hahn <hahn@xxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 46536235d80a012cc4286b71426cafad0c7f41f0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:32 2013 +0100 parallels: Fix bdrv_open() error handling Return -errno instead of -1 on errors. Hey, no memory leak to fix here while we're touching it! Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4f8aa2e19f88fe0dfaf8240ae666de7fd18dd1d0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:31 2013 +0100 dmg: Use g_free instead of free The buffers are allocated with g_(re)alloc, so use g_free to free them. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 69d34a360dfe773e17e72c76d15931c9b9d190f6 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:30 2013 +0100 dmg: Fix bdrv_open() error handling Return -errno instead of -1 on errors and add error checks in some places that didn't have one. Passing things by reference requires more correct typing, replaced a few off_ts therefore - with a 32-bit off_t this is even a fix for truncation bugs. While touching the code, fix even some more memory leaks than in the other drivers... Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 59294e465953ffb07d42dc61c827bb98cc0ca423 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:29 2013 +0100 vpc: Fix bdrv_open() error handling Return -errno instead of -1 on errors. While touching the code, fix a memory leak. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1a60657f5729bac57e70802eb17e67ad793400fd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:28 2013 +0100 cloop: Fix bdrv_open() error handling Return -errno instead of -1 on errors. While touching the code, fix a memory leak. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5b7d7dfd198f06ec5edd0c857291c5035c5c060f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:27 2013 +0100 bochs: Fix bdrv_open() error handling Return -errno instead of -1 on errors. While touching the code, fix a memory leak. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6f74c260b45a8f94007929c800d95c2303f1a7ec Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Jan 29 17:14:16 2013 +0800 sheepdog: pass vdi_id to sheep daemon for sd_close() Sheep daemon needs vdi_id to identify which vdi is closed to release resources such as object cache. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7f2039f61113f11be92112adf31b6052e04d986f Author: Othmar Pasteka <pasteka@xxxxxxxx> Date: Wed Jan 30 00:26:52 2013 +0100 vmdk: Allow selecting SCSI adapter in image creation Introduce a new option "adapter_type" when converting to vmdk images. It can be one of the following: ide (default), buslogic, lsilogic or legacyESX (according to the vmdk spec from vmware). In case of a non-ide adapter, heads is set to 255 instead of the 16. The latter is used for "ide". Also see LP#545089 Signed-off-by: Othmar Pasteka <pasteka@xxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a04eca108e5efe8a09fe82f7079fcd1568ffc8d7 Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Date: Fri Jan 25 10:57:20 2013 -0800 block: Adds mirroring tests for resized images This test verifies two mirroring issues are fixed with resized images: * sync='top' creates an image that is the proper size * sync='full' doesn't cause an assertion failure and crash qemu Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 63ba17d39f1a8d262b31ea6a07dd3eb45d5a41e2 Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Date: Thu Jan 24 10:02:08 2013 -0800 block: Fix is_allocated_above with resized files In an image chain, if the base image is smaller than the current image, we need to make sure to use the current images count of unallocated blocks once we get to the end of the base image. Without this change the code will return 0 blocks when it gets to the end of the base image and mirror_run will fail its assertion. Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b93d6d2468ba81b9e373066004f2084efbdcc9d6 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 23 16:52:49 2013 +0100 qemu-iotests: Add regression test for b7ab0fea It turned out that the change in b7ab0fea was actually a real qcow2 corruption fix. This is a reproducer for the bug. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a31ca017aaf9074c1bb636b3ddaceb40f994375f Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:19 2013 +0200 Fix error message in migrate_set_capability HMP command Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 1b1fdfeae68c61786a474b02601fbba6040fc5a4 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:18 2013 +0200 Allow XBZRLE decoding without enabling the capability Before this fix we couldn't load a guest from XBZRLE compressed file. For example: The user activated the XBZRLE capability The user run migrate -d "exec:gzip -c > vm.gz" The user won't be able to load vm.gz and get an error. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit dbca1b3773185af0413e750f26d04b0110cff107 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:17 2013 +0200 Fix example for query-migrate-capabilities Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 21e3cd295b52b3ac1528262b8639f2e896cd9467 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:16 2013 +0200 Add XBZRLE testing Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit ba2e28e8a20cf78ea4f64fbf84055f969013f9f7 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:15 2013 +0200 Move XBZRLE encoding code to a separate file to allow testing Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 8a55ebf01507ab73cc458cfcd5b9cb856aba0b9e Merge: 2854c54... 7786812... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 31 19:37:33 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber # Via Andreas Färber * afaerber/qom-cpu: linux-user: bsd-user: Don't reset X86CPU twice target-i386: Pass X86CPU to cpu_x86_set_a20() target-unicore32: Rename CPU subtypes target-openrisc: Rename CPU subtypes target-openrisc: TYPE_OPENRISC_CPU should be abstract target-m68k: Rename CPU subtypes target-m68k: Mark as unmigratable target-s390x: Mark as unmigratable target-sh4: Mark as unmigratable target-xtensa: Mark as unmigratable target-microblaze: Mark as unmigratable target-unicore32: Mark as unmigratable ide/mmio: QOM'ify MMIO IDE for R2D commit 2854c549e84532f0b76b7884f1903da8a1bf4dbb Merge: c628d74... 7e02dc6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 31 19:37:23 2013 -0600 Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging # By Henry Harrington (1) and Stefan Weil (1) # Via Andreas Färber * afaerber-or/cocoa-for-upstream: cocoa: Replace non-portable asprintf() by g_strdup_printf() cocoa: Fix VBE function Set Display Start commit c628d74738bfdb872f771407a2790509ec4520f9 Merge: e62a214... 6a659bb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 31 19:35:24 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,make,pci,e1000,vfio,piix This includes my timestamp generation cleanup, Amos's and my work on virtio net commands, pci,e1000,vfio and piix fixes. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Thu 31 Jan 2013 06:20:27 AM CST using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (6) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: vfio-pci: Enable PCIe extended config space PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set ich9: add support for pci assignment virtio-net: rename ctrl rx commands virtio-net: introduce a new macaddr control virtio-net: remove layout assumptions for ctrl vq virtio-net: revert mac on reset rules/mak: make clean should blow away timestamp files Makefile: clean timestamp generation rule rules.mak: cleanup config generation rules e1000: document ICS read behaviour commit 49e158785fa86f04e2d4027dd19719d8b79a4421 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 30 12:48:25 2013 +0000 target-s390x: Pass S390CPU to s390_{add, del}_running_cpu() This prepares for moving the halted field to CPUState. Most call sites can already supply S390CPU, for some env becomes unused. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f94667336ecf6566e090a895a37bc06da435d686 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 30 12:48:24 2013 +0000 target-s390x: Clean up cpu_inject_*() signatures Despite cautioning that S390CPU is needed for upcoming CPUState refactorings, commit 5d69c547d947798cba92d836d06f6e017ba2b19d (s390: I/O interrupt and machine check injection.) added functions cpu_inject_io() and cpu_inject_crw_mchk() with CPUS390XState argument, claiming consistency with cpu_inject_ext(). This complicates making cpu_interrupt() take a CPUState even more and it required to pass &cpu->env from some S390CPU-aware call sites already, creating inconsistency elsewhere. Address that. This also eliminates the need for CPUS390XState in s390_virtio_irq(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 07cc7d128111958e1079632129b1633cb2a435ec Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:03 2013 +0000 target-s390x: Fix debug output Commit 71e470886fb6092504503a5fe41092ace71c096c (target-s390x: fix style) renamed the cpu_s390x_handle_mmu_fault() argument from _vaddr to orig_vaddr. Update the debug output code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a6f921b0c398c941bb3e17704ffa546849d243de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:04 2013 +0000 target-s390x: Fix debug output (continued) Since its introduction in d5a439645a5a70fed5431318c3bce9dc2caa950f (s390x: helper functions for system emulation) the variable name was raddr. Fix this. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 476b6d1619446b9c8f72d7523985ba4fdfeaa405 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:02 2013 +0000 target-ppc: Fix build for PPC_DEBUG_DISAS In r5949 / 76db3ba44ee8db671f804755f13b016eefd13288 (target-ppc: memory load/store rework) variable little_endian was replaced with ctx.le_mode. Update the debug code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cca48a93a9a6c1c95ace89b299d3f9f47adadd6d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:01 2013 +0000 target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8e33944f8c648e579a2827ae6f30e4d66ee87f96 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jan 29 13:36:02 2013 +0100 PPC: Unify dcbzl code path The bit that makes a dcbz instruction a dcbzl instruction was declared as reserved in ppc32 ISAs. However, hardware simply ignores the bit, making code valid if it simply invokes dcbzl instead of dcbz even on 750 and G4. Thus, mark the bit as unreserved so that we properly emulate a simple dcbz in case we're running on non-G5s. While at it, also refactor the code to check the 970 special case during runtime. This way we don't need to differenciate between a 970 dcbz and any other dcbz anymore. We also allow for future improvements to add e500mc dcbz handling. Reported-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 77868120cfe93ad7816dfac6546684e5a6c6e256 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 05:34:10 2013 +0100 linux-user: bsd-user: Don't reset X86CPU twice Since commit 65dee38052597b6285eb208125369f01b29ba6c1 (target-i386: move cpu_reset and reset callback to cpu.c) the x86 CPU is reset through cpu_init() but was still reset immediately after in linux-user and bsd-user. Clean this up. Similarly in linux-user/syscall.c it is also reset after cpu_copy(). But that's a bug of its own, fixing which poses a semantic change. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> commit cc36a7a2c7e281d7d715ac73d31bbccc0d2d2670 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 15:19:06 2013 +0100 target-i386: Pass X86CPU to cpu_x86_set_a20() Prepares for cpu_interrupt() changing argument to CPUState. While touching it, rename to x86_cpu_...() now that it takes an X86CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit eeb266ded886185d1d3b0d8bc089ec72df1a2bfd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 23:25:25 2013 +0100 target-unicore32: Rename CPU subtypes In the initial conversion of CPU models to QOM types, model names were mapped 1:1 to type names. As a side effect this gained us a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. No functional changes for -cpu arguments. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 478032a93d908e59085c1ac56f10979942e7dc4f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 22:50:35 2013 +0100 target-openrisc: Rename CPU subtypes Model names were mapped 1:1 to type names. As a side effect this registered a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. No functional changes for -cpu arguments or -cpu ? output. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bc755a00b1fd58ac9bfa316237134958489f0145 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 22:27:17 2013 +0100 target-openrisc: TYPE_OPENRISC_CPU should be abstract A basic assumption of CPU subtypes is that only specific models get instantiated. A user is not supposed to instantiate an <arch>-cpu. Suppress it via abstract = true, which also drops or32-cpu from -cpu ? output. Cc: qemu-stable@xxxxxxxxxx Cc: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7a9f812b381639b96a020bdb1f4783f11f886754 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 20:16:17 2013 +0100 target-m68k: Rename CPU subtypes In the initial conversion of CPU models to QOM types, model names were mapped 1:1 to type names. As a side effect this gained us a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. No functional changes for -cpu arguments or -cpu ? output. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 087fe4f824e88d5924bf6887cb59985510a790b7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:53:28 2013 +0100 target-m68k: Mark as unmigratable It neither defined CPU_SAVE_VERSION nor implemented cpu_{save,load}(). Mark M68kCPU as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit c7396bbb2597577b1463fc997a73e67b8a067880 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:41:06 2013 +0100 target-s390x: Mark as unmigratable CPU_SAVE_VERSION was undefined, so "cpu_common" VMState and cpu_{save,load}() were not registered. They were no-ops. Therefore there is no backwards compatibility to keep, so we can mark S390CPU as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 1e45d31b04b1e3ccad2bfb3b4a90a75317ada16a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:32:33 2013 +0100 target-sh4: Mark as unmigratable It neither defined CPU_SAVE_VERSION nor implemented cpu{save,load}(). Mark it as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 004a569057492784e4922f2f8cb396fb55affe71 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:22:41 2013 +0100 target-xtensa: Mark as unmigratable There was no CPU_SAVE_VERSION defined, so neither "cpu_common" VMState nor cpu_{save,load}() were registered. Their implementation was no-op. Therefore there is no backwards compatibility to keep, so mark XtensaCPU as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3ce8b2bcbff6445f84db53ef38dbc4e5dd102676 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:03:32 2013 +0100 target-microblaze: Mark as unmigratable cpu_{save,load} were no-ops, so de facto it is unmigratable and no backwards compatibility to keep. Therefore mark the MicroBlazeCPU as unmigratable at device level the QOM way and suppress "cpu_common" VMState registration by dropping CPU_SAVE_VERSION. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 88e28512efd8d36476e50a78acb1dca8b41a3cf1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 11:43:30 2013 +0100 target-unicore32: Mark as unmigratable CPU_SAVE_VERSION 2 was bogus as both save and load would just throw a hw_error(). Therefore we can without problems suppress registration of "cpu_common" VMState by dropping CPU_SAVE_VERSION define and provide an unmigratable "cpu" VMStateDescription for UniCore32CPU at device level instead, where we can attach this the QOM way. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6b2578d678497dbce44ed7999d269fc973ae6e8f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 1 00:13:41 2013 +0100 ide/mmio: QOM'ify MMIO IDE for R2D It was not qdev'ified before, so turn it into a SysBusDevice. Keep mmio_ide_init_drives() around to attach the hard drive. Signed-off-by: Andreas Färberr <afaerber@xxxxxxx> Cc: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e62a214cd49f836339fe3fd8126fc81d66c3c917 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx> Date: Wed Jan 23 04:17:41 2013 +0100 target-mips: fix incorrect test for MTHLIP The pos field in the DSPControl register is not correctly initialized. Per documentation, the result of MTHLIP is unpredictable if the value of the pos field before the execution is greater than 32. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 6f0af30449b4780c65723d0d45d0f956af5e8c4e Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Jan 23 03:57:02 2013 +0100 target-mips: enable access to DSP ASE if implemented compute_hflags() will reset DSP h-flags, so MX bit should be initially set for usermode in cpu_state_reset() if DSP ASE is implemented. This change will bring back user-mode support for DSP ASE, since one of the recent changes broke it. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f54c35d1ea287beb26f6e929e2362cbc9dcfec07 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Tue Jan 22 17:16:00 2013 +0000 target-mips: Unfuse {,N}M{ADD,SUB}.fmt Turn MADD.fmt, MSUB.fmt, NMADD.fmt and NMSUB.fmt from fused to unfused operations, so that they behave in the same way as a separate multiplication and addition. The instructions were only fused in early MIPS IV processors. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c728154bbbc1a86465a0fd6bfc839bc9710ac374 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Sun Jan 20 19:30:54 2013 +0000 target-mips: Sign-extend the result of LWR Sign-extend the result of LWR, as is already done for LWL. This is necessary in the case where LWR loads the full word (i.e. the address is actually aligned). In the other cases, it is implementation defined whether the upper 32 bits of the result are unchanged or a copy of bit 31. The latter seems easier to implement. Previously the code used: (oldval & (0xfffffffe << (31 - bitshift))) | (newval >> bitshift) which zeroed the upper bits of the register, losing any previous sign extension in the unaligned cases. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 17e8fef1af2db3a13613a311db2ec2f7a69645a1 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Sun Jan 20 19:28:48 2013 +0000 target-mips: Fix signedness of loads in MIPS16 RESTOREs Make RESTORE use sign-extending rather than zero-extending loads. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 810ded13792042d988c8dbdea3b97eedbd949b40 Merge: df6126a... 51492fd... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Thu Jan 31 23:33:14 2013 +0100 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Rename CPU types target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes commit df6126a7f21a1a032e41b15899ca29777399d5a2 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:24 2013 +0100 target-mips: implement DSP (d)append sub-class with TCG DSP instruction from the (d)append sub-class can be implemented with TCG. Use a different function for these instructions are they are quite different from compare-pick sub-class. Fix BALIGN instruction for negative value, where the value should be zero-extended before being shift to the right. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0a16c79cc4087838ae5f2bc9554d91db2cbb2503 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: use DSP unions for reduction add instructions Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 75d012ac7f5c92ac5ee2c1dee8c7a7fbeb724e3c Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: use DSP unions for unary DSP operators This allow to reduce the number of macros. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 6de0e6c13e275a59de7fcf5dee26c5a88e3a2ebe Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: use DSP unions for binary DSP operators This allow to reduce the number of macros. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 652613ab5ae4559b481c612010b407e1c2216f36 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: add unions to access DSP elements Instead of playing with bit shifting, add two unions (one for 32-bit values, one for 64-bit ones) to access all the DSP elements with the correct type. This make the code easier to read and less error prone, and allow GCC to vectorize the code in some cases. Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ad153f153da08f5e08bc8e433c0070af53e34e0a Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: generate a reserved instruction exception on CPU without DSP On CPU without DSP ASE support, a reserved instruction exception (instead of a DSP ASE sate disabled) should be generated. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d75c135e6b6255787dfc01ce997862d820ed1d36 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:22 2013 +0100 target-mips: copy insn_flags in DisasContext Copy insn_flags in DisasContext to avoid passing a CPUMIPSState pointer to subroutines, as suggested by Richard Henderson. Change subroutines to use this new field and remove the first argument. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f7d2072e25d3592acec4657dae8862facf298e9f Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:22 2013 +0100 target-mips: fix DSP loads with rd = 0 When rd is 0, which still need to do the actually load to possibly generate a TLB exception. Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 7e02dc63b8f16372107434d44269e21cdff5d19d Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 07:38:40 2013 +0000 cocoa: Replace non-portable asprintf() by g_strdup_printf() Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 477a3877fdc3125f309133ce511236f39f58c16e Author: Henry Harrington <henry.harrington@xxxxxxxxx> Date: Tue Nov 27 08:59:41 2012 +0000 cocoa: Fix VBE function Set Display Start Register a dpy_gfx_setdata callback so that the Cocoa code is notified whenever the screen start address changes. Commit 1d3323d has a similar fix for the VNC UI. Signed-off-by: Henry Harrington <henry.harrington@xxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx (1.3.x) Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 321f211707822b4c87f0bb89e4f46586fff43163 Merge: b0df98f... f61850b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:51:47 2013 -0600 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging # By Christoffer Dall (1) and Peter Maydell (1) # Via Peter Maydell * pmaydell/arm-devs.next: hw/vexpress: Use correct HBI (board model number) for vexpress-a15 hw/arm_sysctl: Clear sysctl cfgctrl start bit commit b0df98f3a2968eb5aba3075d1cf9b1a3931907e0 Merge: 7cc2a8b... 99f4280... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:51:18 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Markus Armbruster (12) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema tests: Fix {rtc, m48t59}-test build on illumos qemu-pixman.h: Avoid mutual inclusion loop with console.h qemu-ga: Fix unchecked strdup() by converting to g_strdup() qapi: Fix unchecked strdup() by converting to g_strdup() libcacard: Fix unchecked strdup() by converting to g_strdup() qemu-log: Plug trivial memory leak in cpu_set_log_filename() qemu-log: Fix unchecked strdup() by converting to g_strdup() virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup() spice: Fix unchecked strdup() by converting to g_strdup() readline: Fix unchecked strdup() by converting to g_strdup() hw/9pfs: Fix unchecked strdup() by converting to g_strdup() g_strdup(NULL) returns NULL; simplify g_malloc(0) and g_malloc0(0) return NULL; simplify xilinx_axidma: Fix debug mode compile messages cadence_gem: Debug mode compile fixes cadence_ttc: Debug mode compile fixes vnc: Clean up vncws_send_handshake_response() commit 7cc2a8b14a363777e7d5b7d102176fba0cf27667 Merge: 6ac5107... 7561015... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:48:23 2013 -0600 Merge remote-tracking branch 'afaerber-or/prep-up' into staging # By Andreas Färber # Via Andreas Färber * afaerber-or/prep-up: prep: Move PReP machine to hw/ppc/ prep_pci: Convert to QOM realizefn prep_pci: Create PCIBus and PCIDevice in-place commit 6ac5107dc7045f2edc43ada2cb3f18d372b9be0b Merge: 0893d46... 19380b1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:46:30 2013 -0600 Merge remote-tracking branch 'agraf/s390-for-upstream' into staging # By Cornelia Huck (13) and others # Via Alexander Graf * agraf/s390-for-upstream: s390: Drop set_bit usage in virtio_ccw. s390: css error codes. s390: Use s390_cpu_physical_memory_map for tpi. sclpconsole: Don't instantiate sclpconsole with -nodefaults s390: Add s390-ccw-virtio machine. s390-virtio: Check for NULL device in reset hypercall s390: Move hw files to hw/s390x virtio-s390: add a reset function to virtio-s390 devices s390: Make typeinfo const s390: Add new channel I/O based virtio transport. s390-virtio: Factor out some initialization code. s390: Wire up channel I/O in kvm. s390: Virtual channel subsystem support. s390: Add channel I/O instructions. s390: I/O interrupt and machine check injection. s390: Channel I/O basic definitions. s390: Add mapping helper functions. s390: Lowcore mapping helper. s390: Add default support for SCLP console commit 51492fd1a99099308d8c20ab7134ffb54abbf374 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 17:30:10 2013 +0100 target-arm: Rename CPU types In the initial conversion of CPU models to QOM types, model names were mapped 1:1 to type names. As a side effect this gained us a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. This leads to names like arm926-arm-cpu but is easiest to handle. No functional changes for -cpu arguments or -cpu ? output. Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e4c1cfa5cb8f8bfbbfd949f2fabbe2be35e60c99 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jan 30 16:01:56 2013 +0000 target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes Fix a leak of a TCG temporary in code paths for VFP system register writes for cases which UNDEF or are write-ignored. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f61850bffbd0bb8b15aa55ebc3470bf1f8ce8664 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jan 30 15:39:02 2013 +0000 hw/vexpress: Use correct HBI (board model number) for vexpress-a15 The vexpress-a15 QEMU model is supposed to be a V2P-CA15; the HBI (a kind of board model number) for this coretile is 237, not 217. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 706872a56630a206897742b70c69ff99727672d3 Author: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 30 15:39:01 2013 +0000 hw/arm_sysctl: Clear sysctl cfgctrl start bit The start bit should only be set to indicate that a function call is underway, right now. When done with function, clear it. Signed-off-by: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c07ecc6866f8c5eb2e0b23ba20214000310355e0 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Mon Jan 7 11:40:06 2013 +0000 linux-user: correct reboot() According to man reboot(2), the 4th argument is only used with LINUX_REBOOT_CMD_RESTART2. In other cases, trying to convert the value can generate EFAULT. Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1b09aeb90827c1d91383a9eae42ce8f25909857b Author: Laurent Vivier <Laurent@xxxxxxxxx> Date: Tue Jan 1 08:24:11 2013 +0000 linux-user: correct setsockopt() SO_SNDTIMEO and SO_RCVTIMEO take a struct timeval, not an int To test this, you can use : QEMU_STRACE= ping localhost 2>&1 |grep TIMEO 568 setsockopt(3,SOL_SOCKET,SO_SNDTIMEO,{1,0},8) = 0 568 setsockopt(3,SOL_SOCKET,SO_RCVTIMEO,{1,0},8) = 0 Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 910ee4e5f4a1df5b1bd144dfca1ae466e2a86a78 Author: Laurent Vivier <Laurent@xxxxxxxxx> Date: Mon Dec 31 09:45:06 2012 +0000 linux-user: correct print_timeval() swap tv_sec and tv_usec Signed-off-by: Laurent Vivier <Laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 79dd77de124c47263f54e5f686273487e0016a8f Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Thu Dec 20 11:00:11 2012 +0000 linux-user: correct msgrcv() All parameters must be swapped before the call of do_msgrcv(). Allow faked (debian fakeroot daemon) to work properly. WITHOUT this patch: $ faked-sysv --foreground --debug using 1723744788 as msg key msg_key=1723744788 1723744788:431 FAKEROOT: msg=131072, key=1723744788 FAKEROOT: r=-1, received message type=-150996052, message=-160219330 FAKEROOT, get_msg: Bad address r=14, EINTR=4 fakeroot: clearing up message queues and semaphores, signal=-1 fakeroot: database save FAILED WITH this patch: $ faked-sysv --foreground --debug using 1569385744 as msg key msg_key=1569385744 1569385744:424 FAKEROOT: msg=0, key=1569385744 ^C fakeroot: clearing up message queues and semaphores, signal=2 fakeroot: database save FAILED Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 99f4280854514b22972bd257fe5facc439222d2e Author: Michal Privoznik <mprivozn@xxxxxxxxxx> Date: Tue Jan 29 17:58:41 2013 +0100 qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema Currently, we are using 'tray_open' in QMP and 'tray-open' in HMP. However, the QMP documentation was mistakenly using the HMP version. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a05ddd9216b6c5e9c48eac3433ff6fa4a282fc17 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Jan 26 15:27:59 2013 +0100 tests: Fix {rtc, m48t59}-test build on illumos Struct tm does not have tm_gmtoff field on illumos. Fix the build by not zero-initializing these fields on Solaris. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0b0878611c64f027ca5d15ba641f423cc04ead3f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:03:47 2013 +0000 qemu-pixman.h: Avoid mutual inclusion loop with console.h Remove an unnecessary mutual inclusion loop between qemu-pixman.h and console.h, since the former was only including the latter for 'PixelFormat*', which can be provided by typedefs.h. This requires a minor adjustment to the files which included qemu-pixman.h, since they were relying on it implicitly dragging in all of console.h. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 24a53049537886cf93273c01e3d7727444321afc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:06 2013 +0100 qemu-ga: Fix unchecked strdup() by converting to g_strdup() I figure it's freed somewhere deep down in QAPI, with g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 13b10e05e4b89418a78500da05b25164f786d7e4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:05 2013 +0100 qapi: Fix unchecked strdup() by converting to g_strdup() Note that we already free with g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit be168af860109a1ecc8526c5bbe0ace1536448b8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:04 2013 +0100 libcacard: Fix unchecked strdup() by converting to g_strdup() Note that we already free with g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 40a50b0a73d185c85cf62023f07e3091861081bb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:03 2013 +0100 qemu-log: Plug trivial memory leak in cpu_set_log_filename() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 636e0f27c6675839dc43d4c7613dfefc222234eb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:02 2013 +0100 qemu-log: Fix unchecked strdup() by converting to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 606017de2f254f847a009af770f8babc9a9fcadc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:01 2013 +0100 virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fd3bea3f44500bbd361e617a4316df073b112eec Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:00 2013 +0100 spice: Fix unchecked strdup() by converting to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c3baa5f9e4f84bbc9ed9c3fe590835ecc8b0bf4a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:59 2013 +0100 readline: Fix unchecked strdup() by converting to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d3f8e138c23ba082f87c96634d06b978473c1e9b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:58 2013 +0100 hw/9pfs: Fix unchecked strdup() by converting to g_strdup() Note: the allocation in virtio_9p_init() is still leaked. To be fixed in a followup commit. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c64f50d1e250879611e6f328e2c4fb18c8a4ab0c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:57 2013 +0100 g_strdup(NULL) returns NULL; simplify Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6528499fa4c3ceaec01ad29d8090ef55918ebfb3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:56 2013 +0100 g_malloc(0) and g_malloc0(0) return NULL; simplify Once upon a time, it was decided that qemu_malloc(0) should abort. Switching to glib retired that bright idea. Some code that was added to cope with it (e.g. in commits 702ef63, b76b6e9) is still around. Bury it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 75610155562bd480356a7a5018e5de4c44ec7884 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Jan 26 20:41:58 2013 +0100 prep: Move PReP machine to hw/ppc/ Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 74cef80c473fe4ce195d5280a34bb2af8492aabb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:54:35 2013 -0800 xilinx_axidma: Fix debug mode compile messages Missing cast one one of the conditionally compiled printfs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 080251a46493e4e4cb6cbd6e2878d31c7cf023c5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:54:34 2013 -0800 cadence_gem: Debug mode compile fixes Some printfs are throwing warnings when debug mode is enabled. Fixed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c69544130f50536c61686a9ec6734327b6174ee0 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:54:33 2013 -0800 cadence_ttc: Debug mode compile fixes Some printfs are throwing warnings when debug mode is enabled. Fixed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cfba8e6f92d45a2374622c3dc57499e42a1c07e1 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 10:31:16 2013 +0100 vnc: Clean up vncws_send_handshake_response() Use appropriate types, drop superfluous casts, use sizeof, don't exploit that this particular call of gnutls_fingerprint() doesn't change its last argument. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6a659bbff991b0033d1bf1ff71b7d550e0367d99 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Jan 23 17:46:13 2013 -0700 vfio-pci: Enable PCIe extended config space We don't know pre-init time whether the device we're exposing is PCIe or legacy PCI. We could ask for it to be specified via a device option, but that seems like too much to ask of the user. Instead we can assume everything will be PCIe, which makes PCI-core allocate enough config space. Removing the flag during init leaves the space allocated, but allows legacy PCI devices to report the real device config space size to rest of Qemu. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 1ec4ba741630699665a6334f3959271da3effec7 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Jan 24 10:31:20 2013 +0100 PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set Traditional PCI config space access is achieved by writing a 32 bit value to io port 0xcf8 to identify the bus, device, function and config register. Port 0xcfc then contains the register in question. But if you write the appropriate pair of magic values to 0xcf9, the machine will reboot. Spectacular! And not standardised in any way (certainly not part of the PCI spec), so different chipsets may have different requirements. Booo. In the PIIX3 spec, IO port 0xcf9 is specified as the Reset Control Register. Bit 1 (System Reset, SRST) would normally differentiate between soft reset and hard reset, but we ignore the difference beyond allowing the guest to read it back. RHBZ reference: 890459 This patch introduces the following overlap between the preexistent "pci-conf-idx" region and the "piix3-reset-control" region just being added. Partial output from "info mtree": I/O 0000000000000000-000000000000ffff (prio 0, RW): io 0000000000000cf8-0000000000000cfb (prio 0, RW): pci-conf-idx 0000000000000cf9-0000000000000cf9 (prio 1, RW): piix3-reset-control I sanity-checked the patch by booting a RHEL-6.3 guest and found no problems. I summoned gdb and set a breakpoint on rcr_write() in order to gather a bit more confidence. Relevant frames of the stack: kvm_handle_io (port=3321, data=0x7f3f5f3de000, direction=1, size=1, count=1) [kvm-all.c:1422] cpu_outb (addr=3321, val=6 '\006') [ioport.c:289] ioport_write (index=0, address=3321, data=6) [ioport.c:83] ioport_writeb_thunk (opaque=0x7f3f622c4680, addr=3321, data=6) [ioport.c:212] memory_region_iorange_write (iorange=0x7f3f622c4680, offset=0, width=1, data=6) [memory.c:439] access_with_adjusted_size (addr=0, value=0x7f3f531fbac0, size=1, access_size_min=1, access_size_max=4, access=0x7f3f5f6e0f90 <memory_region_write_accessor>, opaque=0x7f3f6227b668) [memory.c:364] memory_region_write_accessor (opaque=0x7f3f6227b668, addr=0, value=0x7f3f531fbac0, size=1, shift=0, mask=255) [memory.c:334] rcr_write (opaque=0x7f3f6227afb0, addr=0, val=6, len=1) [hw/piix_pci.c:498] The dispatch happens in ioport_write(); "index=0" means byte-wide access: static void ioport_write(int index, uint32_t address, uint32_t data) { static IOPortWriteFunc * const default_func[3] = { default_ioport_writeb, default_ioport_writew, default_ioport_writel }; IOPortWriteFunc *func = ioport_write_table[index][address]; if (!func) func = default_func[index]; func(ioport_opaque[address], address, data); } The "ioport_write_table" and "ioport_opaque" arrays describe the flattened IO port space. The first array is less interesting (it selects a thunk function). The "ioport_opaque" array is interesting because it decides how writing to the port is implemented ultimately. 4-byte wide access to 0xcf8 (pci-conf-idx): (gdb) print ioport_write_table[2][0xcf8] $1 = (IOPortWriteFunc *) 0x7f3f5f6d99ba <ioport_writel_thunk> (gdb) print \ ((struct MemoryRegionIORange*)ioport_opaque[0xcf8])->mr->ops.write $2 = (void (*)(void *, hwaddr, uint64_t, unsigned int)) 0x7f3f5f5575cb <pci_host_config_write> 1-byte wide access to 0xcf9 (piix3-reset-control): (gdb) print ioport_write_table[0][0xcf9] $3 = (IOPortWriteFunc *) 0x7f3f5f6d98d0 <ioport_writeb_thunk> (gdb) print \ ((struct MemoryRegionIORange*)ioport_opaque[0xcf9])->mr->ops.write $4 = (void (*)(void *, hwaddr, uint64_t, unsigned int)) 0x7f3f5f6b42f1 <rcr_write> The higher priority of "piix3-reset-control" ensures that the 0xcf9 entries in ioport_write_table / ioport_opaque will always belong to it, independently of its relative registration order versus "pci-conf-idx". Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 91c3f2f00810a9ba5e4404c9611197efd8f694c8 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Tue Jan 22 19:11:37 2013 -0700 ich9: add support for pci assignment Fills out support for the pci assignment API. Added: PCIINTxRoute ich9_route_intx_pin_to_irq(void *opaque, int pirq_pin) Add calls to pci_bus_fire_intx_routing_notifier() when routing changes are made. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit dd23454ba2c83168b453155365671e67723b881f Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Jan 22 23:44:46 2013 +0800 virtio-net: rename ctrl rx commands This patch makes rx commands consistent with specification. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c1943a3f3774ee1aad51e8cc5b8cd24e66e198a5 Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Jan 22 23:44:45 2013 +0800 virtio-net: introduce a new macaddr control In virtio-net guest driver, currently we write MAC address to pci config space byte by byte, this means that we have an intermediate step where mac is wrong. This patch introduced a new control command to set MAC address, it's atomic. VIRTIO_NET_F_CTRL_MAC_ADDR is a new feature bit for compatibility. "mac" field will be set to read-only when VIRTIO_NET_F_CTRL_MAC_ADDR is acked. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 22 23:44:44 2013 +0800 virtio-net: remove layout assumptions for ctrl vq Virtio-net code makes assumption about virtqueue descriptor layout (e.g. sg[0] is the header, sg[1] is the data buffer). This patch makes code not rely on the layout of descriptors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 41dc8a67c7dcecdf7ae1cd25db3c46f2b42a221f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Jan 16 11:37:40 2013 +0200 virtio-net: revert mac on reset Once guest overrides virtio net primary mac, it retains the value set until qemu exit. This is inconsistent with standard nic behaviour. To fix, revert the mac to the original value on reset. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 7586317bc0db3b993446b21eec914f5b66645ee4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 13:27:54 2013 +0200 rules/mak: make clean should blow away timestamp files Using a global pattern makes it easier to clean out old generated files. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6f329a55305c3b14da3c7b35f19379bae745e728 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 14:47:33 2013 +0200 Makefile: clean timestamp generation rule create timestamp by rule without sideeffects. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4b25966ab976f3a7fd9008193b2defcc82f8f04d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 13:12:35 2013 +0200 rules.mak: cleanup config generation rules This addresses two issues with config generation 1. rule generating timestamp has side effect. Thus cleanup on error does not work. 2. rule for handling timestamp is too generic. It can create any missing .h file. As a result when .h file is removed, build might try to create it using this rule which results in build errors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a52a8841038638afe54ffb00e0aca48de0b1539a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Jan 9 23:50:00 2013 +0200 e1000: document ICS read behaviour Add code comment to clarify the reason we set ICS with ICR: the reason was previously undocumented and git log confused rather than clarified the comments. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0893d46014b0300fb8aec92df94effea34d04b61 Merge: 0c77067... f8bb056... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 29 16:57:41 2013 -0600 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging * qemu-kvm/uq/master: target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too big vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery' Conflicts: target-i386/kvm.c Trivial merge resolution due to lack of context. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0c77067950e0b158ea7d825cfa7630bfd09b968a Merge: ec9466f... 10a2158... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 29 16:57:04 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-28-13' into staging # By Markus Armbruster # Via Michael Roth * mdroth/qga-pull-1-28-13: qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths qemu-ga: Plug memory leak in guest_fsfreeze_cleanup() commit 19380b1bf587fd962a60fb40cc4927ba999cf17b Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Jan 29 16:33:04 2013 +0100 s390: Drop set_bit usage in virtio_ccw. set_bit on indicators doesn't go well on 32 bit targets: note: expected 'long unsigned int *' but argument is of type 'uint64_t *' Switch to bit shifts instead. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> [agraf: use 1ULL instead] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8d034a6fad4c580be3ed4a15f24e0bf47aa92d15 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Mon Jan 28 17:01:30 2013 +0100 s390: css error codes. Changed error codes in the channel subsystem / virtio-ccw code (-EOPNOTSUPP -> -ENOSYS, -ERESTART -> -EINPROGRESS). This should hopefully fix building on mingw32. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 50c8d9bfc6d9ca48b978c6201f97bd850bd0dc83 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Sun Jan 27 23:59:26 2013 +0000 s390: Use s390_cpu_physical_memory_map for tpi. Map the I/O interruption code before calling into css. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2e788490d83a4de5bea00207c8695edd5d487e4a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jan 25 06:00:19 2013 +0000 sclpconsole: Don't instantiate sclpconsole with -nodefaults libvirt specifies nodefaults and creates an sclp console with special parameters. Let qemu follow nodefaults and don't create an sclp console if nodefaults is specified. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a5c95808bac7d995378b3835e10011775c7c2d0b Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 06:08:56 2013 +0000 s390: Add s390-ccw-virtio machine. Add a new machine type, s390-ccw-virtio, making use of the virtio-ccw transport to present virtio devices as channel devices. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ab290630fad0df42ee94a81b20c48d0da2dc6f66 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jan 22 23:24:08 2013 +0000 s390-virtio: Check for NULL device in reset hypercall s390_virtio_bus_find_mem() may return a NULL VirtIOS390Device. If called with, e.g., args[0] == 0, this leads to a segfault. Fix this by adding error handling as done for other hypercalls. Present since baf0b55a9e57b909b1f8b0f732c0b10242867418 (Implement virtio reset). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b73d35311098585dbdb375fdf8369b16c8222e12 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 25 01:16:39 2013 +0100 s390: Move hw files to hw/s390x This moves all files only used by s390 system emulation to hw/s390x. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 93726cb31982f5d930a4d5838215307390636d9b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 04:40:25 2013 +0000 virtio-s390: add a reset function to virtio-s390 devices virtio-s390 devices are not being reset when their bus is. To fix this, add a reset method that forwards to virtio_reset. This is only needed because of the "strange" modeling of virtio devices; the ->vdev link is being handled manually rather than through qdev. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 49973ebc039f644fce3e73ff8019efaa795bd83b Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 24 19:11:26 2013 +0100 s390: Make typeinfo const All TypeInfo definitions should be const. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a5cf2bb4e3827732b1b6740bddd022eb19988e0a Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 06:08:55 2013 +0000 s390: Add new channel I/O based virtio transport. Add a new virtio transport that uses channel commands to perform virtio operations. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fad37673f53ac8a2e0575c084a26e5f6bb59957d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:09 2013 +0000 s390-virtio: Factor out some initialization code. Some of the machine initialization for s390-virtio will be reused by virtio-ccw. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 09b998782978f95f626236b39f0be99c02a014a9 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:07 2013 +0000 s390: Wire up channel I/O in kvm. Trigger the code for our virtual css in case of instruction intercepts for I/O instructions. Handle the tsch exit for the subchannel-related part of tsch. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit df1fe5bb49241baddf1f319a6ecbe0885e875afa Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:06 2013 +0000 s390: Virtual channel subsystem support. Provide a mechanism for qemu to provide fully virtual subchannels to the guest. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b18aad543300de5da88efef8e4116a3ccbbf897 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:05 2013 +0000 s390: Add channel I/O instructions. Provide handlers for (most) channel I/O instructions. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5d69c547d947798cba92d836d06f6e017ba2b19d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:04 2013 +0000 s390: I/O interrupt and machine check injection. I/O interrupts are queued per isc. Only crw pending machine checks are supported. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit db1c8f53bfb1b3bff4f904be4f929808a445522e Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:03 2013 +0000 s390: Channel I/O basic definitions. Basic channel I/O structures and helper function. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 38322ed6518817066ce3a9037fd3795af57e1cdd Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:02 2013 +0000 s390: Add mapping helper functions. Add s390_cpu_physical_memory_{map,unmap} with special handling for the lowcore. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4782a23b270ecbb9ce0ca6f3f1b60857a09cef0e Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:01 2013 +0000 s390: Lowcore mapping helper. Create a lowcore mapping helper that includes a check for sufficient length. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3ef669e19401b3e504f0bd1ca3113c3aeacd4bed Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 24 12:18:52 2013 +0100 s390: Add default support for SCLP console The current s390 machine uses the virtio console as default console, but this doesn't mean that we always want to keep it that way for new machines. This patch introduces a way for a machine type to specify that it wants the default console to be an SCLP console, which is a lot closer to what real hardware does. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit f8bb056564ed719b2fa5e05028bc70aeb0cc5c6c Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 28 12:49:26 2013 +0100 target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too big Stack corruption may occur if too big 'level' or 'xlevel' values passed on command line with KVM enabled, due to limited size of cpuid_data in kvm_arch_init_vcpu(). reproduces with: qemu -enable-kvm -cpu qemu64,level=4294967295 or qemu -enable-kvm -cpu qemu64,xlevel=4294967295 Check if there is space in cpuid_data before passing it to cpu_x86_cpuid() or abort() if there is not space. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit ec9466ff2e50213c8318ffdd7003f345278ab795 Merge: 503cb22... 290adf3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 28 14:48:03 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: (37 commits) kvm: Pass CPUState to kvm_on_sigbus_vcpu() cpu: Unconditionalize CPUState fields target-m68k: Use type_register() instead of type_register_static() target-unicore32: Use type_register() instead of type_register_static() target-openrisc: Use type_register() instead of type_register_static() target-unicore32: Catch attempt to instantiate abstract type in cpu_init() target-openrisc: Catch attempt to instantiate abstract type in cpu_init() target-m68k: Catch attempt to instantiate abstract type in cpu_init() target-arm: Catch attempt to instantiate abstract type in cpu_init() target-alpha: Catch attempt to instantiate abstract type in cpu_init() qom: Introduce object_class_is_abstract() target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init() target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init() target-m68k: Detect attempt to instantiate non-CPU type in cpu_init() target-alpha: Detect attempt to instantiate non-CPU type in cpu_init() target-arm: Detect attempt to instantiate non-CPU type in cpu_init() cpu: Add model resolution support to CPUClass target-i386: Remove setting tsc-frequency from x86_def_t target-i386: Set custom features/properties without intermediate x86_def_t target-i386: Remove vendor_override field from CPUX86State ... Conflicts: tests/Makefile Resolved simple conflict caused by lack of context in Makefile Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 503cb22e055dcf477f9147fa1a3b8ae17c86c9b0 Merge: 6cebf7a... 67bec53... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 28 14:46:45 2013 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Paolo Bonzini (14) and others # Via Kevin Wolf * kwolf/for-anthony: (24 commits) ide: Add fall through annotations block: Create proper size file for disk mirror ahci: Add migration support ahci: Change data types in preparation for migration ahci: Remove unused AHCIDevice fields hbitmap: add assertion on hbitmap_iter_init mirror: do nothing on zero-sized disk block/vdi: Check for bad signature block/vdi: Improved return values from vdi_open block/vdi: Improve debug output for signature block: Use error code EMEDIUMTYPE for wrong format in some block drivers block: Add special error code for wrong format mirror: support arbitrarily-sized iterations mirror: support more than one in-flight AIO operation mirror: add buf-size argument to drive-mirror mirror: switch mirror_iteration to AIO mirror: allow customizing the granularity block: allow customizing the granularity of the dirty bitmap block: return count of dirty sectors, not chunks mirror: perform COW if the cluster size is bigger than the granularity ... commit 6cebf7afac9287f7bcaeb0d8fd64fd7b75e3fa2c Merge: 6034fe7... 49b6d72... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 28 14:41:25 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Lei Li (3) and others # Via Luiz Capitulino * luiz/queue/qmp: QAPI: Introduce memchar-read QMP command QAPI: Introduce memchar-write QMP command qemu-char: Add new char backend CirMemCharDriver docs: document virtio-balloon stats balloon: re-enable balloon stats balloon: drop old stats code & API block: Monitor command commit neglects to report some errors commit 10a2158f52796e5b2b7ce7991bde09a3c985a37b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:15:09 2013 +0100 qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6f6867493cc00974de594a509cee5a3be61c64aa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:15:08 2013 +0100 qemu-ga: Plug memory leak in guest_fsfreeze_cleanup() Neglects to free errors allocated by qmp_guest_fsfreeze_thaw(). Spotted by Coverity. While there, drop the test whether return value is negative (it's never true), and improve logging. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 290adf38967787bd985a5ec67dc4717e83c29eaa Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 09:30:27 2013 +0100 kvm: Pass CPUState to kvm_on_sigbus_vcpu() Since commit 20d695a9254c1b086a456d3b79a3c311236643ba (kvm: Pass CPUState to kvm_arch_*) CPUArchState is no longer needed. Allows to change qemu_kvm_eat_signals() argument as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> commit c03c520d508ba8b3a384f9849700987df8e4c328 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 25 16:11:42 2013 +0100 cpu: Unconditionalize CPUState fields Commits fc8c5b8c41ee5ba69d7a2be63b02a08c7b0b155b (Makefile.user: Define CONFIG_USER_ONLY for libuser/) and dd83b06ae61cfa2dc4381ab49f365bd0995fc930 (qom: Introduce CPU class) specifically prepared the qom/cpu.c file to be compiled differently for softmmu and *-user. This broke as part of build system refactorings while CPU patches were in flight, adding conditional fields kvm_fd (8737c51c0444f832c4e97d7eb7540eae457e08e4) and kvm_vcpu_dirty (20d695a9254c1b086a456d3b79a3c311236643ba) for softmmu. linux-user and bsd-user would therefore get a CPUState type with instance_size ~8 bytes longer than expected. Fix this by unconditionally having the fields in CPUState. In practice, target-specific CPU types' instance_size would compensate this, and upstream qom/cpu.c does not yet touch any affected field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2dddbc2123681f0cc37a891fa61d97a88d5e641c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 19:31:00 2013 +0100 target-m68k: Use type_register() instead of type_register_static() According to its documentation, type_register_static()'s TypeInfo argument should exist for the life type of the type. Therefore use type_register() when registering the list of CPU subtypes. No functional change with the current implementation. Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 87fb5811e631e79c24adab1f62bee01987cf1606 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:01:00 2013 +0100 target-unicore32: Use type_register() instead of type_register_static() According to its documentation, type_register_static()'s TypeInfo argument should exist for the life type of the type. Therefore use type_register() when registering the list of CPU subtypes. No functional change with the current implementation. Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a1ebd6ce3396954185bda6e94ada60c583f6cbea Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 11:10:14 2013 +0100 target-openrisc: Use type_register() instead of type_register_static() According to its documentation, type_register_static()'s TypeInfo argument should exist for the life type of the type. Therefore use type_register() when registering the list of CPU subtypes. No functional change with the current implementation. Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4933908ac5974252c1830d69e9493fa79c5ea606 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:41:38 2013 +0100 target-unicore32: Catch attempt to instantiate abstract type in cpu_init() Fixes -cpu unicore32-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c432b7840cfbc35fc0d097428d0a2f2a94983360 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:39:38 2013 +0100 target-openrisc: Catch attempt to instantiate abstract type in cpu_init() There is no abstract OpenRISCCPU yet, but that seems a bug of its own. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cae85065a44b731467dc6a5caee7cfc6d26d9ca3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:36:31 2013 +0100 target-m68k: Catch attempt to instantiate abstract type in cpu_init() This fixes -cpu m68k-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 245fb54db5f8c88c9d73e037178bc3ca1f9a4bb6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:32:49 2013 +0100 target-arm: Catch attempt to instantiate abstract type in cpu_init() This fixes -cpu arm-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a120c287086e0b03a57f1f4ac7d7aa73fe3d1fe7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:28:22 2013 +0100 target-alpha: Catch attempt to instantiate abstract type in cpu_init() This fixes -cpu alpha-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 178623789465287624c48f7ef12d0ab83a1dc380 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:20:18 2013 +0100 qom: Introduce object_class_is_abstract() This lets a caller check if an ObjectClass as returned by, e.g., object_class_by_name() is instantiatable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx> commit d89e12188d50f7f8a894027789f32fa7ba6226ad Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:07:17 2013 +0100 target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new uc32_cpu_class_by_name(). If the name matches an existing type, also check whether that type is actually (a sub-type of) TYPE_UNICORE32_CPU. This fixes, e.g., -cpu puv3_dma asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d5ce2e5643f4055b67ea012d91e812f1e607a83 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 15:45:34 2013 +0100 prep_pci: Convert to QOM realizefn SysBusDeviceClass' initfn merely calls SysBusDeviceClass::init, so we can already hook up our own realizefn overwriting this behavior. A symmetric unrealizefn is not necessary, knowing that the child's unrealizefn is still no-op, too. Avoids ripping it out again when recursive realization at DeviceState-level is implemented. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 98aca3c8e8778745cdd0670a792a41314115afa5 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat May 26 19:14:52 2012 +0200 prep_pci: Create PCIBus and PCIDevice in-place Prepares for QOM realizefn by removing object creation from qdev initfn. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit bd039ce0094f3724a87a193c846ee8468ce652b0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 11:17:14 2013 +0100 target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new openrisc_cpu_class_by_name(). If the name matches an existing type, also check whether that type is actually (a sub-type of) TYPE_OPENRISC_CPU. This fixes, e.g., -cpu open_eth asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bc5b2da32ba54d991e8669b14a771afb3a67f408 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 17:50:15 2013 +0100 target-m68k: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new m68k_cpu_class_by_name(). If the name matches an existing type, also check whether that type is (a sub-type of) TYPE_M68K_CPU. This fixes, e.g., -cpu ide-hd asserting. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0e44a02301b081d36e686e767694a770c25160a2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 17:27:54 2013 +0100 target-alpha: Detect attempt to instantiate non-CPU type in cpu_init() Check in alpha_cpu_class_by_name() whether the type found is actually (a sub-type of) TYPE_ALPHA_CPU. This fixes, e.g., -cpu typhoon-pcihost asserting. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5900d6b2d59875c9b11e4d8cead6d9ddaa9eb787 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 16:11:43 2013 +0100 target-arm: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new arm_cpu_class_by_name(). If the name matches an existing type, also check whether that type is actually (a sub-type of) TYPE_ARM_CPU. This fixes, e.g., -cpu tmp105 asserting. Cc: qemu-stable <qemu-stable@xxxxxxxxxx> Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2b8c27549917b3e07fec5807dbd2b6528ceb4efa Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 18:26:21 2013 +0100 cpu: Add model resolution support to CPUClass Introduce CPUClass::class_by_name and add a default implementation. Hook up the alpha and ppc implementations. Introduce a wrapper function cpu_class_by_name(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2c728dfef56d468a6a80b4dacdfb7109220d2546 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:39 2013 +0100 target-i386: Remove setting tsc-frequency from x86_def_t Setting tsc-frequency from x86_def_t is NOP because default tsc_khz in x86_def_t is 0 and CPUX86State.tsc_khz is also initialized to 0 by default. So there is no need to overwrite tsc_khz with default 0 because field was already initialized to 0. Custom tsc-frequency setting is not affected due to it being set without using x86_def_t. Field tsc_khz in x86_def_t becomes unused with this patch, so drop it as well. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a91987c25db38834091174681a6e1ffcbe582182 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:38 2013 +0100 target-i386: Set custom features/properties without intermediate x86_def_t Move custom features parsing after built-in cpu_model defaults are set and set custom features directly on CPU instance. That allows to make a clear distinction between built-in cpu model defaults that eventually should go into class_init() and extra property setting which is done after defaults are set on CPU instance. Impl. details: * use object_property_parse() property setter so it would be a mechanical change to switch to global properties later. * And after all current features/properties are converted into static properties, it will take a trivial patch to switch to global properties. Which will allow to: * get CPU instance initialized with all parameters passed on -cpu ... cmd. line from object_new() call. * call cpu_model/featurestr parsing only once before CPUs are created * open a road for removing CPUxxxState.cpu_model_str field, when other CPUs are similarly converted to subclasses and static properties. - re-factor error handling, to use Error instead of fprintf()s, since it is anyway passed in for property setter. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 11acfdd5a1647895ff9094e7f93f3317224eb4d8 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:37 2013 +0100 target-i386: Remove vendor_override field from CPUX86State Commit 8935499831312 makes cpuid return to guest host's vendor value instead of built-in one by default if kvm_enabled() == true and allows to override this behavior if 'vendor' is specified on -cpu command line. But every time guest calls cpuid to get 'vendor' value, host's value is read again and again in default case. It complicates semantics of vendor property and makes it harder to use. Instead of reading 'vendor' value from host every time cpuid[vendor] is called, override 'vendor' value only once in cpu_x86_find_by_name(), when built-in CPU model is found and if(kvm_enabled() == true). It provides the same default semantics if (kvm_enabled() == true) vendor = host's vendor else vendor = built-in vendor and then later: if (custom vendor) vendor = custom vendor 'vendor' value is overridden when user provides it on -cpu command line, and there is no need for vendor_override field anymore, remove it. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 99b88a1708919934f4092f7b6dcc2cca9d4072e9 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:36 2013 +0100 target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t Vendor property setter takes string as vendor value but cpudefs use uint32_t vendor[123] fields to define vendor value. It makes it difficult to unify and use property setter for values from cpudefs. Simplify code by using vendor property setter, vendor[123] fields are converted into vendor[13] array to keep its value. And vendor property setter is used to access/set value on CPU. - Make for() cycle reusable for the next patch by adding x86_cpu_vendor_words2str() Intel's CPUID spec[1] says: " 5.1.1 ... These registers contain the ASCII string: GenuineIntel ... " List[2] of known vendor values shows that they all are 12 ASCII characters long, padded where necessary with space. Current supported values are all ASCII characters packed in ebx, edx, ecx. So lets state that QEMU supports 12 printable ASCII characters packed in ebx, edx, ecx registers for cpuid(0) instruction. *1 - http://www.intel.com/Assets/PDF/appnote/241618.pdf *2 - http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8ba8a69848f8b910207a4b57c68db9a7e92af578 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:35 2013 +0100 target-i386: Print deprecation warning if xlevel < 0x80000000 Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7fc9b714eb4877ca83ce8e437ec93d34fca0eb3b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 01:02:28 2013 +0100 target-i386: Drop redundant list of CPU definitions It is no longer needed since dropping cpudef config file support. Cleaning this up removes knowledge about other models from x86_def_t, in preparation for reusing x86_def_t as intermediate step towards pure QOM X86CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4bfe910d4728807e7d80de152a7ef33dd608033f Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 01:00:24 2013 +0100 target-i386: Simplify cpu_x86_find_by_name() Catch NULL name argument early to avoid repeated checks. Similarly, check for -cpu host early and untangle from iterating through model definitions. This prepares for introducing X86CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8932cfdf7b95734c9b4a114b8ed0b4527af77ce7 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:09 2013 -0200 pc: Generate APIC IDs according to CPU topology This keeps compatibility on machine-types pc-1.2 and older, and prints a warning in case the requested configuration won't get the correct topology. I couldn't think of a better way to warn about broken topology when in compat mode other than using error_report(). The warning message will probably be buried in a log file somewhere, but it's better than nothing. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 247c9de13f9d54a94734875000a9faea8168c8ca Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Jan 23 15:58:27 2013 -0200 target-i386: Topology & APIC ID utility functions This introduces utility functions for the APIC ID calculation, based on: Intel® 64 Architecture Processor Topology Enumeration http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/ The code should be compatible with AMD's "Extended Method" described at: AMD CPUID Specification (Publication #25481) Section 3: Multiple Core Calcuation as long as: - nr_threads is set to 1; - OFFSET_IDX is assumed to be 0; - CPUID Fn8000_0008_ECX[ApicIdCoreIdSize[3:0]] is set to apicid_core_width(). Unit tests included. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d934e89793d2828e04af93abd181e5ed5349ef4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Jan 23 15:51:18 2013 -0200 pc: Set fw_cfg data based on APIC ID calculation This changes FW_CFG_MAX_CPUS and FW_CFG_NUMA to use apic_id_for_cpu(), so the NUMA table can be based on the APIC IDs, instead of CPU index (SeaBIOS knows nothing about CPU indexes, just APIC IDs). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 54fb7bf68516642c609738814f160ee2069301e8 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:05 2013 -0200 cpus.h: Make constant smp_cores/smp_threads available on *-user The code that calculates the APIC ID will use smp_cores/smp_threads, so just define them as 1 on *-user to avoid #ifdefs in the code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 70db922278f7b42375ead340b793ff3938835242 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:03 2013 -0200 fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init() PC will not use max_cpus for that field, so move it outside the common code so it can use a different value on PC. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cb41bad3c2c7d82405cbe057c944ed4fd176d82a Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:04 2013 -0200 target-i386: Introduce x86_cpu_apic_id_from_index() function This function will be used by both the CPU initialization code and the fw_cfg table initialization code. Later this function will be updated to generate APIC IDs according to the CPU topology. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 83b17af5e619abdf11721826b08fa4f30e9dc4ee Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:02 2013 -0200 target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index The CPU ID in KVM is supposed to be the APIC ID, so change the KVM_CREATE_VCPU call to match it. The current behavior didn't break anything yet because today the APIC ID is assumed to be equal to the CPU index, but this won't be true in the future. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b164e48ed1600055bc190aa3ab42c18004d2c711 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:01 2013 -0200 kvm: Create kvm_arch_vcpu_id() function This will allow each architecture to define how the VCPU ID is set on the KVM_CREATE_VCPU ioctl call. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2969475869a6f33b8883c2fbf90252dcf617902e Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Jan 17 18:59:29 2013 -0200 pc: Reverse pc_init_pci() compatibility logic Currently, the pc-1.4 machine init function enables PV EOI and then calls the pc-1.2 machine init function. The problem with this approach is that now we can't enable any additional compatibility code inside the pc-1.2 init function because it would end up enabling the compatibility behavior on pc-1.3 and pc-1.4 as well. This reverses the logic so that the pc-1.2 machine init function will disable PV EOI, and then call the pc-1.4 machine init function. This way we can change older machine-types to enable compatibility behavior, and the newer machine-types (pc-1.3, pc-q35-1.4 and pc-i440fx-1.4) would just use the default behavior. (This means that one nice side-effect of this change is that pc-q35-1.4 will get PV EOI enabled by default, too) It would be interesting to eventually change pc_init_pci_no_kvmclock() and pc_init_isa() to reuse pc_init_pci_1_2() as well (so we don't need to duplicate compatibility code on those two functions). But this will be probably much easier to do after we create a PCInitArgs struct for the PC initialization arguments, and/or after we use global-properties to implement the compatibility modes present in pc_init_pci_1_2(). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aa87d45855c7b255b451622a84a3e5b9b4393425 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Jan 17 18:59:28 2013 -0200 target-i386: Don't set any KVM flag by default if KVM is disabled This is a cleanup that tries to solve two small issues: - We don't need a separate kvm_pv_eoi_features variable just to keep a constant calculated at compile-time, and this style would require adding a separate variable (that's declared twice because of the CONFIG_KVM ifdef) for each feature that's going to be enabled/disabled by machine-type compat code. - The pc-1.3 code is setting the kvm_pv_eoi flag on cpuid_kvm_features even when KVM is disabled at runtime. This small inconsistency in the cpuid_kvm_features field isn't a problem today because cpuid_kvm_features is ignored by the TCG code, but it may cause unexpected problems later when refactoring the CPUID handling code. This patch eliminates the kvm_pv_eoi_features variable and simply uses kvm_enabled() inside the enable_kvm_pv_eoi() compat function, so it enables kvm_pv_eoi only if KVM is enabled. I believe this makes the behavior of enable_kvm_pv_eoi() clearer and easier to understand. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d61a23ba77deefd88fd2457c2dba7d5bf13f5f5b Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Jan 17 18:59:27 2013 -0200 kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd51dc5262b718c5f045c86ce1175842ab42d2cd Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 17:30:08 2013 +0100 target-openrisc: Clean up triple QOM casts Instead of calling openrisc_env_get_cpu(), casting to CPU() via the ENV_GET_CPU() compatibility macro and casting back to OPENRISC_CPU(), just call openrisc_env_get_cpu() directly. ENV_GET_CPU() is meant as workaround for target-independent code only. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8486af93771302fa3154857a7c05612f0f61cc90 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:14:27 2013 +0100 target-openrisc: Drop OpenRISCCPUList It was missed in 92a3136174f60ee45b113296cb2c2a5225b00369 (cpu: Introduce CPUListState struct) because its naming did not match the *CPUListState pattern. Use the generalized CPUListState instead. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6034fe7bdb555c43022706e228cde8d52a8b341a Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Sun Jan 27 01:05:00 2013 +0100 xilinx_ethlite: Avoid build warnings in debug code Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a56d305a6d706cd75cfe0fa473f45772694f2a4a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Jan 25 17:58:38 2013 -0800 m25p80.c: Return state to IDLE after COLLECTING Default to moving back to the IDLE state after the COLLECTING_DATA state. For a well behaved guest this patch has no consequence, but A bad guest could crash QEMU by using one of the erase commands followed by a longer than 5 byte argument (undefined behaviour). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 2f991adb8e8cad3233ae653be12cfd72d44168ba Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:36:23 2013 -0800 xilinx_ethlite: Flush queued packets on SW service Software services a received packet by clearing the CTRL_S bit in the RX_CTRLn register. If this bit is cleared, flush any packets queued for the device. Reported-by: John Williams <john.williams@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 808fb9f277abda16601e9db938d29aeaf2548585 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:36:22 2013 -0800 xilinx_ethlite: fix eth_can_rx() for ping-pong The eth_can_rx() function only checks the first buffers status ("ping"). The controller should be able to receive into "pong" when ping-pong is enabled. Checks the active buffer (either "ping" or "pong") when determining can_rx() rather than just testing "ping". Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 13144781d4e9e6100b398213f9000576a3dc88f9 Merge: c5cd02b... f5fba9d... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 26 14:18:28 2013 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: PPC: e500: Select MPIC v4.2 on ppce500 platform PPC: e500: fix mpic_iack address openpic: add basic support for MPIC v4.2 openpic: fix timer address decoding openpic: fix remaining issues from idr-to-destmask conversion pseries: Adjust default VIO address allocations to play better with libvirt pseries: Improve handling of multiple PCI host bridges target-ppc: Give a meaningful error if too many threads are specified cuda: Move ADB bus into CUDA state adb: QOM'ify ADB devices adb: QOM'ify Apple Desktop Bus cuda: QOM'ify CUDA ide/macio: QOM'ify MacIO IDE mac_nvram: QOM'ify MacIO NVRAM mac_nvram: Mark as Big Endian mac_nvram: Clean up public API macio: Split MacIO in two macio: Delay qdev init until all fields are initialized macio: QOM'ify some more ppc: Move Mac machines to hw/ppc/ commit c5cd02ba16e784699d04456c8e406445db997121 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 26 12:45:14 2013 +0100 tests: Add gcov support for x86_64 qtest Since x86_64 is a superset of i386 and reuses all its test cases, adopt all the i386 gcov source files as well, substituting their paths appropriately. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cba040c2b19f584bb33ae83af8517ecc9796e328 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 26 12:45:13 2013 +0100 tests: Add gcov support for sparc64 qtest m48t59-test is individually being executed for sparc and sparc64, so add the gcov source file for sparc64 as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 6a6944957801f5b981e09d6bff4f1bd5529f7019 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 26 12:45:12 2013 +0100 tests: Fix gcov typo for tmp105-test Commit 6e9989034b176a8e4cfdccd85892abfa73977ba7 introduced a new qtest test case but misspelled gcov, leading to no coverage analysis. Fix it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 8cb6bfb54e91b1a31a6ae704def595c2099efde1 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Fri Jan 25 21:23:24 2013 +0400 vmware_vga: fix out of bounds and invalid rects updating This is a follow up for several attempts to fix this issue. Previous incarnations: 1. http://thread.gmane.org/gmane.linux.ubuntu.bugs.general/3156089 https://bugs.launchpad.net/bugs/918791 "qemu-kvm dies when using vmvga driver and unity in the guest" bug. Fix by Serge Hallyn: https://launchpadlibrarian.net/94916786/qemu-vmware.debdiff This fix is incomplete, since it does not check width and height for being negative. Serge weren't sure if that's the right place to fix it, maybe the fix should be up the stack somewhere. 2. http://thread.gmane.org/gmane.comp.emulators.qemu/166064 by Marek Vasut: "vmware_vga: Redraw only visible area" This one adds the (incomplete) check to vmsvga_update_rect_delayed(), the routine just queues the rect updating but does no interesting stuff. It is also incomplete in the same way as patch by Serge, but also does not touch width&height at all after adjusting x&y, which is wrong. As far as I can see, when processing guest requests, the device places them into a queue (vmsvga_update_rect_delayed()) and processes this queue in different place/time, namely, in vmsvga_update_rect(). Sometimes, vmsvga_update_rect() is called directly, without placing the request to the gueue. This is the place this patch changes, which is the last (deepest) in the stack. I'm not sure if this is the right place still, since it is possible we have some queue optimization (or may have in the future) which will be upset by negative/wrong values here, so maybe we should check for validity of input right when receiving request from the guest (and maybe even use unsigned types there). But I don't know the protocol and implementation enough to have a definitive answer. But since vmsvga_update_rect() has other sanity checks already, I'm adding the missing ones there as well. Cc'ing BALATON Zoltan and Andrzej Zaborowski who shows in `git blame' output and may know something in this area. If this patch is accepted, it should be applied to all active stable branches (at least since 1.1, maybe even before), with minor context change (ds_get_*(s->vga.ds) => s->*). I'm not Cc'ing -stable yet, will do it explicitly once the patch is accepted. BTW, these checks use fprintf(stderr) -- it should be converted to something more appropriate, since stderr will most likely disappear somewhere. Cc: Marek Vasut <marex@xxxxxxx> CC: Serge Hallyn <serge.hallyn@xxxxxxxxxx> Cc: BALATON Zoltan <balaton@xxxxxxxxxx> Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3f0f31a0f1c9a89314e9f9ed423371f4d925d5a6 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 15:43:53 2013 +0000 tests: add fuzzing to visitor tests Perform input tests on random data. Improvement to code coverage for qapi/string-input-visitor.c is about 3 percentage points. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0c3c89d649d029b29bf245f739c82339fcf2e699 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 15 09:49:37 2013 +0100 build: remove *.lo, *.a, *.la files from all subdirectories on make clean .lo files in stubs/, util/ and libcacard/ were not cleaned. Fix this. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Reported-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 98ed805c388baaf4ce7d9acbbbc04bbf185f30fc Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 24 19:02:28 2013 +0000 hw/arm_boot: Align device tree to 4KB boundary, not page Align the device tree blob to a 4KB boundary, not to QEMU's idea of a page boundary -- the latter is the smallest possible page size for the architecture, which on ARM is 1KB. The documentation for Linux does not impose separation or alignment requirements on the device tree blob, but in practice some kernels will happily trash the entire page the initrd ends in after they have finished uncompressing the initrd. So 4KB-align the DTB to ensure it does not get trampled by these kernels. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 390999910bf1b1be59e04a0314867f4dea7a28f3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 24 16:14:39 2013 +0000 qemu-char: Avoid unused variable warning in some configs Avoid unused variable warnings: qemu-char.c: In function 'qmp_chardev_open_port': qemu-char.c:3132: warning: unused variable 'fd' qemu-char.c:3132: warning: unused variable 'flags' in configurations with neither HAVE_CHARDEV_TTY nor HAVE_CHARDEV_PARPORT set. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 23bf49b5eca716aaad073f2b47613434e1515cb5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 24 16:47:55 2013 +0100 make_device_config.sh: Fix target path in generated dependency file config-devices.mak.d is included from Makefile.target, i.e. from inside the *-softmmu/ directory. It included the directory path, so never applied to the actual ./config-devices.mak. Symptoms were spurious build failures due to missing dependency on default-configs/pci.mak. Fix this by using `basename` to strip the directory path. Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9f8863ebd7f584762a906881a62a04ac05ce4898 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 23 18:25:09 2013 +0100 fw_cfg: Drop a few superfluous initializers Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d09acb9b5ef0bb4fa94d3d459919a6ebaf8804bc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 23 18:25:08 2013 +0100 fw_cfg: Splash image loader can overrun a stack variable, fix read_splashfile() passes the address of an int variable as size_t * parameter to g_file_get_contents(), with a cast to gag the compiler. No problem on machines where sizeof(size_t) == sizeof(int). Happens to work on my x86_64 box (64 bit little endian): the least significant 32 bits of the file size end up in the right place (caller's variable file_size), and the most significant 32 bits clobber a place that gets assigned to before its next use (caller's variable file_type). I'd expect it to break on a 64 bit big-endian box. Fix up the variable types and drop the problematic cast. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a6e7c18476f5383720b3f57ef4f467b2e7c2565e Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Tue Jan 22 17:03:05 2013 +0000 softfloat: Handle float_muladd_negate_c when product is zero Honour float_muladd_negate_c in the case where the product is zero and c is nonzero. Previously we would fail to negate c. Seen in (and tested against) the gfortran testsuite on MIPS. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit de16017dc8f2c33c73bd3faebf3c626c400af5e4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:56 2013 +0000 hw/pxa2xx_timer: Explicitly mark fallthroughs Explicitly mark the fallthroughs as intentional in the code pattern where we gradually increment an index before falling into the code to read/write that array entry: case THINGY_3: idx++; case THINGY_2: idx++; case THINGY_1: idx++; case THINGY_0: return s->thingy[idx]; This makes static analysers happy. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 89556d1725d7c10a54ec66087e940727873f38a3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:55 2013 +0000 hw/smc91c111: Add explicit 'return' rather than relying on fallthrough Add an explicit 'return' statement to a case in smc91c111_readb rather than relying on fallthrough to the following case's return statement, for code clarity and to placate static analysers. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3095485029ddbd061aa4f8e26c0437f200975d18 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:54 2013 +0000 hw/pflash_cfi02.c: Mark deliberate fallthrough Mark the deliberate fallthrough where we treat the case of an attempt to read flash when it is an unknown command state as if it were a normal read. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit be688dfb8ddf7841fb277800977a0a878b68ae42 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:53 2013 +0000 hw/omap_dma, hw/omap_spi: Explicitly mark fallthroughs Explicitly mark the fallthroughs as intentional in the code pattern where we gradually increment an index before falling into the code to read/write that array entry: case THINGY_3: idx++; case THINGY_2: idx++; case THINGY_1: idx++; case THINGY_0: return s->thingy[idx]; This makes static analysers happy. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 139bd956eaf1675209009b22764a46bd220e287c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:52 2013 +0000 hw/omap1.c: Add fallthrough markers and breaks Explicitly mark cases where we are deliberately falling through to the following code. In one case we insert a 'break' instead of falling through to a 'break', as this seems slightly clearer. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bf4229d3cb09be2efc0add569feba33834fc5d93 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:51 2013 +0000 hw/arm_sysctl.c: Add missing 'break' statements Add some break statements that were accidentally omitted from some cases of arm_sysctl_write(). The omission was harmless because in both cases the following case did an immediate break, but adding the breaks explicitly placates static analysers and avoids weird behaviour if the following register is ever implemented as something other than a no-op. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b4451996e712653f9ef4d53d975a158572b8574d Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jan 19 18:58:09 2013 +0400 link seccomp only with softmmu targets Now, if seccomp is detected, it is linked into every executable, but is used only by softmmu targets (from vl.c). So link it only where it is actually needed. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0360ccffbe41bd732b42a90cd04de63335933bea Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:49:09 2013 +0000 bsd-user: avoid conflict with qemu_vmalloc Rename qemu_vmalloc() to bsd_vmalloc(), adjust the only user. Remove #ifdeffery in oslib-posix.c. Tested-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 82cb6b041c307bd96c067147af69cd98be91a682 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:48 2013 +0100 build: remove extra-obj-y extra-obj-y is somewhat complicated to understand. Replace it with a special CONFIG_ALL symbol that is defined only at toplevel. This limits the case of directories defining more than one *-obj-y target. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 000823449ca07e50086413338f907d7a817db2ce Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:47 2013 +0100 build: remove universal-obj-y All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how we define symbols for hardware components. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 737f351892e271fb3080c3c26e6453d939dd1d68 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:46 2013 +0100 build: use -$(CONFIG_SECCOMP) instead of ifeq Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 659800159092333593084593abed2d85c51c5a16 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:45 2013 +0100 build: move around libcacard-y definition It is also needed if !CONFIG_SOFTMMU, unlike everything that surrounds it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5f7a74a1a605d2065c3d74e42b563d69241089ec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 15 09:49:35 2013 +0100 tests: adjust gcov variables for directory movement I had missed the introduction of the gcov-files-* variables. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f5fba9d27f14603dc7f85779e7b7362fb1cfcbd8 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:55 2013 +0000 PPC: e500: Select MPIC v4.2 on ppce500 platform The compatible string is changed to fsl,mpic on all e500 platforms, to advertise the existence of BRR1. This matches what the device tree will have on real hardware. With MPIC v4.2 max_cpu can be increased from 15 to 32. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bd25922e737a2c90668a7bdd1e1319413a7a51f3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:54 2013 +0000 PPC: e500: fix mpic_iack address MPIC+0xa0 is IACK for the current CPU. MPIC+0x200a0 is IACK for CPU 0. This fix allows EPR to work with an SMP target. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0dfe5b18919a6a4deb841dcf3212e3e998c95e5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:53 2013 +0000 openpic: add basic support for MPIC v4.2 Besides the new value in the version register, this provides: - ILR support, which includes: - IDR becoming a pure CPU bitmap, allowing 32 CPUs - machine check output support (though other parts of QEMU need to be fixed for it to do something other than immediately reboot the guest) - dummy error interrupt support (EISR0/EIMR0 read as zero) - actually all FSL MPICs get all summary registers returning zero for now, which includes EISR0/EIMR0 Various refactoring is done to support these changes and to ease new functionality (e.g. a more flexible way of declaring regions). Just as the code was already not a full implementation of MPIC v2.0, this is not a full implementation of MPIC v4.2 -- e.g. it still has only one bank of MSIs. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 03274d44f655f7b822e845e79fa32b261cdb0774 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:52 2013 +0000 openpic: fix timer address decoding The timer memory range begins at 0x10f0, so that address 0x1120 shows up as 0x30, 0x1130 shows up as 0x40, etc. However, the address decoding (other than TFRR) is not adjusted for this, causing the wrong registers to be accessed. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f40c360c0da020a1a478f8e60dd205d7412bc315 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:51 2013 +0000 openpic: fix remaining issues from idr-to-destmask conversion openpic_update_irq() was checking idr rather than destmask, treating it as if it were a simple bitmap of cpus. Changed to use destmask. IPI delivery was removing bits directly from .idr, without calling write_IRQreg_idr so that the change could be conveyed to destmask. Changed to use destmask directly. Save/restore destmask when serializing, as due to the IPI change it cannot be reproduced from idr. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1ea1ce8ac305d9e006bc8b0f5f3554793fd2fa43 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 23 17:20:43 2013 +0000 pseries: Adjust default VIO address allocations to play better with libvirt Currently, if VIO devices for pseries don't have addresses explicitly allocated, they get automatically numbered from 0x1000. This is in the same general range that libvirt will typically assign VIO device addresses. That means that if there is a device libvirt doesn't know about, and it gets an address assigned before the libvirt assigned devices are processed, we can end up with an address conflict (qemu will abort with an error). While the real solution is to teach libvirt about the other devices, so it can correctly manage the whole allocation, this patch reduces the interim inconvenience by moving qemu allocations to a range that libvirt is less likely to conflict with. Because the guest gets the device addresses through the device tree, these addresses are truly arbitrary and can be changed without breaking guests. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit caae58cba07efec5f0616f568531c9dfaf1e9179 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 23 17:20:39 2013 +0000 pseries: Improve handling of multiple PCI host bridges Multiple - even many - PCI host bridges (i.e. PCI domains) are very common on real PAPR compliant hardware. For reasons related to the PAPR specified IOMMU interfaces, PCI device assignment with VFIO will generally require at least two (virtual) PHBs and possibly more depending on which devices are assigned. At the moment the qemu PAPR PCI code will not deal with this well, leaving several crucial parameters of PHBs other than the default one uninitialized. This patch reworks the code to allow this. Every PHB needs a unique BUID (Bus Unit Identifier, the id used for the PAPR PCI related interfaces) and a unique LIOBN (Logical IO Bus Number, the id used for the PAPR IOMMU related interfaces). In addition they need windows in CPU real address space to access PCI memory space, PCI IO space and MSIs. Properties are added to the PCI host bridge qdevice to allow configuration of all these. To simplify configuration of multiple PHBs for common cases, a convenience "index" property is also added. This can be set instead of the low-level properties, and will generate suitable values for the other parameters, different for each index value. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 23 17:20:38 2013 +0000 target-ppc: Give a meaningful error if too many threads are specified Currently the target-ppc tcg code only supports a single thread. You can specify more, but they're treated identically to multiple cores. On KVM we obviously can't support more threads than the hardware; if more are specified it will cause strange and cryptic errors. This patch clarifies the situation by giving a simple meaningful error if more threads are specified than we can support. Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 293c867d8c7399d17e6b593053411a6515171f38 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:05 2013 +0000 cuda: Move ADB bus into CUDA state Replace the global adb_bus with a CUDA-internal one, accessed using regular qdev child bus accessor. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2e4a7c9c5df442d4223e738f7e8f73192b8b2a65 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:04 2013 +0000 adb: QOM'ify ADB devices They were not qdev'ified before. Derive ADBDevice from DeviceState and convert reset callbacks to DeviceClass::reset, ADBDevice::opaque pointer to ADBDevice subtypes for mouse and keyboard and adb_{kbd,mouse}_init() to regular qdev functions. Fixing Coding Style issues and splitting keyboard and mouse off into their own files is left for a later point in time. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 84ede329083b649c54f078276e7e06d48e910b9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:03 2013 +0000 adb: QOM'ify Apple Desktop Bus It was not a qbus before, turn it into a first-class bus and initialize it properly from CUDA. Leave it a global variable as long as devices are not QOM'ified yet. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 45fa67fb68e73b395cd93ec97e45785944d4ee6a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:02 2013 +0000 cuda: QOM'ify CUDA It was not qdev'ified before. Turn it into a SysBusDevice and embed it in MacIO. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:01 2013 +0000 ide/macio: QOM'ify MacIO IDE It was not qdev'ified before. Turn it into a SysBusDevice. Embed them into the MacIO devices. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 95ed3b7cf1677dc9f995a6e1fcc7bf377cf94a0e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:00 2013 +0000 mac_nvram: QOM'ify MacIO NVRAM It was not qdev'ified before. Turn it into a SysBusDevice and initialize it via static properties. Prepare Old World specific MacIO state and embed the NVRAM state there. Drop macio_nvram_setup_bar() in favor of sysbus_mmio_map() or direct use of Memory API. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d8c6d07fdff2523ca78f95c7d8a7fe90ee7ea5a7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:59 2013 +0000 mac_nvram: Mark as Big Endian Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3743cca7d55c700e727e958d4a0b0b5d6c15e2e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:58 2013 +0000 mac_nvram: Clean up public API The state data field is accessed in uint8_t quantities, so switch from uint32_t argument and return value to uint8_t. Fix debug format specifiers while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d037834a9d3847499e8a146bd1893a5c856411be Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:57 2013 +0000 macio: Split MacIO in two Let the machines create two different types. This prepares to move knowledge about sub-devices from the machines into the devices. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b925079e36cf26ca2e1f8db84b771ddc3d6340c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:56 2013 +0000 macio: Delay qdev init until all fields are initialized This turns macio_bar_setup() into an implementation detail of the qdev initfn, to be removed step by step. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fcf1bbabf4de3bc125c4dff18ea1cb76d76f042a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:55 2013 +0000 macio: QOM'ify some more Move bar MemoryRegion initialization to an instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit baec19105bb9824593bf6f37556302da2f67e583 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:54 2013 +0000 ppc: Move Mac machines to hw/ppc/ Signed-off-by: Andreas Färber <afaerber@xxxxxxx> [agraf: squash in MAINTAINERS fix] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 67bec53d9f2ccd3aa7d37a7e0689122587929220 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Jan 24 12:50:28 2013 +0100 ide: Add fall through annotations Add comments to help static analysers detect that these cases are intentional, and clean up some whitespace in the environment of these comments. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> commit 8689907266b649b757c2203d9652cbe928a3ae0b Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Date: Thu Jan 24 10:00:40 2013 -0800 block: Create proper size file for disk mirror The qmp monitor command to mirror a disk was passing -1 for size along with the disk's backing file. This size of the resulting disk is the size of the backing file, which is incorrect if the disk has been resized. Therefore we should always pass in the size of the current disk. Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a26230218d7d66ec5cb1aec101ceaf0e7400ef7f Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Fri Jan 4 14:44:42 2013 -0500 ahci: Add migration support Jason tested these patches by migrating Windows 7 and Fedora 17 guests (while under I/O) on both piix with ahci attached and on q35 (which has a built-in AHCI controller). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4ac557c89b04d506c876a0a378e815d822261c8a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jan 15 16:12:09 2013 +0100 ahci: Change data types in preparation for migration The size of an int depends on the host, so in order to be able to migrate these fields, make them either int32_t or bool, depending on the use. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1147bb15a715a907a91195c2ed601fc926e43d46 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Fri Jan 4 14:44:41 2013 -0500 ahci: Remove unused AHCIDevice fields 'dma_status' and 'dma_cb' are written to, but never read. Remove these fields in preparation for AHCI migration bits. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1b0952445522af73b0e78420a9078b3653923703 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 15:01:12 2013 +0100 hbitmap: add assertion on hbitmap_iter_init hbitmap_iter_init causes an out-of-bounds access when the "first" argument is or greater than or equal to the size of the bitmap. Forbid this with an assertion, and remove the failing testcase. Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 88ff0e48eedd679a9dc1122676d8aa29f8d07571 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 15:01:11 2013 +0100 mirror: do nothing on zero-sized disk On a zero-sized disk we need to break out of the job successfully before bdrv_dirty_iter_init is called, otherwise you will get an assertion failure with the next patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0e87ba2ccbf900cc5a56b95e0671e5a5d2c2f6a0 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:28 2013 +0100 block/vdi: Check for bad signature vdi_open did not check for a bad signature. This check was only in vdi_probe. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8937f8222c14ab42140a5645c34e17cc620c05bb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:27 2013 +0100 block/vdi: Improved return values from vdi_open vdi_open returned -1 in case of any error, but it should return an error code (negative value of errno or -EMEDIUMTYPE). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9f0470bb2d7942c28977296ff2598cdf30886e07 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:26 2013 +0100 block/vdi: Improve debug output for signature The signature is a 32 bit value and needs up to 8 hex digits for printing. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 15bac0d54f78adb5e255155a69e56ab7f6d8c8ea Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:25 2013 +0100 block: Use error code EMEDIUMTYPE for wrong format in some block drivers This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk when a file with the wrong format is selected. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 02582abd48aa3d860015e9a8fcd0d7ec1c34ec62 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:24 2013 +0100 block: Add special error code for wrong format The block drivers need a special error code for "wrong format". From the available error codes EMEDIUMTYPE fits best. It is not available on all platforms, so a definition in qemu-common.h and a specific error report are needed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 884fea4e87fbc6daf4e6df618bb3cadc188dcc6b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:15 2013 +0100 mirror: support arbitrarily-sized iterations Yet another optimization is to extend the mirroring iteration to include more adjacent dirty blocks. This limits the number of I/O operations and makes mirroring efficient even with a small granularity. Most of the infrastructure is already in place; we only need to put a loop around the computation of the origin and sector count of the iteration. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 402a47411bff5e849dc880dd08ba7e6564e6e4f4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:14 2013 +0100 mirror: support more than one in-flight AIO operation With AIO support in place, we can start copying more than one chunk in parallel. This patch introduces the required infrastructure for this: the buffer is split into multiple granularity-sized chunks, and there is a free list to access them. Because of copy-on-write, a single operation may already require multiple chunks to be available on the free list. In addition, two different iterations on the HBitmap may want to copy the same cluster. We avoid this by keeping a bitmap of in-flight I/O operations, and blocking until the previous iteration completes. This should be a pretty rare occurrence, though; as long as there is no overlap the next iteration can start before the previous one finishes. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 08e4ed6cdeeee7912072cf14aa8ab6c60dacb4fb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:13 2013 +0100 mirror: add buf-size argument to drive-mirror This makes sense when the next commit starts using the extra buffer space to perform many I/O operations asynchronously. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bd48bde8f0fa08dfc8edcafc2bc8aa6d43734463 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:12 2013 +0100 mirror: switch mirror_iteration to AIO There is really no change in the behavior of the job here, since there is still a maximum of one in-flight I/O operation between the source and the target. However, this patch already introduces the AIO callbacks (which are unmodified in the next patch) and some of the logic to count in-flight operations and only complete the job when there is none. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit eee13dfe302833944d1176677d12a6ea421a94ea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:46 2013 +0100 mirror: allow customizing the granularity The desired granularity may be very different depending on the kind of operation (e.g. continuous replication vs. collapse-to-raw) and whether the VM is expected to perform lots of I/O while mirroring is in progress. Allow the user to customize it, while providing a sane default so that in general there will be no extra allocated space in the target compared to the source. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 50717e941b9f306a45292621999eeafbaa954418 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:45 2013 +0100 block: allow customizing the granularity of the dirty bitmap Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acc906c6c5d5745fe7a3a2ed1bb5f0b1d6d1f21b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:44 2013 +0100 block: return count of dirty sectors, not chunks Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b812f6719c21921a819709098dc018ed151c999b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:43 2013 +0100 mirror: perform COW if the cluster size is bigger than the granularity When mirroring runs, the backing files for the target may not yet be ready. However, this means that a copy-on-write operation on the target would fill the missing sectors with zeros. Copy-on-write only happens if the granularity of the dirty bitmap is smaller than the cluster size (and only for clusters that are allocated in the source after the job has started copying). So far, the granularity was fixed to 1MB; to avoid the problem we detected the situation and required the backing files to be available in that case only. However, we want to lower the granularity for efficiency, so we need a better solution. The solution is to always copy a whole cluster the first time it is touched. The code keeps a bitmap of clusters that have already been allocated by the mirroring job, and only does "manual" copy-on-write if the chunk being copied is zero in the bitmap. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 343bded4ecfc467012e2ab675da75749f1d90f70 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:42 2013 +0100 block: make round_to_clusters public This is needed in the following patch. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8f0720ecbc3677e13fc7531588fc3831cc972ee4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:41 2013 +0100 block: implement dirty bitmap using HBitmap This actually uses the dirty bitmap in the block layer, and converts mirroring to use an HBitmapIter. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> (except block/mirror.c parts) Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4c37ef022381e777251d7084591978a4dc622efe Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:39 2013 +0100 host-utils: add ffsl We can provide fast versions based on the other functions defined by host-utils.h. Some care is required on glibc, which provides ffsl already. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e7c033c3fa22a1e42d9ba57fed6ddecfbce3a01c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:40 2013 +0100 add hierarchical bitmap data type and test cases HBitmaps provides an array of bits. The bits are stored as usual in an array of unsigned longs, but HBitmap is also optimized to provide fast iteration over set bits; going from one bit to the next is O(logB n) worst case, with B = sizeof(long) * CHAR_BIT: the result is low enough that the number of levels is in fact fixed. In order to do this, it stacks multiple bitmaps with progressively coarser granularity; in all levels except the last, bit N is set iff the N-th unsigned long is nonzero in the immediately next level. When iteration completes on the last level it can examine the 2nd-last level to quickly skip entire words, and even do so recursively to skip blocks of 64 words or powers thereof (32 on 32-bit machines). Given an index in the bitmap, it can be split in group of bits like this (for the 64-bit case): bits 0-57 => word in the last bitmap | bits 58-63 => bit in the word bits 0-51 => word in the 2nd-last bitmap | bits 52-57 => bit in the word bits 0-45 => word in the 3rd-last bitmap | bits 46-51 => bit in the word So it is easy to move up simply by shifting the index right by log2(BITS_PER_LONG) bits. To move down, you shift the index left similarly, and add the word index within the group. Iteration uses ffs (find first set bit) to find the next word to examine; this operation can be done in constant time in most current architectures. Setting or clearing a range of m bits on all levels, the work to perform is O(m + m/W + m/W^2 + ...), which is O(m) like on a regular bitmap. When iterating on a bitmap, each bit (on any level) is only visited once. Hence, The total cost of visiting a bitmap with m bits in it is the number of bits that are set in all bitmaps. Unless the bitmap is extremely sparse, this is also O(m + m/W + m/W^2 + ...), so the amortized cost of advancing from one bit to the next is usually constant. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 49b6d7220bce42e6c06e0dbb61969a997868491f Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 25 00:03:21 2013 +0800 QAPI: Introduce memchar-read QMP command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 1f590cf9455c571799d1bfc0777255fa0796d4da Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 25 00:03:20 2013 +0800 QAPI: Introduce memchar-write QMP command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 51767e7cf2c3abc07d30009ab3d6262bdfd89b8b Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 25 00:03:19 2013 +0800 qemu-char: Add new char backend CirMemCharDriver Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 045a70857ac07de791ddbf313323c4e4f91e056e Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Dec 4 12:04:39 2012 -0200 docs: document virtio-balloon stats Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 7e6ccd9c159450e79f42d08112ebe263b0466644 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Sat Dec 1 00:14:57 2012 -0200 balloon: re-enable balloon stats The statistics are now available through device properties via a polling mechanism. First a client has to enable polling, then it can query available stats. Polling is enabled by setting an update interval (in seconds) to a property named guest-stats-polling-interval, like this: { "execute": "qom-set", "arguments": { "path": "/machine/peripheral-anon/device[1]", "property": "guest-stats-polling-interval", "value": 4 } } Then the available stats can be retrieved by querying the guest-stats property. The returned object is a dict containing all available stats. Example: { "execute": "qom-get", "arguments": { "path": "/machine/peripheral-anon/device[1]", "property": "guest-stats" } } { "return": { "stats": { "stat-swap-out": 0, "stat-free-memory": 844943360, "stat-minor-faults": 219028, "stat-major-faults": 235, "stat-total-memory": 1044406272, "stat-swap-in": 0 }, "last-update": 1358529861 } } Please, check the next commit for full documentation. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 01ceb97e7b8b00a1d4779543fe4b958df7e16890 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Dec 3 15:56:41 2012 -0200 balloon: drop old stats code & API Next commit will re-enable balloon stats with a different interface, but this old code conflicts with it. Let's drop it. It's important to note that the QMP and HMP interfaces are also dropped by this commit. That shouldn't be a problem though, because: 1. All QMP fields are optional 2. This feature has always been disabled Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 58513bde833804bc9395d79fd81aae631b97c348 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Fri Jan 18 12:45:35 2013 -0500 block: Monitor command commit neglects to report some errors The non-live bdrv_commit() function may return one of the following errors: -ENOTSUP, -EBUSY, -EACCES, -EIO. The only error that is checked in the HMP handler is -EBUSY, so the monitor command 'commit' silently fails for all error cases other than 'Device is in use'. Report error using monitor_printf() and strerror(), and convert existing qerror_report() calls in do_commit() to monitor_printf(). Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 11c29918be32be5b00f367c7da9724a5cddbbb0f Merge: b37a2e4... 7371d56... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 24 12:56:02 2013 -0600 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (1) and Peter Lieven (1) # Via Paolo Bonzini * bonzini/scsi-next: iscsi: add support for iovectors iscsi: do not leak acb->buf when commands are aborted commit b37a2e4576530597dda880387e3f4da52c42b5b5 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Sep 19 12:08:31 2012 +0400 Revert "serial: fix retry logic" This reverts commit 67c5322d7000fd105a926eec44bc1765b7d70bdd: I'm not sure if the retry logic has ever worked when not using FIFO mode. I found this while writing a test case although code inspection confirms it is definitely broken. The TSR retry logic will never actually happen because it is guarded by an 'if (s->tsr_rety > 0)' but this is the only place that can ever make the variable greater than zero. That effectively makes the retry logic an 'if (0) I believe this is a typo and the intention was >= 0. Once this is fixed thoug I see double transmits with my test case. This is because in the non FIFO case, serial_xmit may get invoked while LSR.THRE is still high because the character was processed but the retransmit timer was still active. We can handle this by simply checking for LSR.THRE and returning early. It's possible that the FIFO paths also need some attention. Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Even if the previous logic was never worked, new logic breaks stuff - namely, qemu -enable-kvm -nographic -kernel /boot/vmlinuz-$(uname -r) -append console=ttyS0 -serial pty the above command will cause the virtual machine to stuck at startup using 100% CPU till one connects to the pty and sends any char to it. Note this is rather typical invocation for various headless virtual machines by libvirt. So revert this change for now, till a better solution will be found. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7371d56fb2759f52106c76692440d0c29731ef9c Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Dec 3 20:35:15 2012 +0100 iscsi: add support for iovectors This patch adds support for directly passing the iovec array from QEMUIOVector if libiscsi supports it (1.8.0 or newer). Signed-off-by: Peter Lieven <pl@xxxxxxx> [Preserve the improvements from commit 4cc841b, iscsi: partly avoid iovec linearization in iscsi_aio_writev, 2012-11-19 - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4790b03d308f6c7dea7dc6941ddab9867c9530b8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 17:34:29 2013 +0100 iscsi: do not leak acb->buf when commands are aborted acb->buf is freed in the WRITE(16) callback, but this may not get called at all when commands are aborted. Add another free in the ABORT TASK callback, which requires setting acb->buf to NULL everywhere. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3f668b6c5dc9747d0367837532c3b2ce0520cc17 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 24 10:51:47 2013 +0100 target-cris: Fix typo in D_LOG() macro It's __VA_ARGS__. Fixes the build with CRIS_[OP_]HELPER_DEBUG defined. Broken since r6338 / 93fcfe39a0383377e647b821c9f165fd927cd4e0 (Convert references to logfile/loglevel to use qemu_log*() macros). Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9fc7577af56153a4f75709ce526d64bf6845d002 Author: Grant Likely <grant.likely@xxxxxxxxxxxx> Date: Wed Jan 23 16:15:25 2013 +0000 trivial: etraxfs_eth: Eliminate checkpatch errors This is a trivial patch to harmonize the coding style on hw/etraxfs_eth.c. This is in preparation to split off the bitbang mdio code into a separate file. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx> Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 177f7fc6884c47666f6c6eeca376a92432ccda38 Merge: 36ba580... 0bf8264... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 23 09:08:54 2013 -0600 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Peter Lieven (3) and others # Via Paolo Bonzini * bonzini/scsi-next: scsi: Drop useless null test in scsi_unit_attention() lsi: use qbus_reset_all to reset SCSI bus scsi: fix segfault with 0-byte disk iscsi: add support for iSCSI NOPs [v2] iscsi: partly avoid iovec linearization in iscsi_aio_writev iscsi: add iscsi_create support commit 36ba58044e70a82b93e84b1f31076df847f23109 Merge: a29a6b7... 3470733... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 23 09:08:33 2013 -0600 Merge remote-tracking branch 'kraxel/usb.77' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.77: usb: add usb-bot device (scsi bulk-only transport). ohci: add missing break Revert "usb-storage: Drop useless null test in usb_msd_handle_data()" commit a29a6b73c4f17db6f82fd8d2094e824c04b29fee Merge: 1356b98... 038c187... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 23 09:07:29 2013 -0600 Merge remote-tracking branch 'spice/spice.v68' into staging # By Alon Levy # Via Gerd Hoffmann * spice/spice.v68: qxl: change rom size to 8192 qxl: stop using non revision 4 rom fields for revision < 4 commit 0bf8264e2d2bd19c1eecf9bde0e59284ef47eabb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 17 13:07:47 2013 +0100 scsi: Drop useless null test in scsi_unit_attention() req was created by scsi_req_alloc(), which initializes req->dev to a value it dereferences. req->dev isn't changed anywhere else. Therefore, req->dev can't be null. Drop the useless null test; it spooks Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> commit 032f0101aa6e009efda3a419379837ebceaeade1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 11:23:25 2012 +0100 lsi: use qbus_reset_all to reset SCSI bus Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0369f06f7464e7fb023f103aff889d28e99c43c4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:08:05 2013 +0100 scsi: fix segfault with 0-byte disk When a 0-sized disk is found, READ CAPACITY will return a LUN NOT READY error. However, because it returns -1 instead of zero, the HBA will call scsi_req_continue. This will typically cause a segmentation fault or an assertion failure. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5b5d34ec9882b29b757f6808693308e52a8e8ba7 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Dec 6 10:46:47 2012 +0100 iscsi: add support for iSCSI NOPs [v2] This patch will send NOP-Out PDUs every 5 seconds to the iSCSI target. If a consecutive number of NOP-In replies fail a reconnect is initiated. iSCSI NOPs help to ensure that the connection to the target is still operational. This should not, but in reality may be the case even if the TCP connection is still alive if there are bugs in either the target or the initiator implementation. v2: - track the NOPs inside libiscsi so libiscsi can reset the counter in case it initiates a reconnect. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4cc841b57c1dc91d71bafc25b53ffab4eff7959b Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Nov 19 15:58:31 2012 +0100 iscsi: partly avoid iovec linearization in iscsi_aio_writev libiscsi expects all write16 data in a linear buffer. If the iovec only contains one buffer we can skip the linearization step as well as the additional malloc/free and pass the buffer directly. Reported-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit de8864e5ae645fc22aa4ecf1999705c2dd5cf93c Author: Peter Lieven <pl@xxxxxxxxx> Date: Sat Nov 17 16:13:24 2012 +0100 iscsi: add iscsi_create support This patch adds support for bdrv_create. This allows e.g. to use qemu-img to convert from any supported device to an iscsi backed storage as destination. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 347073336d393a819928de0d4fd56563134c0e1a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 14 15:29:44 2013 +0100 usb: add usb-bot device (scsi bulk-only transport). Basically the same as usb-storage, but without automatic scsi device setup. Also features support for up to 16 LUNs. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7fa96d73893728752ec7b832a62a48c434748497 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 21 14:53:01 2013 +0100 ohci: add missing break Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 038c1879a00153b14bce113315b693e8c2944fa9 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Jan 21 14:48:07 2013 +0200 qxl: change rom size to 8192 This is a simpler solution to 869981, where migration breaks since qxl's rom bar size has changed. Instead of ignoring fields in QXLRom, which is what has actually changed, we remove some of the modes, a mechanism already accounted for by the guest. The modes left allow for portrait and landscape only modes, corresponding to orientations 0 and 1. Orientations 2 and 3 are dropped. Added assert so that rom size will fit the future QXLRom increases via spice-protocol changes. This patch has been tested with 6.1.0.10015. With the newer 6.1.0.10016 there are problems with both "(flipped)" modes prior to the patch, and the patch loses the ability to set "Portrait" modes. But this is a separate bug to be fixed in the driver, and besides the patch doesn't affect the new arbitrary mode setting functionality. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f4c0e5011b96d67b87db407854ee948da708a0d9 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 21 11:18:47 2013 +0100 Revert "usb-storage: Drop useless null test in usb_msd_handle_data()" This reverts commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2. Test isn't useless. scsi_req_enqueue() may finish the request (will actually happen for requests which don't trigger any I/O such as INQUIRY), then call usb_msd_command_complete() which in turn will set s->req to NULL after unref'ing it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e0ac6097b6cc24694e83ae61e80040177bb5a584 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Jan 21 14:48:06 2013 +0200 qxl: stop using non revision 4 rom fields for revision < 4 Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f9e90c798dc84be2b0b988517e86b49faf79d5dc Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Thu Jan 10 23:02:48 2013 -0200 vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery' Bit 9 of MSR_IA32_VMX_PROCBASED_CTLS2 is virtual interrupt delivery. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 1356b98d3e95a85071e6bf9a99e8799e1ae1bbee Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 02:47:33 2013 +0100 sysbus: Drop sysbus_from_qdev() cast macro Replace by SYS_BUS_DEVICE() QOM cast macro using a scripted conversion. Avoids the old macro creeping into new code. Resolve a Coding Style warning in openpic code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fd8e79af031d8cfc0eb02d40d03281917fcb27b Author: Tim Hardeck <thardeck@xxxxxxx> Date: Mon Jan 21 11:04:45 2013 +0100 vnc: fix possible uninitialized removals Some VncState values are not initialized before the Websocket handshake. If it fails QEMU segfaults during the cleanup. To prevent this behavior intialization checks are added. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7536ee4bc3da7e9b7fdadba5ba6ade63eaace430 Author: Tim Hardeck <thardeck@xxxxxxx> Date: Mon Jan 21 11:04:44 2013 +0100 vnc: added initial websocket protocol support This patch adds basic Websocket Protocol version 13 - RFC 6455 - support to QEMU VNC. Binary encoding support on the client side is mandatory. Because of the GnuTLS requirement the Websockets implementation is optional (--enable-vnc-ws). To activate Websocket support the VNC option "websocket"is used, for example "-vnc :0,websocket". The listen port for Websocket connections is (5700 + display) so if QEMU VNC is started with :0 the Websocket port would be 5700. As an alternative the Websocket port could be manually specified by using ",websocket=<port>" instead. Parts of the implementation base on Anthony Liguori's QEMU Websocket patch from 2010 and on Joel Martin's LibVNC Websocket implementation. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 32ed26808d4e59efb4a03290a4a85f5f8335f268 Author: Tim Hardeck <thardeck@xxxxxxx> Date: Mon Jan 21 11:04:43 2013 +0100 vnc: added buffer_advance function Following Anthony Liguori's Websocket implementation I have added the buffer_advance function to VNC and replaced all related buffer memmove operations with it. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 11e9235b1a88a98124fe005c93ade019d6a09c0b Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:06 2013 +0100 virtio-s390-device: create a virtio-s390-bus during init. A virtio-s390-bus is created during the init. So one VirtIODevice can be connected on the virtio-s390-device through this bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ea35d4f1e9781a4b489d550e4bbc4568704f34bf Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:05 2013 +0100 virtio-s390-bus: add virtio-s390-bus. This add the virtio-s390-bus which extends virtio-bus. So one VirtIODevice can be connected on this bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 085bccb72c280f36f651556ef5169f5faca31d87 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:04 2013 +0100 virtio-pci: refactor virtio-pci device. Create the virtio-pci device which is abstract. This transport device will create a virtio-pci-bus, so one VirtIODevice can be connected. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0a2acf5eb3237350e84693b9b37eced5080a1fef Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:03 2013 +0100 virtio-pci-bus: introduce virtio-pci-bus. Introduce virtio-pci-bus, which extends virtio-bus. It is used with virtio-pci transport device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e05db9234050cb3f0ffb765608dd8b176334ae1 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:02 2013 +0100 virtio-device: refactor virtio-device. Create the virtio-device which is abstract. All the virtio-device can extend this class. It also add some functions to virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ff8eca5536edd3f84bc87277e158e4db11dadf82 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:01 2013 +0100 virtio-bus: introduce virtio-bus Introduce virtio-bus. Refactored transport device will create a bus which extends virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1395af6f76e9f0e145a235a71e3578385d82ece5 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:00 2013 +0100 qdev: add a maximum device allowed field for the bus. Add a max_dev field to BusClass to specify the maximum amount of devices allowed on the bus (has no effect if max_dev=0) Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 016c7182315b1f842ac351fae86041d2c8fe4596 Merge: e0f0183... 6522773... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 21 13:22:43 2013 -0600 Merge remote-tracking branch 'quintela/thread.next' into staging # By Juan Quintela (7) and Paolo Bonzini (6) # Via Juan Quintela * quintela/thread.next: migration: remove argument to qemu_savevm_state_cancel migration: Only go to the iterate stage if there is anything to send migration: unfold rest of migrate_fd_put_ready() into thread migration: move exit condition to migration thread migration: Add buffered_flush error handling migration: move beginning stage to the migration thread qemu-file: Only set last_error if it is not already set migration: fix off-by-one in buffered_rate_limit migration: remove double call to migrate_fd_close migration: make function static use XFER_LIMIT_RATIO consistently Protect migration_bitmap_sync() with the ramlist lock Unlock ramlist lock also in error case commit e0f01837e104517c7c511c79bb93c8792b7263e5 Merge: f2bdbd5... 09a021f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 21 07:32:22 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Stefan Weil (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: hw/tpci200: Fix compiler warning (redefined symbol with MinGW) configure: silence pkg-config's check for curses acpitable: open the data file in binary mode hw: Spelling fix in log message commit f2bdbd5bb4b7869ea48845d5a92979290df6f195 Merge: 56a8810... 3588185... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 21 07:32:14 2013 -0600 Merge remote-tracking branch 'kraxel/seabios-1.7.2' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2: seabios: update to 1.7.2 release commit 56a8810dd6686a999e47afa5c1870c66485ef1c6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 03:26:12 2013 +0100 target-microblaze: Drop unused cpu_mb_close() prototype Such a function never existed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a42a56c5deeedebe650469640ebe77d80e1eefb5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 03:20:58 2013 +0100 target-cris: Drop unused cpu_cris_close() prototype Such a function never existed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 09a021fb7ceb7255ab106999d7b38ffd92c3bdd6 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jan 21 07:49:51 2013 +0100 hw/tpci200: Fix compiler warning (redefined symbol with MinGW) STATUS_TIMEOUT is defined in winnt.h: CC hw/tpci200.o hw/tpci200.c:34:0: warning: "STATUS_TIMEOUT" redefined [enabled by default] /usr/lib/gcc/x86_64-w64-mingw32/4.6/../../../../x86_64-w64-mingw32/include/winnt.h:1036:0: note: this is the location of the previous definition Use STATUS_TIME instead of STATUS_TIMEOUT as suggested by Alberto Garcia. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit acf15c8949f125a4d4f958a5134f8eeece1f99f5 Author: Vadim Evard <v.e.evard@xxxxxxxxx> Date: Fri Jan 18 17:48:04 2013 +0400 configure: silence pkg-config's check for curses Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5facfb4934221cac2c267e529d7ebab165103bc9 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jan 17 14:53:52 2013 +0400 acpitable: open the data file in binary mode -acpitable {file|data}=file reads the content of file, but it is in binary form, so the file should be opened usin O_BINARY flag. On *nix it is a no-op, but on windows and other weird platform it is really needed. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d0f54533eb484028f54d3f9810d504cb63f323ee Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:40:29 2013 +0100 hw: Spelling fix in log message defineition -> definition Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3588185b8396eb97fd9efd41c2b97775465f67c4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 21 09:17:16 2013 +0100 seabios: update to 1.7.2 release Not that many changes as we have a pretty recent git snapshot in master already: Hannes Reinecke (1): megasas: Invert PCI device selection Kevin O'Connor (2): Minor: Separate UUID display from F12 boot prompt. boot: Support "halt" in the boot order to prevent default boot attempts. Laszlo Ersek (1): display_uuid(): fix incomplete check after the loop Paolo Bonzini (1): vgabios: implement AX=1120H..1124H functions commit 8b17ed4caa7e015324a4ecbe3c863e32458d840a Merge: b54c287... cf13938... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Jan 20 11:01:10 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (4) and others # Via Stefan Hajnoczi * stefanha/block: dataplane: support viostor virtio-pci status bit setting dataplane: avoid reentrancy during virtio_blk_data_plane_stop() win32-aio: use iov utility functions instead of open-coding them win32-aio: Fix memory leak win32-aio: Fix vectored reads aio: Fix return value of aio_poll() ide: Remove wrong assertion block: fix null-pointer bug on error case in block commit commit b54c2873e731dd6fc81a4591cab909633b5a9eab Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jan 19 20:23:51 2013 +0100 tci: Fix broken build (regression) s390x-linux-user now also uses GETPC. Instead of adding it to the list of targets which use GETPC, the macro is now defined unconditionally. This avoids future build regressions like this one: CC s390x-linux-user/target-s390x/int_helper.o cc1: warnings being treated as errors qemu/target-s390x/int_helper.c: In function â??helper_divs32â??: qemu/target-s390x/int_helper.c:47: error: implicit declaration of function â??GETPCâ?? qemu/target-s390x/int_helper.c:47: error: nested extern declaration of â??GETPCâ?? Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c36dd8a09fd8811ebcda453d80dc5f52402d691c Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Fri Jan 18 16:43:35 2013 +0100 block/raw-posix: Make hdev_aio_discard() available outside Linux Fixes the build on OpenBSD among others. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c1db29199e3caf5cd56daad08b8926ffa97da136 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jan 18 23:48:10 2013 +0100 usb: Fix compilation for MinGW (regression) 84f2d0ea added an argument to function usb_host_info. The stub function must match the declaration in usb.h. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 249fe3f3e99c2a57c7f2569edb4031e63e595c9e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 19:30:13 2013 +0100 cpu-defs.h: Drop qemu_work_item prototype Commit c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e (cpu: Move queued_work_{first,last} to CPUState) moved the qemu_work_item fields away. Clean up the now unused prototype. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5256a7208a7c2af19baf8f99bd4f06632f9f9ba9 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 17 20:04:16 2013 +0000 tcg/target-arm: Add missing parens to assertions Silence a (legitimate) complaint about missing parentheses: tcg/arm/tcg-target.c: In function â??tcg_out_qemu_ldâ??: tcg/arm/tcg-target.c:1148:5: error: suggest parentheses around comparison in operand of â??&â?? [-Werror=parentheses] tcg/arm/tcg-target.c: In function â??tcg_out_qemu_stâ??: tcg/arm/tcg-target.c:1357:5: error: suggest parentheses around comparison in operand of â??&â?? [-Werror=parentheses] which meant that we would mistakenly always assert if running a QEMU built with debug enabled on ARM. Signed-off-by: Peter Maydell <peter.maydelL@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e4ada482420175bc17d6ccb9f2af0e769da78e01 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:37:23 2013 +0100 Replace non-portable asprintf by g_strdup_printf g_strdup_printf already handles OOM errors, so some error handling in QEMU code can be removed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0e7a75929353b04bd2fce1be8640226883b42a10 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:29 2013 +0100 vl: Use size_t for sizes in get_boot_devices_list() Code mixes uint32_t, int and size_t. Very unlikely to go wrong in practice, but clean it up anyway. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 089da572b956ef0f8f5b8d5917358e07892a77c2 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:28 2013 +0100 fw_cfg: Use void *, size_t instead of uint8_t *, uint32_t for blobs Many callers pass size_t, which gets silently truncated to uint32_t. Harmless, because all practical sizes are well below 4GiB. Clean it up anyway. Size overflow now fails assertions. Bonus: saves a whole bunch of silly casts. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b3dd15529de22cd4bcedb6344105e87878d971b6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:27 2013 +0100 pc: Clean up bochs_bios_init()'s (non-)use of sizeof Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0e0d2d6295076815ded8d0868b7b806380df5dda Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:26 2013 +0100 sun4: Fix unchecked strdup() by switching to fw_cfg_add_string() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 96f8058629d99ab689ff233c6133d6cf7f034679 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:25 2013 +0100 pc: Fix unchecked strdup() by switching to fw_cfg_add_string() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 44687f75434ea938e9d29fdc3696ff4bdc0978fa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:24 2013 +0100 fw_cfg: New fw_cfg_add_string() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4cad3867b6df2c0826ae508a9fe15dd0b9d8936a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:23 2013 +0100 fw_cfg: Dumb down fw_cfg_add_*() not to return success / failure No caller is checking the value, so all errors get ignored, usually silently. assert() instead. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f6e3534327e94c1c222cbbe8011d47b73c102686 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:22 2013 +0100 fw_cfg: Replace debug prints by tracepoints Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 633f6502544e3dd6a615679ce440875be7ebbc58 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:42:53 2013 -0800 optimize: optimize using nonzero bits This adds two optimizations using the non-zero bit mask. In some cases involving shifts or ANDs the value can become zero, and can thus be optimized to a move of zero. Second, useless zero-extension or an AND with constant can be detected that would only zero bits that are already zero. The main advantage of this optimization is that it turns zero-extensions into moves, thus enabling much better copy propagation (around 1% code reduction). Here is for example a "test $0xff0000,%ecx + je" before optimization: mov_i64 tmp0,rcx movi_i64 tmp1,$0xff0000 discard cc_src and_i64 cc_dst,tmp0,tmp1 movi_i32 cc_op,$0x1c ext32u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,eq,$0x0 and after (without patch on the left, with on the right): movi_i64 tmp1,$0xff0000 movi_i64 tmp1,$0xff0000 discard cc_src discard cc_src and_i64 cc_dst,rcx,tmp1 and_i64 cc_dst,rcx,tmp1 movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c ext32u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0 Other similar cases: "test %eax, %eax + jne" where eax is already 32-bit (after optimization, without patch on the left, with on the right): discard cc_src discard cc_src mov_i64 cc_dst,rax mov_i64 cc_dst,rax movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c ext32u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,ne,$0x0 brcond_i64 rax,tmp12,ne,$0x0 "test $0x1, %dl + je": movi_i64 tmp1,$0x1 movi_i64 tmp1,$0x1 discard cc_src discard cc_src and_i64 cc_dst,rdx,tmp1 and_i64 cc_dst,rdx,tmp1 movi_i32 cc_op,$0x1a movi_i32 cc_op,$0x1a ext8u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0 In some cases TCG even outsmarts GCC. :) Here the input code has "and $0x2,%eax + movslq %eax,%rbx + test %rbx, %rbx" and the optimizer, thanks to copy propagation, does the following: movi_i64 tmp12,$0x2 movi_i64 tmp12,$0x2 and_i64 rax,rax,tmp12 and_i64 rax,rax,tmp12 mov_i64 cc_dst,rax mov_i64 cc_dst,rax ext32s_i64 tmp0,rax -> nop mov_i64 rbx,tmp0 -> mov_i64 rbx,cc_dst and_i64 cc_dst,rbx,rbx -> nop Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3a9d8b179b1e43237365ede641d5aa6779ba91bc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:42:52 2013 -0800 optimize: track nonzero bits of registers Add a "mask" field to the tcg_temp_info struct. A bit that is zero in "mask" will always be zero in the corresponding temporary. Zero bits in the mask can be produced from moves of immediates, zero-extensions, ANDs with constants, shifts; they can then be be propagated by logical operations, shifts, sign-extensions, negations, deposit operations, and conditional moves. Other operations will just reset the mask to all-ones, i.e. unknown. [rth: s/target_ulong/tcg_target_ulong/] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d193a14a2c94c9c4877ab100c31ec174dc78644c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:42:51 2013 -0800 optimize: only write to state when clearing optimizer data The next patch will add to the TCG optimizer a field that should be non-zero in the default case. Thus, replace the memset of the temps array with a loop. Only the state field has to be up-to-date, because others are not used except if the state is TCG_TEMP_COPY or TCG_TEMP_CONST. [rth: Extracted the loop to a function.] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 75f0585f1718c575716021d11bfeb695129f785d Merge: 67c4f2d... 5b95b8b... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:56:41 2013 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: PPC: KVM: Add support for EPR with KVM openpic: export e500 epr enable into a ppc.c function Update Linux kernel headers PPC: e500: Change in-memory order of load blobs PPC: Provide zero SVR for -cpu e500mc and e5500 PPC: E500: Calculate loading blob offsets properly openpic: set mixed mode as supported openpic: unify gcr mode mask updates openpic: move gcr write into a function commit 67c4f2d0e11de8ee534b17edafbcbcdcca4b0e9b Merge: 48b8599... 28e942f... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:55:46 2013 +0000 Merge branch 's390-for-upstream' of git://repo.or.cz/qemu/agraf * 's390-for-upstream' of git://repo.or.cz/qemu/agraf: s390: Add a hypercall registration interface. target-s390x: Unregister reset callback on finalization s390x: fix indentation s390: Add CPU reset handler s390x: Remove inline function ebcdic_put and related data from cpu.h S390: Enable -cpu help and QMP query-cpu-definitions s390: Move IPL code into a separate device s390: new contributions GPLv2 or later commit 48b8599c991715eeae74f0cb650fc4284cb69227 Merge: ddc01bf... 9468a5d... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:54:31 2013 +0000 Merge branch 'axp-next' of git://github.com/rth7680/qemu * 'axp-next' of git://github.com/rth7680/qemu: alpha-linux-user: Correct select alpha-linux-user: Translate fcntl l_type commit 28e942f86d46ccd46bf1f4836389abb3ff706dff Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 17 04:23:46 2013 +0000 s390: Add a hypercall registration interface. Allow virtio machines to register for different diag500 function codes and convert s390-virtio to use it. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d5627ce8a4fd8dd6d7afd3d4d1ff7e9f1fb86d45 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 7 06:14:16 2013 +0000 target-s390x: Unregister reset callback on finalization Since commit "s390: Add CPU reset handler" the CPU's instance_init registers a reset callback. Unregister that on instance_finalize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 419831d7104e6876f47f5eccb758855115086bbd Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 16:44:27 2013 +0100 s390x: fix indentation In one of the last commits we accidently got 3-space indentation into the tree. Fix it up so it's 4 spaces wide. Reported-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 70bada03047f723424c4d08d93719c1a83a43cd2 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 7 05:27:14 2013 +0000 s390: Add CPU reset handler Add a CPU reset handler to have all CPUs in a PoP compliant state. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [agraf: move hw/hw.h into existing ifdef] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a158986d85bf75aa078ce3fb53e60a7fa3c6c6ee Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 08:24:55 2013 +0000 s390x: Remove inline function ebcdic_put and related data from cpu.h The function is only used in misc_helper.c, so move it to that file. This reduces the size of debug executables (compiled without optimization) because they get unused code and data for each compilation which includes cpu.h. Executables with optimization don't change their size. ebcdic2ascii is currently unused and could be removed (not done here). The array ascii2ebcdic must be accessed with an unsigned index, therefore (int)ascii[i] was replaced by (uint8_t)ascii[i]. The old code would have failed for a signed char less than 0. The current code only converts "QEMU" and spaces to EBCDIC, so there is no problem today. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 904e5fd5c25537fdf910bfd5db832df5d9c23ad6 Author: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 18 07:50:59 2012 +0000 S390: Enable -cpu help and QMP query-cpu-definitions This enables qemu -cpu help to return a list of supported CPU models on s390 and also to query for cpu definitions in the monitor. Initially only cpu model = host is returned. This needs to be reworked into a full-fledged CPU model handling later on. This change is needed to allow libvirt exploiters (like OpenStack) to specify a CPU model. Signed-off-by: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [agraf: fix s390x-linux-user, adjust header locations] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e674a49aae8b79bc4ea07f1bcd666bbf28b12a27 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Dec 18 07:50:57 2012 +0000 s390: Move IPL code into a separate device Lets move the code to setup IPL for external kernel or via the zipl rom into a separate file. This allows to - define a reboot handler, setting up the PSW appropriately - enhance the boot code to IPL disks that contain a bootmap that was created with zipl under LPAR or z/VM (future patch) - reuse that code for several machines (e.g. virtio-ccw and virtio-s390) - allow different machines to provide different defaults Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [agraf: symbolify initial psw, adjust header file location, fix for QOM] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ccb084d3f0ec405afc6c878ace40f1ccf1e44027 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Nov 12 01:44:10 2012 +0000 s390: new contributions GPLv2 or later IBMs s390 contributions were meant to to be gplv2 or later (since we were contributing to qemu). Several of the s390 specific files link to gpl code anyway, so lets clarify the licence statement for new contributions for those files that we have touched multiple times or will likely touch again. This patch does not touch files that mostly deal with tcg. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5b95b8b9c1b0cd30a31dbeffdaec35134248b6e9 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 17 11:54:38 2013 +0100 PPC: KVM: Add support for EPR with KVM This patch links KVM EPR support to the existing TCG support we have now. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e49798b1bd7657722080126bfd5e787efdb3bc23 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 17 11:32:21 2013 +0100 openpic: export e500 epr enable into a ppc.c function Enabling and disabling the EPR capability (mpic_proxy) is a system wide operation. As such, it belongs into the ppc.c file, since that's where PPC specific machine wide logic happens. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d3dccee187ffeacec1a38ed288c112ffa0e3b513 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 18 00:06:26 2013 +0100 Update Linux kernel headers Based on kvm.git a843fac (next) plus dfdebc24 (master). Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b8dec1443ef6c52e72594c5a861a5d2fd7f05d80 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 17 11:19:28 2013 +0100 PPC: e500: Change in-memory order of load blobs Today, we load <kernel> <initrd> <dtb> into memory in that order. However, Linux has a bug where it can only handle the dtb if it's within the first 64MB of where <kernel> starts. So instead, let's change the order to <kernel> <dtb> <initrd> making Linux happy. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 746a870b3c44a6c5734691fec013c78520d55f15 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Jan 16 01:43:43 2013 +0100 PPC: Provide zero SVR for -cpu e500mc and e5500 Even though our -cpu types for e500mc and e5500 are no real CPUs that actually have version registers, a guest might still want to access said version register and that has to succeed for a guest to be happy. So let's expose a zero SVR value on E500_SVR SPR reads. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 528e536ea2fd3bfe8412e39a5623e80b254f3ae0 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 14 20:24:16 2013 +0100 PPC: E500: Calculate loading blob offsets properly We have 3 blobs we need to load when booting the system: - kernel - initrd - dtb We place them in physical memory in that order. At least we should. This patch fixes the location calculation up to take any module into account, fixing the dtb offset along the way. Reported-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 86e56a885aa5051c87906dfcd060c59f0af22309 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 20:17:24 2013 +0100 openpic: set mixed mode as supported The Raven MPIC implementation supports the "Mixed" mode to work with an i8259. While we don't implement mixed mode, we should mark it as a supported mode in the mode bitmap. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1ac3d71302d9d49427dd068af7eccdd4de128522 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 20:15:28 2013 +0100 openpic: unify gcr mode mask updates The mode mask already masks out bits we don't care about, so the actual handling code can stay intact regardless. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7f11573b9fe6c03a9ad4cd1bbaa761e564d44fce Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 20:13:52 2013 +0100 openpic: move gcr write into a function The GCR register contains too much functionality to be covered inside of the register switch statement. Move it out into a separate function. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cf139388ad5b39228793f34eea99e0ea9a2924aa Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Jan 17 16:46:54 2013 +0100 dataplane: support viostor virtio-pci status bit setting The viostor virtio-blk driver for Windows does not use the VIRTIO_CONFIG_S_DRIVER bit. It only sets the VIRTIO_CONFIG_S_DRIVER_OK bit. The viostor driver refreshes the virtio-pci status byte sometimes while the guest is running. We misinterpret 0x4 (VIRTIO_CONFIG_S_DRIVER_OK) as an indication that virtio-blk-data-plane should be stopped since 0x2 (VIRTIO_CONFIG_S_DRIVER) is missing. The result is that the device becomes unresponsive. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cd7fdfe59f4f965665dcd9868fe3764f5256d6aa Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jan 15 17:19:38 2013 +0100 dataplane: avoid reentrancy during virtio_blk_data_plane_stop() When dataplane is stopping, the s->vdev->binding->set_host_notifier(..., false) call can invoke the virtqueue handler if an ioeventfd notification is pending. This causes hw/virtio-blk.c to invoke virtio_blk_data_plane_start() before virtio_blk_data_plane_stop() returns! The result is that we try to restart dataplane while trying to stop it and the following assertion is raised: msix_set_mask_notifier: Assertion `!dev->msix_mask_notifier' failed. Although the code was intended to prevent this scenario, the s->started boolean isn't enough. Add s->stopping so that we can postpone clearing s->started until we've completely stopped dataplane. This way, virtqueue handler calls during virtio_blk_data_plane_stop() are ignored. When dataplane is legitimately started again later we already self-kick ourselves to resume processing. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3249dbe661ba6ef108ecde97c54b4a4104d719c3 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jan 17 18:47:52 2013 +0400 win32-aio: use iov utility functions instead of open-coding them We have iov_from_buf() and iov_to_buf(), use them instead of open-coding these in block/win32-aio.c Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ddc01bf16e9f04b3e72c1b946b0b8efeb7a545d2 Merge: e387f99... 84c44613... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 17 13:09:57 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Wenchao Xia # Via Luiz Capitulino * luiz/queue/qmp: HMP: add sub command table to info HMP: move define of mon_cmds HMP: add infrastructure for sub command HMP: delete info handler HMP: add QDict to info callback handler commit e387f99ebc5753ebb5b7602d86e44d064873f83c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 19:42:38 2013 +0200 virtio-pci: fix irqfd cleanup argument order Order of arguments of kvm_virtio_pci_irqfd_release got mixed up in all calls. As a result users see assertions during cleanup. Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 782beb5239c6306b166744e03478a75afb649811 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 08:31:50 2013 +0100 qom: Extend documentation on QOM method concepts Add a documentation section "Methods" and discuss among others how to handle overriding virtual methods. Clarify DeviceClass::realize documentation and refer to the above. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 781c0c3321d2bda9a9d7ffe9bf51560f0987b5a0 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jan 15 08:47:26 2013 +0100 Makefile: drop recursive libcacard clean Commit eb8eb53e5846a957cf333f2e1ec8cb6e0c04 ("libcacard: rewrite Makefile in non-recursive style") refactored libcacard/Makefile so it can be included by the top-level Makefile. The top-level clean target still loops over subdirectories, including libcacard/, to invoke recursive clean. Remove libcacard from the recursive clean since its files are already included at the top level. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6522773f88a2e37800f0bf7dc3632a14649f53c6 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jan 14 14:14:42 2013 +0100 migration: remove argument to qemu_savevm_state_cancel Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b22ff1fbed9d7f1f677804cbaa9ee03ca17d0013 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 21:06:31 2012 +0200 migration: Only go to the iterate stage if there is anything to send Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c369f40d2cb39f4eaaf6589c1113b528256d3a09 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:33:34 2012 +0200 migration: unfold rest of migrate_fd_put_ready() into thread This will allow us finer control in next patches. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7de6a690e73967eb5bc5e72b2942a6be1fee2c20 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:23:43 2012 +0200 migration: move exit condition to migration thread Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f7b67be36d01f8f506dc93213855b31dad17708c Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Dec 10 22:29:14 2012 +0100 migration: Add buffered_flush error handling Now that we have error handling we can do proper handling of buffered_flush(). Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 76f5933aea281a52149b39a1a78a43565dc9715c Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:16:24 2012 +0200 migration: move beginning stage to the migration thread Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit afe419319de1e5e98b131368ba14f85f98ab3a76 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jan 14 13:36:28 2013 +0100 qemu-file: Only set last_error if it is not already set Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1e973051b96bac5eef46393eec15b68796e7c7d3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:30:39 2012 +0100 migration: fix off-by-one in buffered_rate_limit Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 25242635acb0b803392ad5669b5624815af3fd07 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Nov 10 18:58:40 2012 +0100 migration: remove double call to migrate_fd_close The call in buffered_close is enough, because buffered_close is called already by migrate_fd_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit b9c961a8ff3973b97964431491bc3f4f427cd66a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:29:03 2012 +0100 migration: make function static Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f65a874756bb3e4b57571a33a51d8887bbee7981 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:31:03 2012 +0100 use XFER_LIMIT_RATIO consistently commit 5b4e1eb769eee892b44d3f6b2369b05196442f59 missed this use. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 9c339485f0abb96595f4d91880b177726463300c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:26:04 2012 +0100 Protect migration_bitmap_sync() with the ramlist lock Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit fb3409de22c7c167dced51175500bc4b1a78dcc2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:25:45 2012 +0100 Unlock ramlist lock also in error case Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 84c44613f9ad8d13e0d2dbee767051527072dc12 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:29 2013 +0800 HMP: add sub command table to info Now info command takes a table of sub info commands, and changed do_info() to do_info_help() to do help funtion only. Note that now "info <unknown-topic>" returns error instead of list of info topics. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit a13ced59a4f305e37bd89f27f2b18f915889cad1 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:28 2013 +0800 HMP: move define of mon_cmds Because mon_cmds may use info_cmds, so adjust the declare sequence of them. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5f3d335fbdaccc5044bdfe0c6aefb865e48b9100 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:27 2013 +0800 HMP: add infrastructure for sub command This patch make parsing of hmp command aware of that it may have sub command. Also discard simple encapsulation function monitor_find_command(). For case "@command ", space after @command is filtered out. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5f11cb002a342e4fc0f87bb36fbabbc19bf04728 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:26 2013 +0800 HMP: delete info handler Now cmd and info handler have same format, so delete info handler. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 84f2d0ea0f39bc140a6c69ba8e3ffd6b10cae6fa Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:25 2013 +0800 HMP: add QDict to info callback handler This patch change all info call back function to take additional QDict * parameter, which allow those command take parameter. Now it is set to NULL at default case. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e8bccad5ac6095b5af7946cd72d9aacb57f7c0a3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 21:20:00 2013 +0100 win32-aio: Fix memory leak The buffer is allocated for both reads and writes, and obviously it should be freed even if an error occurs. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bcbbd234d42f1111e42b91376db61922d42e7e9e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 21:19:59 2013 +0100 win32-aio: Fix vectored reads Copying data in the right direction really helps a lot! Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2ea9b58f0bc62445b7ace2381b4c4db7d5597e19 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 19:25:51 2013 +0100 aio: Fix return value of aio_poll() aio_poll() must return true if any work is still pending, even if it didn't make progress, so that bdrv_drain_all() doesn't stop waiting too early. The possibility of stopping early occasionally lead to a failed assertion in bdrv_drain_all(), when some in-flight request was missed and the function didn't really drain all requests. In order to make that change, the return value as specified in the function comment must change for blocking = false; fortunately, the return value of blocking = false callers is only used in test cases, so this change shouldn't cause any trouble. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6bf3ee07ff55aa795010a8e071826f38e9a26112 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 10:54:34 2013 +0100 ide: Remove wrong assertion The Bus Master IDE Active bit (BM_STATUS_DMAING) is not only set when the request is still in flight, but also when it has completed and the size of the physical memory regions in the PRDT was larger than the transfer size. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6d759117d3fd28e38c49c56c9de206cc718d32fa Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Tue Jan 15 10:47:24 2013 -0500 block: fix null-pointer bug on error case in block commit This is a bug that was caught by a coverity run by Markus. In the error case when we errored out to exit_restore_open early in the function, 'overlay_bs' was still NULL at that point, although it is used to look up flags and perform a bdrv_reopen(). Move the overlay_bs lookup to where it is needed, and check for NULL before restoring the flags. Also get rid of the unneeded parameter initialization. Reported-By: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a4cbfe24e4d9f86622ba81b8c5b599c92c682fbc Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Jan 13 16:35:41 2013 +0000 bswap: improve gluing OpenBSD system compiler (gcc 4.2.1) has problems with concatenation of macro arguments in macro functions: CC aes.o In file included from /src/qemu/include/qemu-common.h:126, from /src/qemu/aes.c:30: /src/qemu/include/qemu/bswap.h: In function 'leul_to_cpu': /src/qemu/include/qemu/bswap.h:461: warning: implicit declaration of function 'bswapHOST_LONG_BITS' /src/qemu/include/qemu/bswap.h:461: warning: nested extern declaration of 'bswapHOST_LONG_BITS' Function leul_to_cpu() is only used in kvm-all.c, so the warnings are not fatal on OpenBSD without -Werror. Fix by applying glue(). Also add do {} while(0) wrapping and fix semicolon use while at it. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 47f4dac3fde809e3da4e60d9eb699f1d4b378249 Merge: af381eb... 0a1a7fa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 16 15:20:05 2013 -0600 Merge remote-tracking branch 'kraxel/chardev.1' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/chardev.1: chardev: add pty chardev support to chardev-add (qmp) chardev: add socket chardev support to chardev-add (qmp) chardev: add parallel chardev support to chardev-add (qmp) chardev: add serial chardev support to chardev-add (qmp) chardev: add file chardev support to chardev-add (qmp) chardev: add hmp hotplug commands chardev: add qmp hotplug commands, with null chardev support chardev: reduce chardev ifdef mess a bit chardev: fix QemuOpts lifecycle chardev: add error reporting for qemu_chr_new_from_opts commit af381ebeacdefcec0d2b44bdbb9d6e01e35f691f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 15 09:49:36 2013 +0100 build: fix Win32 clean build The version.o file did not appear explicitly as a dependency, and this caused clean builds to fail. Force its build by making the Makefile depend on version.o. (We cannot add it to libqemuutil.a, because it doesn't export any symbol and thus would not be pulled by the linker). Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Cc: Stefan Weil <sw@xxxxxxxxxxx> Tested-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eb60d1c55268f489b32e6b694e84e2017b75a3d3 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:59 2013 +0100 tmp105: Add temperature QOM property This obsoletes tmp105_set() and allows for better error handling. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2aad80eeb788c7c3f71c57e78352f0fdadf8fe28 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:58 2013 +0100 tmp105: QOM'ify Introduce TYPE_ constant and cast macro. Move the state struct to the new header to allow for future embedding. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e9989034b176a8e4cfdccd85892abfa73977ba7 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:57 2013 +0100 tests: Add tmp105 qtest test case Exercise all four commands of the TMP105, testing for an issue in the I2C TX path. The test case uses the N800's OMAP I2C and is the first for ARM. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cb5ef3fa1871522a0886627033459e94bd537fb7 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:56 2013 +0100 tmp105: Fix I2C protocol bug An early length postincrement in the TMP105's I2C TX path led to transfers of more than one byte to place the second byte in the third byte's place within the buffer and the third byte to get discarded. Fix this by explictly incrementing the length after the checks but before the callback is called, which again checks the length. Adjust the Coding Style while at it. Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d0b430176e3571af0e1596276078f05bfe1c5a5 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:55 2013 +0100 tmp105: Split out I2C message constants from header Allows value sharing with qtest. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2bf7b4572b39a494403190636b4e7d44967504c0 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:54 2013 +0100 libqtest: Prepare I2C libqos This adds a simple I2C API and a driver implementation for omap_i2c. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 457b65432700281b061086a2a8527bf1f59163a9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:17:33 2013 +0100 audio: Replace non-portable asprintf in debug code by g_strdup_printf sw->name already uses the correct g_free to free the allocated memory. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:20:25 2013 +0100 usb-storage: Drop useless null test in usb_msd_handle_data() scsi_req_new() never returns null, and scsi_req_enqueue() dereferences the pointer, so checking for null is useless. Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 955d7b26779d6654f6ba2c456bac9fd49fa0cd8a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:20:57 2013 +0100 ui: Drop useless null tests in parse_keyboard_layout() Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ecf8aa5a06a830b05c035a5d6184bf991931d20 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:22:29 2013 +0100 pseries: Replace non-portable asprintf by g_strdup_printf g_strdup_printf already handles OOM errors, so some error handling in QEMU code can be removed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b8e76b35d47d03f6f9bb3a7455316aaed8b25795 Author: Knut Omang <knuto@xxxxxxxxxx> Date: Wed Jan 16 16:34:34 2013 +0100 Add new DEFAULT_MACHINE_OPTIONS to q35 and ppc405 Without this default q35/ppc405 based machines would no longer boot after commit e4ada29e909787f629626660b1561f6a680187d3 Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9468a5d4904223af2c47131f32e3a0555142e4e3 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Thu Jan 10 22:30:50 2013 +0100 alpha-linux-user: Correct select Alpha, like s390x, passes all select arguments in registers. Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2ba7f73006371312109991869b13bf8f4b4659c4 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Thu Jan 10 21:42:48 2013 +0100 alpha-linux-user: Translate fcntl l_type The values of F_RDLCK, F_WRLCK, F_UNLCK, F_EXLCK, F_SHLCK differ between alpha and other linux architectures. This patch allows to run "dpkg" (database lock). Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0a1a7fabda7f0fa05ef09051be29e92e81f929ad Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Dec 20 14:39:13 2012 +0100 chardev: add pty chardev support to chardev-add (qmp) The ptsname is returned directly, so there is no need to use query-chardev to figure the pty device path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f6bd5d6ec514939c421fcd411d1a39bc7dad0948 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Dec 20 13:53:12 2012 +0100 chardev: add socket chardev support to chardev-add (qmp) qemu_chr_open_socket is split into two functions. All initialization after creating the socket file handler is split away into the new qemu_chr_open_socket_fd function. chr->filename doesn't get filled from QemuOpts any more. Qemu gathers the information using getsockname and getnameinfo instead. This way it will also work correctly for file handles passed via file descriptor passing. Finally qmp_chardev_open_socket() is the actual qmp hotplug implementation which basically just calls socket_listen or socket_connect and the new qemu_chr_open_socket_fd function. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 88a946d32dd9e4c6c0ad56e19f2822bd5c8b416e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 10 14:20:58 2013 +0100 chardev: add parallel chardev support to chardev-add (qmp) Also alias the old parport name to parallel for -chardev. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d59044ef74d577797d087bc6ffb156cec89ed39a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 13:50:29 2012 +0100 chardev: add serial chardev support to chardev-add (qmp) Similar to file, except that no separate in/out files are supported because it's pointless for direct device access. Also the special tty ioctl hooks (pass through linespeed settings etc) are activated on Unix. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ffbdbe59acc5f175d6c05a5d90f0b7c865fafd5b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 13:13:57 2012 +0100 chardev: add file chardev support to chardev-add (qmp) Add support for file chardevs. Output file is mandatory, input file is optional. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f10889089153edf032476b45229477866a9ca0b1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 10:33:40 2012 +0100 chardev: add hmp hotplug commands Add chardev-add and chardev-remove commands to the human monitor. chardev-add accepts the same syntax as -chardev, chardev-remove expects a chardev id. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f1a1a35638bf045a2b158c0cb23d92ef39c06792 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 10:33:56 2012 +0100 chardev: add qmp hotplug commands, with null chardev support Add chardev-add and chardev-remove qmp commands. Hotplugging a null chardev is supported for now, more will be added later. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e551498e7283fc7f12a0f9cd5645517bfe9008f6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 16:35:42 2012 +0100 chardev: reduce chardev ifdef mess a bit Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2274ae9d1a841c9d214b7c877d28e2f037a9b26e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Oct 15 09:30:59 2012 +0200 chardev: fix QemuOpts lifecycle qemu_chr_new_from_opts handles QemuOpts release now, so callers don't have to worry. It will either be saved in CharDriverState, then released in qemu_chr_delete, or in the error case released instantly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bd2d80b2b75b36955d536564ceb593f5bdae2f12 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Oct 15 09:28:05 2012 +0200 chardev: add error reporting for qemu_chr_new_from_opts Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 249d41720b7dfbb5951b430b9eefdbee7464f515 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 9 03:58:11 2013 +0100 qdev: Prepare "realized" property Introduce the QOM realizefn suggested by Anthony. Detailed documentation is supplied in the qdev header. For now this implements a default DeviceClass::realize callback that just wraps DeviceClass::init, which it deprecates. Once all devices have been converted to DeviceClass::realize, DeviceClass::init is to be removed. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7983c8a335dd09fec49f99a44d4404aa87828c0a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 9 03:58:10 2013 +0100 qdev: Fold state enum into bool realized Whether the device was initialized or not is QOM-level information and currently unused. Drop it from device. This leaves the boolean state of whether or not DeviceClass::init was called or not, a.k.a. "realized". Suggested-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2c9ee0291f8ca7e18f8e96a34e8f4be7867219d2 Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 8 12:36:31 2013 +0530 pseries: set no default boot order This patch removes the default boot order for pseries machine. This allows the machine to handle a NULL boot order in case no -boot option is provided. Thus it helps SLOF firmware to verify if boot order is specified in command line or not. If no boot order is provided SLOF tries to boot from the device set in the nvram. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4ada29e909787f629626660b1561f6a680187d3 Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 8 12:36:30 2013 +0530 Make default boot order machine specific This patch makes default boot order machine specific instead of set globally. The default boot order can be set per machine in QEMUMachine boot_order. This also allows a machine to receive a NULL boot order when -boot isn't used and take an appropriate action accordingly. This helps machine boots from the devices as set in guest's non-volatile memory location in case no boot order is provided by the user. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 038794cfe1c0eece8968418077e4af601acd5aff Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:24:16 2013 +0100 acl: Free memory allocated with g_malloc() with g_free() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c23c15d30b901bb447cdcada96cae64c0046d146 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:24:15 2013 +0100 acl: Fix acl_remove not to mess up the ACL It leaks memory and fails to adjust qemu_acl member nentries. Future acl_add become confused: can misreport the position, and can silently fail to add. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc69bda6c97a1c193348eb381f4bffdfd1c8a948 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:42:32 2013 +0100 sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits Careless use of malloc(): allocate Uint32[N], assign to int *, use int[N]. Fix by converting to g_new(). Functions can't fail anymore, so make them return void. Caller ignored the value anyway. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dabe3143e0f36a78a65c0dce1e298e31df1be6c4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 19:50:13 2013 +0200 kvm: add stub for kvm_irqchip_update_msi_route ppc64 build needs this stub to build with virtio enabled. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8ec12ec734da08a945a05e2b0f89d2639048c771 Merge: 58a864d... c3a2980... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:54:41 2013 -0600 Merge remote-tracking branch 'afaerber/memory-ioport' into staging * afaerber/memory-ioport: acpi_piix4: Do not use old_portio-style callbacks xen_platform: Do not use old_portio-style callbacks hw/dma.c: Fix conversion of ioport_register* to MemoryRegion Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 58a864dec23f9052a5379a3ce81566e065c14afa Merge: b9f84ac... ecbe251... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:53:10 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: configure: try pkg-config for curses qom: Make object_resolve_path_component() path argument const Add libcacard/trace/generated-tracers.c to .gitignore Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9f84ac0fa81315bf4efa8db64f0705273b7499a Merge: c94bf1c... 7191bf3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:52:56 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: block: Fix how mirror_run() frees its buffer win32-aio: Fix how win32_aio_process_completion() frees buffer scsi-disk: qemu_vfree(NULL) is fine, simplify w32: Make qemu_vfree() accept NULL like the POSIX implementation sheepdog: clean up sd_aio_setup() sheepdog: multiplex the rw FD to flush cache block: clear dirty bitmap when discarding ide: issue discard asynchronously but serialize the pieces ide: fix TRIM with empty range entry block: make discard asynchronous raw: support discard on block devices raw-posix: remember whether discard failed raw-posix: support discard on more filesystems block: fix initialization in bdrv_io_limits_enable() qcow2: Fix segfault on zero-length write Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c94bf1c107df6623e54d48b90fb439a1281a36de Merge: bdb8872c... e175bce... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:52:39 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: target-i386: Use switch in check_hw_breakpoints() target-i386: Avoid goto in hw_breakpoint_insert() target-i386: Introduce hw_{local,global}_breakpoint_enabled() target-i386: Define DR7 bit field constants target-i386: Move kvm_check_features_against_host() check to realize time target-i386: cpu_x86_register() consolidate freeing resources target-i386: Move setting defaults out of cpu_x86_parse_featurestr() target-i386: check/enforce: Check all feature words target-i386/cpu.c: Add feature name array for ext4_features target-i386: kvm_check_features_against_host(): Use feature_word_info target-i386/cpu: Introduce FeatureWord typedefs target-i386: Disable kvm_mmu by default kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code exec: Return CPUState from qemu_get_cpu() xen: Simplify halting of first CPU kvm: Pass CPUState to kvm_init_vcpu() cpu: Move cpu_index field to CPUState cpu: Move numa_node field to CPUState target-mips: Clean up mips_cpu_map_tc() documentation cpu: Move nr_{cores,threads} fields to CPUState Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bdb8872cc14684557db4bef112b02eeb68f4410b Merge: 2fd3402... 08bb4a7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:52:10 2013 -0600 Merge remote-tracking branch 'afaerber-or/prep-up' into staging * afaerber-or/prep-up: pc87312: Avoid define conflict on mingw32 pc87312: Replace register_ioport_*() with MemoryRegion Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2fd3402d9242dec06bb1ca5680c1ddf421932b08 Merge: dd25f93... 01b87f6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:50:04 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013-2' into staging * mdroth/qga-pull-1-14-2013-2: qga: add missing commas in json docs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dd25f938203eac51ef2ec9f4a545645ff49bda70 Merge: 5e72179... 7868181... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:49:48 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013' into staging * mdroth/qga-pull-1-14-2013: qemu-ga: Handle errors uniformely in ga_channel_open() qemu-ga: Plug fd leak on ga_channel_open() error paths qemu-ga: Plug fd leak on ga_channel_listen_accept() error path qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path qemu-ga: Drop pointless lseek() from ga_open_pidfile() qemu-ga: Document intentional fall through in channel_event_cb() qemu-ga: add ga_open_logfile() qemu-ga: ga_open_pidfile(): use qemu_open() Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5e72179b8f16e05a33fea5f63856aa16dbb29048 Merge: cf7c3f0... 7e7b7cb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:49:18 2013 -0600 Merge remote-tracking branch 'sstabellini/xen-2013-01-14' into staging * sstabellini/xen-2013-01-14: xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER xen_disk: add persistent grant support to xen_disk backend xen_disk: fix memory leak Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3a29809e4d8924a0cfffd7f1af3c2f3c46f5889 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Fri Jan 4 22:29:41 2013 +0100 acpi_piix4: Do not use old_portio-style callbacks Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: Used HWADDR_PRIx for hwaddr PIIX4_DPRINTF()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7a652efa1b55ea671125696aabf8f1bd6e9a97f7 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Fri Jan 4 22:29:40 2013 +0100 xen_platform: Do not use old_portio-style callbacks Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ecd584b836937eb45f7e7e487595002486a09cb7 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Dec 19 12:09:21 2012 +0000 hw/dma.c: Fix conversion of ioport_register* to MemoryRegion The commit 582299336879504353e60c7937fbc70fea93f3da introduced a 1-shift for some offset in DMA emulation. Before the previous commit, which converted ioport_register_* to MemoryRegion, the DMA controller registered 8 ioports with the following formula: base + ((8 + i) << d->shift) where 0 <= i < 8 When an IO occured within a Memory Region, DMA callback receives an offset relative to the start address. Here the start address is: base + (8 << d->shift). The offset should be: (i << d->shift). After the shift is reverted, the offsets are 0..7 not 1..8. Fixes LP#1089996. Reported-by: Andreas Gustafsson <gson@xxxxxxxx> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Tested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ecbe251fa0eb4905c4a82c887e37057243b9fbad Author: Vadim Evard <v.e.evard@xxxxxxxxx> Date: Tue Jan 15 16:17:24 2013 +0400 configure: try pkg-config for curses Static linkikng against ncurses may require explicit -ltinfo. In case -lcurses and -lncurses both didn't work give pkg-config a chance. Fixes #1094786 for me. Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7191bf311ea9722cdcc3b2229788eff69d896bd0 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:29:10 2013 +0100 block: Fix how mirror_run() frees its buffer It allocates with qemu_blockalign(), therefore it must free with qemu_vfree(), not g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7479acdbce2ecf6cbd0b7d72b81608c8fc51b1ae Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 14:23:39 2013 +0100 win32-aio: Fix how win32_aio_process_completion() frees buffer win32_aio_submit() allocates it with qemu_blockalign(), therefore it must be freed with qemu_vfree(), not g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit db4c34c3df5107ec4900ff07f70c540479a7eeca Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 14:23:38 2013 +0100 scsi-disk: qemu_vfree(NULL) is fine, simplify Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 94c8ff3a01d9bd1005f066a0ee3fe43c842a43b7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 14:23:37 2013 +0100 w32: Make qemu_vfree() accept NULL like the POSIX implementation On POSIX, qemu_vfree() accepts NULL, because it's merely wrapper around free(). As far as I can tell, the Windows implementation doesn't. Breeds bugs that bite only under Windows. Make the Windows implementation behave like the POSIX implementation. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f700f8e3463b5d61383121fa6f79564d6132b10d Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Jan 14 14:01:03 2013 +0800 sheepdog: clean up sd_aio_setup() The last two parameters of sd_aio_setup() are never used, so remove them. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 477830727821e4bc337f4ac1fd222ffe0b900e1a Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Jan 15 16:28:55 2013 +0800 sheepdog: multiplex the rw FD to flush cache This will reduce sockfds connected to the sheep server to one, which simply the future hacks. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3e84b4832180db2aa6187b6b971054bc3ca68be0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jan 15 02:55:10 2013 +0100 qom: Make object_resolve_path_component() path argument const A usage with a hardcoded partial path such as object_resolve_path_component(obj, "foo") is totally valid but currently leads to a compilation error. Fix this. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a87eec766d99c33fc49ecc6dbce40f304168ac3f Author: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx> Date: Tue Jan 8 01:28:02 2013 +0200 Add libcacard/trace/generated-tracers.c to .gitignore Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit df702c9b4c1d049b12d7cf2f2ee607ff32f766cb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:58 2013 +0100 block: clear dirty bitmap when discarding Note that resetting bits in the dirty bitmap is done _before_ actually processing the request. Writes, instead, set bits after the request is completed. This way, when there are concurrent write and discard requests, the outcome will always be that the blocks are marked dirty. This scenario should never happen, but it is safer to do it this way. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 501378c3af16e8e83a9dd500c11e594f4d1dbe79 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:57 2013 +0100 ide: issue discard asynchronously but serialize the pieces Now that discard can take a long time, make it asynchronous. Each LBA range entry is processed separately because discard can be an expensive operation. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 80bc2e8d807939bee89d1a5ca0dbe89946d39ed1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:56 2013 +0100 ide: fix TRIM with empty range entry ATA-ACS-3 says "If the two byte range length is zero, then the LBA Range Entry shall be discarded as padding." iovecs are used as if they are linearized, so it is incorrect to discard the rest of this iovec. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8238010b265886249f9f3d45e890788319b7736e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:55 2013 +0100 block: make discard asynchronous This is easy with the thread pool, because we can use s->is_xfs and s->has_discard from the worker function. QEMU has a widespread assumption that each I/O operation writes less than 2^32 bytes. This patch doesn't fix it throughout of course, but it starts correcting struct RawPosixAIOData so that there is no regression with respect to the synchronous discard implementation. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fcd9d4555252c47a337357dfce0806e5dde99d96 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:54 2013 +0100 raw: support discard on block devices Block devices use a ioctl instead of fallocate, so add a separate implementation. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c85191e5c9e14d65cc4281ef3b31f480227aa6dd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:53 2013 +0100 raw-posix: remember whether discard failed Avoid sending system calls repeatedly if they shall fail. This does not apply to XFS: if the filesystem-specific ioctl fails, something weird is happening. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3d4fa43e648f3b169e7ab5dd4e21312e510805d7 Author: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx> Date: Mon Jan 14 16:26:52 2013 +0100 raw-posix: support discard on more filesystems Linux 2.6.38 introduced the filesystem independent interface to deallocate part of a file. As of Linux 3.7, btrfs, ext4, ocfs2, tmpfs and xfs support it. Even though the system calls here are in practice issued on Linux, the code is structured to allow plugging in alternatives for other Unix variants. EOPNOTSUPP is used unconditionally in this patch, but it is supported in both OpenBSD and Mac OS X since forever (see for example http://lists.debian.org/debian-glibc/2006/02/msg00337.html). Signed-off-by: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 029d091e4975af60ff9622717af19c5910f2f4e9 Author: Peter Lieven <pl@xxxxxxxxx> Date: Fri Jan 11 13:29:55 2013 +0100 block: fix initialization in bdrv_io_limits_enable() bdrv_io_limits_enable() starts a new slice, but does not set io_base correctly for that slice. Here is how io_base is used: bytes_base = bs->nr_bytes[is_write] - bs->io_base.bytes[is_write]; bytes_res = (unsigned) nb_sectors * BDRV_SECTOR_SIZE; if (bytes_base + bytes_res <= bytes_limit) { /* no wait */ } else { /* operation needs to be throttled */ } As a result, any I/O operations that are triggered between now and bs->slice_end are incorrectly limited. If 10 MB of data has been written since the VM was started, QEMU thinks that 10 MB of data has been written in this slice. This leads to a I/O lockup in the guest. We fix this by delaying the start of a new slice to the next call of bdrv_exceed_io_limits(). Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e175bce587936bf479889881488821ea8d61c89c Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 13:39:56 2013 +0800 target-i386: Use switch in check_hw_breakpoints() Replace an if statement using magic numbers for breakpoint type with a more explicit switch statement. This is to aid readability. Change the return type and force_dr6_update argument type to bool. While at it, fix Coding Style issues (missing braces). Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1cc21a180b9ea9204e99ad5c58604cb458e572a9 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 08:24:02 2013 +0100 target-i386: Avoid goto in hw_breakpoint_insert() "Go To Statement Considered Harmful" -- E. Dijkstra To avoid an unnecessary goto within the switch statement, move watchpoint insertion out of the switch statement. Improves readability. While at it, fix Coding Style issues (missing braces, indentation). Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5902564ac983d67d7d898356971698b50b8f0b91 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 08:01:07 2013 +0100 target-i386: Introduce hw_{local,global}_breakpoint_enabled() hw_breakpoint_enabled() returned a bit field indicating whether a local breakpoint and/or global breakpoint was enabled. Avoid this number magic by using explicit boolean helper functions hw_local_breakpoint_enabled() and hw_global_breakpoint_enabled(), to aid readability. Reuse them for the hw_breakpoint_enabled() implementation and change its return type to bool. While at it, fix Coding Style issues (missing braces). Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 428065ce50643a56bff043501809b62b035f0b17 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 13:39:55 2013 +0800 target-i386: Define DR7 bit field constants Implicit use of dr7 bit field is a little hard to understand, so define constants for them and use them consistently. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d2497c3552e19a60e7a75d20976471ecb2a8e2b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jan 14 17:31:31 2013 +0100 qcow2: Fix segfault on zero-length write One of the recent refactoring patches (commit f50f88b9) didn't take care to initialise l2meta properly, so with zero-length writes, which don't even enter the write loop, qemu just segfaulted. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jan 11 03:10:17 2013 +0100 target-i386: Move kvm_check_features_against_host() check to realize time kvm_check_features_against_host() should be called when features can't be changed, and when features are converted to properties it would be possible to change them until realize time, so correct way is to call kvm_check_features_against_host() in x86_cpu_realize(). Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fa2db3c494270c1892365eef370d06a4559619e0 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jan 11 03:10:16 2013 +0100 target-i386: cpu_x86_register() consolidate freeing resources Freeing resources in one place would require setting 'error' to not NULL, so add some more error reporting before jumping to exit branch. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 077c68c32897ea02b88c9a919627d93d3878ef15 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jan 11 03:10:15 2013 +0100 target-i386: Move setting defaults out of cpu_x86_parse_featurestr() No functional change, needed for simplifying conversion to properties. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 07ca59450c9a0c5df65665ce46aa8487af59a1dd Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:48 2013 -0200 target-i386: check/enforce: Check all feature words This adds the following feature words to the list of flags to be checked by kvm_check_features_against_host(): - cpuid_7_0_ebx_features - ext4_features - kvm_features - svm_features This will ensure the "enforce" flag works as it should: it won't allow QEMU to be started unless every flag that was requested by the user or defined in the CPU model is supported by the host. This patch may cause existing configurations where "enforce" wasn't preventing QEMU from being started to abort QEMU. But that's exactly the point of this patch: if a flag was not supported by the host and QEMU wasn't aborting, it was a bug in the "enforce" code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 89e49c8bea9ec81d2cca25f81f5e15c3a1d8b69c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:47 2013 -0200 target-i386/cpu.c: Add feature name array for ext4_features Feature names were taken from the X86_FEATURE_* constants in the Linux kernel code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bffd67b01d96d3a59bf74a2d38f00e59d4b9c774 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:46 2013 -0200 target-i386: kvm_check_features_against_host(): Use feature_word_info Instead of carrying the CPUID leaf/register and feature name array on the model_features_t struct, move that information into feature_word_info so it can be reused by other functions. The goal is to eventually kill model_features_t entirely, but to do that we have to either convert x86_def_t.features to an array or use offsetof() inside FeatureWordInfo (to replace the pointers inside model_features_t). So by now just move most of the model_features_t fields to FeatureWordInfo except for the two pointers to local arguments. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ef5787627c07d053c2628fe720e814561fbfbe3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:45 2013 -0200 target-i386/cpu: Introduce FeatureWord typedefs This introduces a FeatureWord enum, FeatureWordInfo struct (with generation information about a feature word), and a FeatureWordArray typedef, and changes add_flagname_to_bitmaps() code and cpu_x86_parse_featurestr() to use the new typedefs instead of separate variables for each feature word. This will help us keep the code at kvm_check_features_against_host(), cpu_x86_parse_featurestr() and add_flagname_to_bitmaps() sane while adding new feature name arrays. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6a4784ce6b95b013a13504ead9ab62975faf6eff Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:44 2013 -0200 target-i386: Disable kvm_mmu by default KVM_CAP_PV_MMU capability reporting was removed from the kernel since v2.6.33 (see commit a68a6a7282373), and was completely removed from the kernel since v3.3 (see commit fb92045843). It doesn't make sense to keep it enabled by default, as it would cause unnecessary hassle when using the "enforce" flag. This disables kvm_mmu on all machine-types. With this fix, the possible scenarios when migrating from QEMU <= 1.3 to QEMU 1.4 are: ------------+----------+---------------------------------------------------- src kernel | dst kern.| Result ------------+----------+---------------------------------------------------- >= 2.6.33 | any | kvm_mmu was already disabled and will stay disabled <= 2.6.32 | >= 3.3 | correct live migration is impossible <= 2.6.32 | <= 3.2 | kvm_mmu will be disabled on next guest reboot * ------------+----------+---------------------------------------------------- * If they are running kernel <= 2.6.32 and want kvm_mmu to be kept enabled on guest reboot, they can explicitly add +kvm_mmu to the QEMU command-line. Using 2.6.33 and higher, it is not possible to enable kvm_mmu explicitly anymore. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9ca5892328a40bfa9c24c847441761c4729ae3f3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:42 2013 -0200 kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code Any KVM-specific code that use these constants must check if kvm_enabled() is true before using them. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38d8f5c84e7c02f2523005dddc31939ca18232dd Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 19:47:15 2012 +0100 exec: Return CPUState from qemu_get_cpu() Move the declaration to qemu/cpu.h and add documentation. The implementation still depends on CPUArchState for CPU iteration. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4a1e40b5091bcff5f8ea3fe9963eaa8e76b16389 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 19:39:30 2012 +0100 xen: Simplify halting of first CPU Use the global first_cpu variable to halt the CPU rather than using a local first_cpu initialized from qemu_get_cpu(0). This will allow to change qemu_get_cpu() return type to CPUState despite use of the CPU_COMMON halted field in the reset handler. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 504134d27f15aa94f6d2b5c45eaa804a8dfb5a4c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 06:38:45 2012 +0100 kvm: Pass CPUState to kvm_init_vcpu() CPUArchState is no longer needed, and it thereby no longer depends on NEED_CPU_H. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 55e5c2850293547203874098f7cec148ffd12dfa Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 06:18:02 2012 +0100 cpu: Move cpu_index field to CPUState Note that target-alpha accesses this field from TCG, now using a negative offset. Therefore the field is placed last in CPUState. Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change. Move common parts of mips cpu_state_reset() to mips_cpu_reset(). Acked-by: Richard Henderson <rth@xxxxxxxxxxx> (for alpha) [AF: Rebased onto ppc CPU subclasses and openpic changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1b1ed8dc40635d60dd95c04658989af63542fcbf Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 04:22:03 2012 +0100 cpu: Move numa_node field to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 66afd1ad5a7a25e573577ac45979d8a3213796c3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 20:36:30 2012 +0100 target-mips: Clean up mips_cpu_map_tc() documentation This function will be touched again soon, so a good understanding of env vs. other helps. Adopt gtk-doc style. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> commit ce3960ebe57d0601a3628b64adac6fd23c901f70 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 03:27:07 2012 +0100 cpu: Move nr_{cores,threads} fields to CPUState To facilitate the field movements, pass MIPSCPU to malta_mips_config(); avoid that for mips_cpu_map_tc() since callers only access MIPS Thread Contexts, inside TCG helpers. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 08bb4a7c9bb9c12746bce9b3a1f031dd4192afc1 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Jan 13 08:12:45 2013 +0000 pc87312: Avoid define conflict on mingw32 Mingw32 headers define FAR, causing this warning: /src/qemu/hw/pc87312.c:38:0: warning: "FAR" redefined [enabled by default] In file included from /usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windows.h:48:0, from /src/qemu/include/sysemu/os-win32.h:29, from /src/qemu/include/qemu-common.h:46, from /src/qemu/include/exec/ioport.h:27, from /src/qemu/hw/isa.h:6, from /src/qemu/hw/pc87312.h:28, from /src/qemu/hw/pc87312.c:26: /usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windef.h:34:0: note: this is the location of the previous definition Avoid the warning by expanding the macros. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 328c24a97b9cde975bc8b12caa4c6c067fff83c6 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Fri Jan 11 21:11:20 2013 +0100 pc87312: Replace register_ioport_*() with MemoryRegion Prepare an instance_init function for the MemoryRegion init. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> commit cf7c3f0cb5a7129f57fa9e69d410d6a05031988c Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Jan 14 22:52:02 2013 +0100 virtio-9p: fix compilation error. Fix the compilation error introduced by msg new field. CC hw/9pfs/virtio-9p.o In file included from /home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/9pfs/virtio-9p.c:17:0: /home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/virtio-pci.h:30:16: erreur: field â??msgâ?? has incomplete type make: *** [hw/9pfs/virtio-9p.o] Erreur 1 Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> commit 01b87f6d217ed05d5948562f74f5cf7b511a9c6c Author: Eric Blake <eblake@xxxxxxxxxx> Date: Wed Jan 2 09:15:11 2013 -0700 qga: add missing commas in json docs * qga/qapi-schema.json: Use valid JSON. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b8bec49cccbf8e34558371df60e7e64419c4fde9 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 13:20:13 2013 -0600 dataplane: fix build breakage on set_guest_notifiers() virtio_pci_set_guest_notifiers() now takes an additional argument to specify the number of virtqueues to assign a guest notifier for. This causes a build breakage for CONFIG_VIRTIO_BLK_DATA_PLANE builds: /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function â??virtio_blk_data_plane_startâ??: /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:451:47: error: too few arguments to function â??s->vdev->binding->set_guest_notifiersâ?? /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function â??virtio_blk_data_plane_stopâ??: /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:511:5: error: too few arguments to function â??s->vdev->binding->set_guest_notifiersâ?? make[1]: *** [hw/dataplane/virtio-blk.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [subdir-x86_64-softmmu] Error 2 Fix this by passing 1 as the number of virtqueues to assign notifiers for. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 53510bfc1256711365cd2a841649f3ad5a79790f Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 13:20:12 2013 -0600 virtio-pci: build for uninitialized return value in vq_vector_unmask Fixes the following: /home/mdroth/w/qemu2.git/hw/virtio-pci.c: In function â??kvm_virtio_pci_vector_unmaskâ??: /home/mdroth/w/qemu2.git/hw/virtio-pci.c:673:12: error: â??retâ?? may be used uninitialized in this function [-Werror=uninitialized] cc1: all warnings being treated as errors make: *** [hw/virtio-pci.o] Error 1 make: *** Waiting for unfinished jobs.... Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be657dea4bec90031cc66a111a772299bfca7fa5 Author: Alberto Garcia <agarcia@xxxxxxxxxx> Date: Fri Jan 11 18:25:30 2013 +0100 Add GE IP-Octal 232 IndustryPack emulation The GE IP-Octal 232 is an IndustryPack module that implements eight RS-232 serial ports, each one of which can be redirected to a character device in the host. Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9c16fa79bfa0f8d7a937ee58fa45f2bd0995fa53 Author: Alberto Garcia <agarcia@xxxxxxxxxx> Date: Fri Jan 11 18:25:29 2013 +0100 Add TEWS TPCI200 IndustryPack emulation The TPCI200 is a PCI board that supports up to 4 IndustryPack modules. A new bus type called 'IndustryPack' has been created so any compatible module can be attached to this board. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7e7b7cba16faa7b721b822fa9ed8bebafa35700f Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jan 14 18:30:30 2013 +0000 xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 9e496d7458bb01b717afe22db10a724db57d53fd Author: Roger Pau Monne <roger.pau@xxxxxxxxxx> Date: Mon Jan 14 18:28:19 2013 +0000 xen_disk: add persistent grant support to xen_disk backend This protocol extension reuses the same set of grant pages for all transactions between the front/back drivers, avoiding expensive tlb flushes, grant table lock contention and switches between userspace and kernel space. The full description of the protocol can be found in the public blkif.h header. http://xenbits.xen.org/gitweb/?p=xen.git;a=blob_plain;f=xen/include/public/io/blkif.h Speed improvement with 15 guests performing I/O is ~450%. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 282c6a2f292705f823554447ca0b7731b6f81a97 Author: Roger Pau Monne <roger.pau@xxxxxxxxxx> Date: Mon Jan 14 18:26:53 2013 +0000 xen_disk: fix memory leak On ioreq_release the full ioreq was memset to 0, loosing all the data and memory allocations inside the QEMUIOVector, which leads to a memory leak. Create a new function to specifically reset ioreq. Reported-by: Maik Wessler <maik.wessler@xxxxxxxxx> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 7868181f98ff1fbcd7f7034153eec5e03615d023 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:25:02 2013 +0100 qemu-ga: Handle errors uniformely in ga_channel_open() We detect errors in several places. One reports with g_error(), which calls abort(), the others report with g_critical(). Three of them exit(), three return false. Always report with g_critical(), and return false. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> *minor fix-up of commit msg Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d4f4a3efdf0a71621ae5351176f5f15b522d0026 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:25:01 2013 +0100 qemu-ga: Plug fd leak on ga_channel_open() error paths Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 32c16620dda8ba16f6d6bcd20efefdec8975af77 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:25:00 2013 +0100 qemu-ga: Plug fd leak on ga_channel_listen_accept() error path Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 03ac10f166b790cb66804e512abec6d002cd8481 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:24:59 2013 +0100 qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path Spotted by Coverity. Also document why we keep it open on success. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5d27f9ce3de424207883d84352d76150e9707394 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:24:58 2013 +0100 qemu-ga: Drop pointless lseek() from ga_open_pidfile() After open(), the file offset is already zero, and neither lockf() nor ftruncate() change it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit f5b795787864ddde1104a4f7c061dcb0e58e45c0 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:24:57 2013 +0100 qemu-ga: Document intentional fall through in channel_event_cb() For clarity, and to hush up Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9e92f6d46233171898fc7d0487a04e5b78e44234 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Jan 8 19:26:26 2013 -0200 qemu-ga: add ga_open_logfile() This function sets O_CLOEXEC on the log file fd so that it isn't leaked to executed processes. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Amos Kong <akong@xxxxxxxxxx> Tested-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6ffacc5d3ddf2e3227aae2a8cc5c15627265f727 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Jan 8 19:26:25 2013 -0200 qemu-ga: ga_open_pidfile(): use qemu_open() This ensures that O_CLOEXEC is passed to open(), this way the pid file fd is not leaked to executed processes. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Amos Kong <akong@xxxxxxxxxx> Tested-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a507db9599599ce33007b524276a6ea88e521662 Merge: b55160c... f9943cd... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:27:41 2013 -0600 Merge remote-tracking branch 'kraxel/pixman.v6' into staging * kraxel/pixman.v6: pixman: pass extra cflags and ldflags Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b55160c3d9b38c5d481ceccc30e397430f26fe92 Merge: 167eb81... 0360784... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:27:29 2013 -0600 Merge remote-tracking branch 'kraxel/usb.76' into staging * kraxel/usb.76: usb-host: Initialize dev->port the obviously safe way usb-host: Drop superfluous null test from usb_host_auto_scan() ehci: Assert state machine is sane w.r.t. EHCIQueue xhci: nuke transfe5rs on detach xhci: call xhci_detach_slot on root port detach too xhci: create xhci_detach_slot helper function Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 167eb811d006b95e9a26d4a0e681907ae77f5ce4 Merge: a69f221... 08688af... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:27:08 2013 -0600 Merge remote-tracking branch 'spice/spice.v67' into staging * spice/spice.v67: qxl: Don't drop client capability bits qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a69f221ef840cde778080ffaa78e0d9dd27b87c7 Merge: da758bd... 00e4d0d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:26:57 2013 -0600 Merge remote-tracking branch 'kraxel/testdev.2' into staging * kraxel/testdev.2: pc-testdev: use typedefs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da758bd7a3156fc96a630684ad9e4b4a03064306 Merge: 8e9a868... de0161c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:26:26 2013 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging * kwolf/for-anthony: dataplane: handle misaligned virtio-blk requests dataplane: extract virtio-blk read/write processing into do_rdwr_cmd() block: make qiov_is_aligned() public raw-posix: fix bdrv_aio_ioctl sheepdog: implement direct write semantics block: do not probe zero-sized disks Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e9a8681dd6066e4f79ba85b59deedb4d3d11aa2 Merge: 7adef3b... feb9a2a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:23:50 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,virtio This further optimizes MSIX handling in virtio-pci. Also included is pci cleanup by Paolo, and pci device assignment fix by Alex. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> * mst/tags/for_anthony: pci-assign: Enable MSIX on device to match guest pci: use constants for devices under the 1B36 device ID, document them ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt virtio-9p: use symbolic constant, add to pci-ids.txt reorganize pci-ids.txt docs: move pci-ids.txt to docs/specs/ vhost: backend masking support vhost: set started flag while start is in progress virtio-net: set/clear vhost_started in reverse order virtio: backend virtqueue notifier masking virtio-pci: cache msix messages kvm: add stub for update msi route msix: add api to access msix message virtio: don't waste irqfds on control vqs commit 7adef3bc5a195d483987469fc80fbbe4a25a5b9d Merge: 0054ee8... aaf821f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:23:25 2013 -0600 Merge remote-tracking branch 'bonzini/stub' into staging * bonzini/stub: (27 commits) build: improve quiet output for .stp rules build: fold trace-obj-y into libqemuutil.a build: some simplifications for "trace/Makefile.objs" build: remove coroutine-obj-y build: move version-obj-y to the generic LINK rule build: move base QAPI files to libqemuutil.a build: move QAPI definitions for QEMU out of qapi-obj-y build: consolidate multiple variables into universal-obj-y build: move qobject files to qobject/ and libqemuutil.a build: move libqemuutil.a components to util/ build: move files away from tools-obj-y, common-obj-y, user-obj-y build: move util-obj-y to libqemuutil.a build: rename oslib-obj-y to util-obj-y libcacard: list oslib-obj-y file explicitly libcacard: link vscclient to dynamic library libcacard: rewrite Makefile in non-recursive style libcacard: add list of exported symbols libcacard: use per-target variable definitions libcacard: prepare to use -y trick in the Makefile libcacard: require libtool to build it ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0054ee8c4168e7e298915baaa1a88d717e541bd3 Merge: 63fb259... 5178234... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:22:31 2013 -0600 Merge remote-tracking branch 'qmp/queue/qmp' into staging * qmp/queue/qmp: monitor: assert monitor_puts()'s loop invariant target-i386: fix bits 39:32 of the final physical address when using 4M page Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f9943cd58f8a053172aa701d79da512ccd10d758 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 4 10:15:53 2013 +0100 pixman: pass extra cflags and ldflags Store --extra-cflags and --extra-ldflags in config-host.mak, then pass them on to the pixman configure script. Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 036078475427f2562c8e505f6bb44dbf5d8cbd95 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:33:25 2013 +0100 usb-host: Initialize dev->port the obviously safe way Coverity worries the strcpy() could overrun the destination. It can't, because the source always points to usb_host_scan()'s auto port[], which has the same size. Use pstrcpy() anyway, to hush the checker. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4663530898a15944706d51b523d1f1545e32e46a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:33:24 2013 +0100 usb-host: Drop superfluous null test from usb_host_auto_scan() Coverity points out that port is later passed to usb_host_open(), which dereferences it. It actually can't be null: it always points to usb_host_scan()'s auto port[]. Drop the superfluous port == NULL test. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cc8d2b65c7e5f44172bf3ec300407522162e9a7f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:33:23 2013 +0100 ehci: Assert state machine is sane w.r.t. EHCIQueue Coverity worries the EHCIQueue pointer could be null when we pass it to functions that reference it. The state machine ensures it can't be null then. Assert that, to hush the checker. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit de0161c0d553f2aaf6118ca87f978a5e6b4a9732 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Jan 11 16:41:29 2013 +0100 dataplane: handle misaligned virtio-blk requests O_DIRECT on Linux has alignment requirements on I/O buffers and misaligned requests result in -EINVAL. The Linux virtio_blk guest driver usually submits aligned requests so I forgot to handle misaligned requests. It turns out that virtio-win guest drivers submit misaligned requests. Handle them using a bounce buffer that meets alignment requirements. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b5ef1aab945c1b04740574064b13eb93f1572587 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Jan 11 16:41:28 2013 +0100 dataplane: extract virtio-blk read/write processing into do_rdwr_cmd() Extract code for read/write command processing into do_rdwr_cmd(). This brings together pieces that are spread across process_request(). The real motivation is to set the stage for handling misaligned requests, which the next patch tackles. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c53b1c5114bdf7fc945cbf11436da61789ca2267 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Jan 11 16:41:27 2013 +0100 block: make qiov_is_aligned() public The qiov_is_aligned() function checks whether a QEMUIOVector meets a BlockDriverState's alignment requirements. This is needed by virtio-blk-data-plane so: 1. Move the function from block/raw-posix.c to block/block.c. 2. Make it public in block/block.h. 3. Rename to bdrv_qiov_is_aligned(). 4. Change return type from int to bool. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b608c8dc02c78ee95455a0989bdf1b41c768b2ef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:28:35 2013 +0100 raw-posix: fix bdrv_aio_ioctl When the raw-posix aio=thread code was moved from posix-aio-compat.c to block/raw-posix.c, there was an unintended change to the ioctl code. The code used to return the ioctl command, which posix_aio_read() would later morph into a zero. This hack is not necessary anymore, and in fact breaks scsi-generic (which expects a zero return code). Remove it. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0e7106d8b5f7ef4f9df10baf1dfb3db482bcd046 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Thu Jan 10 16:03:47 2013 +0800 sheepdog: implement direct write semantics Sheepdog supports both writeback/writethrough write but has not yet supported DIRECTIO semantics which bypass the cache completely even if Sheepdog daemon is set up with cache enabled. Suppose cache is enabled on Sheepdog daemon size, the new cache control is cache=writeback # enable the writeback semantics for write cache=writethrough # enable the emulated writethrough semantics for write cache=directsync # disable cache competely Guest WCE toggling on the run time to toggle writeback/writethrough is also supported. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8e895599a1beb250ebca00e83b5fae6a828d2171 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:39:27 2013 +0100 block: do not probe zero-sized disks A blank CD or DVD is visible as a zero-sized disks. Probing such disks will lead to an EIO and a failure to start the VM. Treating them as raw is a better solution. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0cb41e2c5ebc1f8fa180a1726981416fee9abad1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 14:06:51 2013 +0100 xhci: nuke transfe5rs on detach Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f3dcf6384cc94b6a688f3a366c20642f36247b68 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 13:06:57 2013 +0100 xhci: call xhci_detach_slot on root port detach too Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8125184178de05d762e39ee07f44ada6006e87bd Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 13:06:16 2013 +0100 xhci: create xhci_detach_slot helper function Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 00e4d0dbad9f2d449f021394addec9dfae5678bf Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 7 12:59:43 2013 +0100 pc-testdev: use typedefs Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 08688af04dc1137ac2f420b35c235183926b4a23 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:24:50 2013 +0100 qxl: Don't drop client capability bits interface_set_client_capabilities() copies only the first few bits, because it falls into a Classic C trap: you can declare a parameter uint8_t caps[58], but the resulting parameter type is uint8_t *, not uint8_t[58]. In particular, sizeof(caps) is sizeof(uint8_t *), not the intended sizeof(uint8_t[58]). Harmless, because the bits aren't used, yet. Broken in commit c10018d6. Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bc5f92e5db6f303e73387278e32f8669f0abf0e5 Author: Markus Armbruster <armbru@xxxxxxxxxxxx> Date: Thu Jan 10 14:24:49 2013 +0100 qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check The pointer arithmetic there is safe, but ugly. Coverity grouses about it. However, the actual comparison is off by one: <= end instead of < end. Fix by rewriting the check in a cleaner way. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit aaf821fde35f2ac5cf509ebd83a7d40704ea8d48 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 10:45:20 2012 +0100 build: improve quiet output for .stp rules Mention the directory in which the .stp file is being generated. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ff667e2e9b86fdc36e3b143483526f4c4fe80049 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:45:20 2012 +0100 build: fold trace-obj-y into libqemuutil.a Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0e848f482bce75f4d9cbac9f495fa45e51d08c9a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 24 14:06:27 2012 +0100 build: some simplifications for "trace/Makefile.objs" Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 84ecb7a6b9b2b14adadc1ff21c854d9e5f42be56 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 17:38:14 2012 +0100 build: remove coroutine-obj-y Just fold it into block-obj-y. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bf0842b71f581e0c60f4bbfbebf37ff999a22b88 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 17:36:35 2012 +0100 build: move version-obj-y to the generic LINK rule There is no reason for it to be in block-obj-y, in particular. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 576d55068d210c7316297af4194a10f729efe742 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:27:51 2012 +0100 build: move base QAPI files to libqemuutil.a Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 59cacde8cdf2e85de9b1aff63e456e89a8a5c59d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:03:18 2012 +0100 build: move QAPI definitions for QEMU out of qapi-obj-y There is no reason why for example qemu-ga should include all the definitions for the QEMU monitor. However, there are a few that are needed (qapi_free_SocketAddress, qapi_free_InetSocketAddress, ErrorClass_lookup). These should be moved to a separate "core" .json schema that goes into libqemuutil.a. For now, make this clearer by moving the qapi-*.o definitions out of libqemuutil.a. Once the above refactoring is done, qga-obj-y should not include anymore qapi-types.o and qapi-visit.o. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9444e9e640d56039253d885ba88c3fa818a00149 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:24:49 2012 +0100 build: consolidate multiple variables into universal-obj-y The directory descent mechanism, and a less-flat tree both helped in making some *-obj-y definitions very short. Many of these often end up in universal-obj-y, and used to be separate only because of libuser (which is now part of history...). Consolidate these variables in a single one. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a372823a14461c454feaa86373bd672fd518847a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 16:10:26 2012 +0100 build: move qobject files to qobject/ and libqemuutil.a Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit baacf04799ace72a9c735dd9306a1ceaf305e7cf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:58:44 2012 +0100 build: move libqemuutil.a components to util/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f157ebba2de4a6225679e13cc1ce01ff5d147c76 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 16:09:36 2012 +0100 build: move files away from tools-obj-y, common-obj-y, user-obj-y Split them between libqemuutil.a and, for those used by qemu-img/io/nbd, block-obj-y. Static libraries ensure that binaries such as qemu-ga do not include unused modules. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8a090705b4485eaed602632963cc53acaf3ba12e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:40:20 2012 +0100 build: move util-obj-y to libqemuutil.a Use a static library to eliminate repetition in the linking rules. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e4b42e6ebc2442f5ae9885d62171599cc682b4f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 14:34:31 2012 +0100 build: rename oslib-obj-y to util-obj-y This prepares the creation of libqemuutil.a in the next patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d9dc91ace82d1c4ca6f2c6f10a9cfcacf988662e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:24:27 2012 +0100 libcacard: list oslib-obj-y file explicitly We will grow the list of files in the next patches, but libcacard should remain slim. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 26ca8c06d2e4fb43903c9d5e8ebe27792ffc461b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 08:42:03 2012 +0100 libcacard: link vscclient to dynamic library There is no reason for vscclient to duplicate the code. rules.mak takes care of invoking libtool to do the link. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 992aeb8eb53e5846a957cf333f2e1ec8cb6e0c04 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 08:34:49 2012 +0100 libcacard: rewrite Makefile in non-recursive style Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5018f1cc9f9e2b68c12671e83cd1e3c6a12ec2b5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:19:51 2012 +0100 libcacard: add list of exported symbols Do not export internal QEMU symbols. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit af0c8e9f3c75a23905b97be6f6e530acaa7bedc3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:13:10 2012 +0100 libcacard: use per-target variable definitions This lets the libcacard Makefile use more rules.mak magic. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 591eca679e6d1165c9c69896dcecc8087bb1619c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:16:33 2012 +0100 libcacard: prepare to use -y trick in the Makefile Rename variables to follow the conventions of the rest of the build systems. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b6fc675b25d32f018870e202eb4b2a6eb509f88b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 20:40:35 2012 +0100 libcacard: require libtool to build it Do not fail at build time, instead just disable the library if libtool is not present. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e832341bde5448a6a1392ea903a553497a13763b Author: Alon Levy <alevy@xxxxxxxxxx> Date: Wed Nov 28 11:16:26 2012 +0200 libcacard: fix missing symbol in libcacard.so Before patch: $ make libcacard.la $ nm ./libcacard/.libs/libcacard.so.0.0.0 | grep " U " | \ egrep -v "(g_)|(GLIBC)|(SECMOD)|(PK11)|(CERT)|(NSS)|(PORT)|(PR)" U error_set Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit afd347ab3874858bfb609f22032c34ecd5f37d08 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 20:39:36 2012 +0100 build: remove CONFIG_SMARTCARD The passthru smartcard does not have the shared library dependency, build it unconditionally. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2c13ec50e763621889f2b2e6b5d587f692e58f3f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:23:18 2012 +0100 build: move dtrace rules to rules.mak Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2165588274332e9f08891d5b22d56f4c0b7dc437 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:57:45 2012 +0100 build: support linking with libtool objects/libraries This patch moves the complication of using libtool to the generic rules.mak file. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f141ccfa15096a7610b9973ae5ebae6562625a8d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:32:53 2012 +0100 build: make libtool verbose when making with V=1 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5708fc665524c5218076388504d078441fb3940c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 26 15:36:40 2012 +0100 stubs: fully replace qemu-tool.c and qemu-user.c Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4d4545743f55b37d37535f7b32456b82c97efeb8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 26 16:03:42 2012 +0100 qemu-option: move standard option definitions out of qemu-config.c Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 63fb2590839162afdf14d7c0ee02d460766c0956 Merge: 02e079c... 314e229... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 12 12:47:07 2013 +0000 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Fix SWI (SVC) instruction in M profile. target-arm: use type_register() instead of type_register_static() commit 02e079c79cdb7ac8180f92edaed4b942ca6b7c71 Merge: 837d1f9... 61993a6... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 12 12:47:02 2013 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (31 commits) PPC: linux-user: Calculate context pointer explicitly target-ppc: Error out for -cpu host on unknown PVR target-ppc: Slim conversion of model definitions to QOM subclasses PPC: Bring EPR support closer to reality PPC: KVM: set has-idle in guest device tree kvm: Update kernel headers openpic: fix CTPR and de-assertion of interrupts openpic: move IACK to its own function openpic: IRQ_check: search the queue a word at a time openpic: fix sense and priority bits openpic: add some bounds checking for IRQ numbers openpic: use standard bitmap operations Revert "openpic: Accelerate pending irq search" openpic: always call IRQ_check from IRQ_get_next openpic/fsl: critical interrupts ignore mask before v4.1 openpic: make ctpr signed openpic: rework critical interrupt support openpic: make register names correspond better with hw docs ppc/booke: fix crit/mcheck/debug exceptions openpic: lower interrupt when reading the MSI register ... commit 837d1f978224f7e7b020c71ffb10b291952cc596 Merge: a6fc23e... 2b35e93... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 12 12:46:57 2013 +0000 Merge branch 's390-reorg' of git://repo.or.cz/qemu/rth * 's390-reorg' of git://repo.or.cz/qemu/rth: (149 commits) target-s390: Claim maintainership target-s390: Use noreturn for exception and load_psw target-s390: Use TCG_CALL_NO_WG for misc helpers target-s390: Use TCG_CALL_NO_WG for integer helpers target-s390: Use TCG_CALL_NO_WG for floating-point helpers target-s390: Use TCG_CALL_NO_WG for memory helpers target-s390: Perform COMPARE AND SWAP inline target-s390: Optimize get_address target-s390: Optimize ADDC/SUBB target-s390: Optimize ADDU/SUBU CC testing target-s390: Tidy comparisons target-s390: Optmize emitting discards target-s390: Optimize XC target-s390: Fix cpu_clone_regs target-s390: Implement LOAD/SET FP AND SIGNAL target-s390: Implement SET ROUNDING MODE target-s390: Use uint64_to_float128 target-s390: Implement LCDFR target-s390: Check insn operand specifications target-s390: Implement CPSDR ... commit a6fc23e5dc76660792c8363d058adf22caa82945 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Jan 11 16:41:43 2013 +0000 hw/pc.c: add ULL suffix in ioport80_read and ioportF0_read return value The commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d broke the compilation for i386. ULL need to be specify for uint64_t value. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 163fa4b09db3e36c612e178fd11b3af4247cbd56 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:05:06 2013 -0800 tcg-i386: use LEA for 3-operand 64-bit addition Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 092bb3068801bd6bfc90fcced2661e77bb811764 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jan 9 10:17:08 2013 +0100 pixman: fix warning Cc: afaerber@xxxxxxx Cc: agraf@xxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cc6e3ca93c1b40fba579e8724dd06ca9f0507b31 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jan 9 10:17:07 2013 +0100 gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3dd46c78525a30e98c68a44e1c3797d9fcfb0462 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 5 10:10:27 2013 +0000 optionrom: build with discrete CPP and AS steps Build option ROM .S files with separate preprocessor and assembler steps because the C compiler could be unsuitable. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b6d9439c0d221b477c479a41a46797eee228bf88 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 5 14:48:22 2013 +0000 slirp: remove unused field tt Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 338d80dd353c50b6397723ffecf7e5bc3ba1651d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:33 2013 -0800 user: Consider symbolic links as possible directories Commit 2296f194dfde4c0a54f249d3fdb8c8ca21dc611b reduced the number of syscalls performed during user emulation startup, but failed to consider the use of symbolic links in creating directory structures. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d2565875ec5a483ddcdf3cec821830bd1f082cf6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:32 2013 -0800 alpha-linux-user: Fix sigaction Unconditional bswap replaced by __get_user/__put_user. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 658f2dc970996d547a641b5685e384ebe6f2648e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:31 2013 -0800 linux-user: Rewrite __get_user/__put_user with __builtin_choose_expr The previous formuation with multiple assignments to __typeof(*hptr) falls down when hptr is qualified const. E.g. with const struct S *p, p->f is also qualified const. With this formulation, there's no assignment to any local variable. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c732a52d3e3b7ed42d7daa94ba40a83408cd6f22 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:30 2013 -0800 bswap: Rewrite cpu_to_<endian><type>u with {ld,st}<type>_<endian>_p We've now optimized the ld/st versions; reuse that for the "legacy" versions. Always use inlines so that we get the type checking that we expect. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 612d590ebc6cef179cf5f7823522237e622ab430 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:29 2013 -0800 bswap: Rewrite all ld<type>_<endian>_p functions Use the new host endian unaligned access functions instead of open coding byte-by-byte references. Remove assembly special cases for i386 and ppc -- we've now exposed the operation to the compiler sufficiently for these to be optimized automatically. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7db2145a6826b14efceb8dd64bfe6ad8647072eb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:28 2013 -0800 bswap: Add host endian unaligned access functions Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cdfe2851c6c33c133bd90c2643cb0486c0f5b325 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:27 2013 -0800 bswap: Tidy base definitions of bswapN Move the bswap_N -> bswapN wrappers inside CONFIG_BYTESWAP_H. Change the ultimate fallback defintions from macros to inline functions. The proper types recieved by the function arguments means we can remove unnecessary casts, making the code more readable. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fedb88bd32d331131d77a9b567d12e682fd102ac Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:26 2013 -0800 fdt: Use bswapN instead of bswap_N Fixes the libfdt enabled build for hosts that have <machine/bswap.h>. The code at the beginning of qemu/bswap.h is attempting to standardize on bswapN. In the case of CONFIG_MACHINE_BSWAP_H, this is all we get. In the case of CONFIG_BYTESWAP_H, we get bswap_N from the system header and then wrap these with inline functions to get bswapN. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 314e2296dc945e286b605563d7b6e6b269d29816 Author: Alex_Rozenman@xxxxxxxxxx <Alex_Rozenman@xxxxxxxxxx> Date: Fri Jan 11 15:21:22 2013 +0000 target-arm: Fix SWI (SVC) instruction in M profile. When do_interrupt_v7m is called with EXCP_SWI, the PC already points to the next instruction. Don't modify it here. Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 918fd0839eeafc83bd4984364321a947d29041fe Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 11 15:21:22 2013 +0000 target-arm: use type_register() instead of type_register_static() The type_register_static() interface is documented as: type_register_static: @info: The #TypeInfo of the new type. @info and all of the strings it points to should exist for the life time that the type is registered. But cpu_register() uses a stack variable for the 'info' argument, so it has to use type_register() instead of type_register_static(). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit fedf2de31023b4ee71a4e578db013976243a8143 Merge: e2848a7... c02e1ea... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 11 08:43:18 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: hw/pc.c: Fix converting of ioport_register* to MemoryRegion Replace remaining gmtime, localtime by gmtime_r, localtime_r savevm: Remove MinGW specific code which is no longer needed qga/channel-posix.c: Explicitly include string.h configure: Fix comment (copy+paste bug) readline: avoid memcpy() of overlapping regions Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e2848a78b0a6715f94623bdf43ef74d3d08cfe4d Merge: 80ec243... 7e973bb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 11 08:36:52 2013 -0600 Merge remote-tracking branch 'kraxel/q35.1' into staging * kraxel/q35.1: Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too pc: rename machine types q35: document chipset devices q35: add ich9 intel hda controller Conflicts: hw/intel-hda.c aliguori: resolve conflict with static const change from Andreas. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 80ec24328607937690d0d620b99e8c24ab29e8f5 Merge: 47a150a... 63e3555... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 11 08:23:16 2013 -0600 Merge remote-tracking branch 'afaerber-or/prep-up' into staging * afaerber-or/prep-up: prep: Use pc87312 device instead of collection of random ISA devices prep: Add pc87312 Super I/O emulation prep: Include devices for ppc64 as well Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jan 9 18:10:22 2013 +0000 hw/pc.c: Fix converting of ioport_register* to MemoryRegion The commit 258711 introduced MemoryRegion to replace ioport_region* for ioport 80h and F0h. A MemoryRegion needs to have both read and write callback otherwise a segfault will occur when an access is made. The previous behaviour of this both ioport is to return 0xffffffffffffffff. So keep this behaviour. Reported-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Tested-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit eb7ff6fb0bddb33991fa44586ac8e2e02019dc97 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jan 7 23:08:13 2013 +0100 Replace remaining gmtime, localtime by gmtime_r, localtime_r This allows removing of MinGW specific code and improves reentrancy for POSIX hosts. [Removed unused ret variable in qemu_get_timedate() to fix warning: vl.c: In function â??qemu_get_timedateâ??: vl.c:451:16: error: variable â??retâ?? set but not used [-Werror=unused-but-set-variable] -- Stefan Hajnoczi] Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 68b891ec3937aa2e18eed5a403b1d9fd9b875084 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jan 7 22:20:27 2013 +0100 savevm: Remove MinGW specific code which is no longer needed QEMU provides a portable function qemu_gettimeofday instead of gettimeofday and also an implementation of localtime_r for MinGW. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1d57db193f2eb619ccc9a60e76120379b757d9f2 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 7 17:29:55 2013 +0000 qga/channel-posix.c: Explicitly include string.h Explicitly include string.h to avoid warnings under MacOS X/clang about implicit declarations of strerror() and strlen(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 75f13596452692fb7375ee558e9fb37cd649e603 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jan 5 12:17:38 2013 +0100 configure: Fix comment (copy+paste bug) Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7e973bb2e17f929f47376a3872f7ccdff25a51ab Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Jan 8 19:52:20 2013 +0100 Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too The WARNING message from commit f7e4dd6c made me notice. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 94dec5948aeb240c7e324ce9ecffeb3e066c1b69 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 08:53:13 2013 +0100 pc: rename machine types Starting with release 1.4 we have a fully functional q35 machine type, i.e. "qemu -M q35" JustWorks[tm]. Update machine type names to reflect that: * pc-1.4 becomes pc-i440fx-1.4 * q35-next becomes pc-q35-1.4 The pc-1.3 (+older) names are maintained for compatibility reasons. For the same reason the "pc" and "q35" aliases are kept. pc-piix-1.4 continues to be the default machine type, again for compatibility reasons. Also updated the description (shown by "qemu -M ?") with host bridge name, south bridge name and chipset release year. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7d9f7b51cc62ec23ac72e3338165a2f3007631a2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 09:38:19 2013 +0100 q35: document chipset devices Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8b07eaa110df41b027ee62cbf3549cc3e48ec147 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 09:25:16 2013 +0100 q35: add ich9 intel hda controller Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 47a150a4bbb06e45ef439a8222e9f46a7c4cca3f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:49:08 2013 +0100 virtio-scsi: abort in-flight I/O when the device is reset When the device is reset, the SCSI bus should also be reset so that in-flight I/O is cancelled. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d0508c3664290baad379f6513c92cae6e5aac95b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:49:07 2013 +0100 qdev: add qbus_reset_all Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c43a6f05d5ef3c9484bd2be9d4e818d58e62016 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 10 16:19:07 2013 +0100 Make all static TypeInfos const Since 39bffca2030950ef6efe57c2fac8327a45ae1015 (qdev: register all types natively through QEMU Object Model), TypeInfo as used in the common, non-iterative pattern is no longer amended with information and should therefore be const. Fix the documented QOM examples: sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h Since frequently the wrong examples are being copied by contributors of new devices, fix all types in the tree: sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c This also avoids to piggy-back these changes onto real functional changes or other refactorings. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 63e3555e80c31776285accbb4d0c14ae91c457dc Merge: 52a71bf... a6308bc... Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Thu Jan 10 21:52:28 2013 +0100 Merge branch 'master' of git://git.qemu.org/qemu into prep-up Conflicts: hw/Makefile.objs hw/ppc_prep.c Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit a6308bc2224db238e72c570482717b68246a7ce0 Merge: 8757c09... 067f069... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 10 13:26:31 2013 -0600 Merge remote-tracking branch 'kraxel/build.1' into staging * kraxel/build.1: m48t59-test: don't touch watchdog rtc-test: skip year-2038 overflow check in case time_t is 32bit only Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8757c09f15dcd455f81b4faed73da0d35d7e6b53 Merge: 5e3bc73... 8fc94e5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 10 13:26:12 2013 -0600 Merge remote-tracking branch 'awilliam/tags/qemu-1.4-vfio-20130109.0' into staging vfio-pci: Fixes for qemu 1.4 & stable * awilliam/tags/qemu-1.4-vfio-20130109.0: vfio-pci: Loosen sanity checks to allow future features vfio-pci: Make host MSI-X enable track guest Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 517823449ebe8e3758b86c441cc74968b68e6491 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:10:22 2013 +0100 monitor: assert monitor_puts()'s loop invariant Chiefly to hush up Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 067f0691277325dcce8401534d2ffc6164305021 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 4 17:12:18 2013 +0100 m48t59-test: don't touch watchdog Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4e45deedf57c6cc7113b588282d0c16f89298aff Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 4 10:37:50 2013 +0100 rtc-test: skip year-2038 overflow check in case time_t is 32bit only Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6ad53bdf5830bfc30221aee8d4ced9a9eaf8fe03 Author: Wen Congyang <wency@xxxxxxxxxxxxxx> Date: Sat Dec 22 15:13:54 2012 +0800 target-i386: fix bits 39:32 of the final physical address when using 4M page ((pde & 0x1fe000) << 19) is the bits 39:32 of the final physical address, and we shouldn't use unit32_t to calculate it. Convert the type to hwaddr to fix this problem. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Jan 8 16:30:56 2013 +0100 Check return values from g_poll and select The current implementation of os_host_main_loop_wait() on Windows, returns 1 only when a g_poll() event occurs because the return value of select() is overridden. This is wrong as we may skip a socket event, as shown in this example: 1. select() returns 0 2. g_poll() returns 1 (socket event occurs) 3. os_host_main_loop_wait() returns 1 4. qemu_iohandler_poll() sees no socket event because select() has return before the event occurs 5. select() returns 1 6. g_poll() returns 0 (g_poll overrides select's return value) 7. os_host_main_loop_wait() returns 0 8. qemu_iohandler_poll() doesn't check for socket events because the return value of os_host_main_loop_wait() is zero. 9. goto 5 This patch use one variable for each of these return values, so we don't miss a select() event anymore. Also move the call to select() after g_poll(), this will improve latency as we don't have to go through two os_host_main_loop_wait() calls to detect a socket event. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7cd5da7eef152a533c5774effd2e7bbfa5976c86 Merge: 4b274b1... 96610da... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 9 09:55:51 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-8-2013' into staging * mdroth/qga-pull-1-8-2013: qemu-ga: sample fsfreeze hooks qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw qemu-ga: guest_suspend(): improve error reporting qemu-ga: bios_supports_mode(): improve error reporting qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() + error_set() qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set() qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set() qemu-ga: build_fs_mount_list(): take an Error argument qemu-ga: qmp_guest_shutdown(): improve error reporting qemu-ga: qmp_guest_file_*: improve error reporting qemu-ga: qmp_guest_file_close(): fix fclose() error check qemu-ga: guest_file_handle_find(): take an Error argument Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit feb9a2ab4b0260d8d680a7ffd25063dafc7ec628 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Sun Jan 6 21:30:31 2013 -0700 pci-assign: Enable MSIX on device to match guest When a guest enables MSIX on a device we evaluate the MSIX vector table, typically find no unmasked vectors and don't switch the device to MSIX mode. This generally works fine and the device will be switched once the guest enables and therefore unmasks a vector. Unfortunately some drivers enable MSIX, then use interfaces to send commands between VF & PF or PF & firmware that act based on the host state of the device. These therefore may break when MSIX is managed lazily. This change re-enables the previous test used to enable MSIX (see qemu-kvm a6b402c9), which basically guesses whether a vector will be used based on the data field of the vector table. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 5c03a2542fbe1a275fe3dd7ebd48a6a283b249ed Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:38 2012 +0100 pci: use constants for devices under the 1B36 device ID, document them Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 96610da210697a1f33669d8bec0cb7b944d3a516 Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Date: Wed Dec 12 12:55:57 2012 +0900 qemu-ga: sample fsfreeze hooks Adds sample hook scripts for --fsfreeze-hook option of qemu-ga. - fsfreeze-hook : execute scripts in fsfreeze-hook.d/ - fsfreeze-hook.d/mysql-flush.sh.sample : quiesce MySQL before snapshot Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit ec0f694c11e8e0958d727e40e0759ab99e5908d6 Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Date: Wed Dec 12 12:55:55 2012 +0900 qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw To use the online disk snapshot for online-backup, application-level consistency of the snapshot image is required. However, currently the guest agent can provide only filesystem-level consistency, and the snapshot may contain dirty data, for example, incomplete transactions. This patch provides the opportunity to quiesce applications before snapshot is taken. If --fsfreeze-hook option is specified, the hook is executed with "freeze" argument before the filesystem is frozen by fsfreeze-freeze command. As for fsfreeze-thaw command, the hook is executed with "thaw" argument after the filesystem is thawed. This patch depends on patchset to improve error reporting by Luiz Capitulino: http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03016.html Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> *clarified usage in help output Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7b3760879bf323a0d9654a5158d5b3ed51882505 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:04 2012 -0200 qemu-ga: guest_suspend(): improve error reporting Most errors are QERR_UNDEFINED_ERROR today. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6b26e837a40a7bed14080fb9029ad6c22409f8b3 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:03 2012 -0200 qemu-ga: bios_supports_mode(): improve error reporting Most errors are QERR_UNDEFINED_ERROR today. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 878a0ae0ab3eb8428626e67995c9efad8eb1ba80 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:02 2012 -0200 qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() + error_set() Convert them to error_setg_errno(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 071673b09021b60eab268653c6bcfba92eea7603 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:01 2012 -0200 qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set() Convert them to error_setg_errno(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 617fbbc13219d26dd71d100d83d617ec8acf5e2d Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:00 2012 -0200 qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set() Convert them to error_setg_errno(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 261551d1cc3a830e9623971dffa8033b216f1d63 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu Nov 29 15:29:11 2012 -0200 qemu-ga: build_fs_mount_list(): take an Error argument Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d220a6dfea10655efe70d37748a3c23cf0a00647 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:58 2012 -0200 qemu-ga: qmp_guest_shutdown(): improve error reporting Most errors are QERR_UNDEFINED_ERROR. Also, adds ga_wait_child() as a future commit will use it too. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit db3edb665549979b44e0376ab9e859f58b89b503 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:57 2012 -0200 qemu-ga: qmp_guest_file_*: improve error reporting Use error_setg_errno() when possible with an improved error description. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 3ac4b7c51e3ba181a86983ba2601a595ed8f3b1d Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:56 2012 -0200 qemu-ga: qmp_guest_file_close(): fix fclose() error check fclose() returns EOF on error. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a9de6d01df3153b2ac0cade11e26a66d596d7166 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:55 2012 -0200 qemu-ga: guest_file_handle_find(): take an Error argument Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> *Fixed missing space character in error message Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce Merge: 560c30b... ebe8b9c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 8 15:15:57 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: target-i386: Explicitly set vendor for each built-in cpudef target-i386: Sanitize AMD's ext2_features at realize time target-i386: Filter out unsupported features at realize time qemu-common.h: Make qemu_init_vcpu() stub static inline target-i386: check/enforce: Eliminate check_feat field target-i386: check/enforce: Check SVM flag support as well target-i386: check/enforce: Check all CPUID.80000001H.EDX bits target-i386: check/enforce: Do not ignore "hypervisor" flag target-i386: check/enforce: Fix CPUID leaf numbers on error messages target-i386: kvm: Enable all supported KVM features for -cpu host target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features cpu: Change parent type to Device qdev: Don't assume existence of parent bus on unparenting qdev: Include qdev code into *-user, too libqemustub: sysbus_get_default() stub libqemustub: vmstate register/unregister stubs libqemustub: Add qemu_[un]register_reset() stubs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8fc94e5a8046e349e07976f9bcaffbcd5833f3a2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Jan 8 14:10:03 2013 -0700 vfio-pci: Loosen sanity checks to allow future features VFIO_PCI_NUM_REGIONS and VFIO_PCI_NUM_IRQS should never have been used in this manner as it locks a specific kernel implementation. Future features may introduce new regions or interrupt entries (VGA may add legacy ranges, AER might add an IRQ for error signalling). Fix this before it gets us into trouble. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx commit b0223e29afdc88cc262a764026296414396cd129 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Jan 8 14:09:03 2013 -0700 vfio-pci: Make host MSI-X enable track guest Guests typically enable MSI-X with all of the vectors in the MSI-X vector table masked. Only when the vector is enabled does the vector get unmasked, resulting in a vector_use callback. These two points, enable and unmask, correspond to pci_enable_msix() and request_irq() for Linux guests. Some drivers rely on VF/PF or PF/fw communication channels that expect the physical state of the device to match the guest visible state of the device. They don't appreciate lazily enabling MSI-X on the physical device. To solve this, enable MSI-X with a single vector when the MSI-X capability is enabled and immediate disable the vector. This leaves the physical device in exactly the same state between host and guest. Furthermore, the brief gap where we enable vector 0, it fires into userspace, not KVM, so the guest doesn't get spurious interrupts. Ideally we could call VFIO_DEVICE_SET_IRQS with the right parameters to enable MSI-X with zero vectors, but this will currently return an error as the Linux MSI-X interfaces do not allow it. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx commit ebe8b9c6eb6e425d44805288b6b5dabd69368f46 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Dec 28 21:01:18 2012 +0100 target-i386: Explicitly set vendor for each built-in cpudef Since cpudef config is not supported anymore and all remaining sources now always set x86_def_t.vendor[123] fields, remove setting default vendor to simplify future re-factoring. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9b15cd9e7a1ab0827f4d01c4be77eb41f195073f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Dec 28 21:01:17 2012 +0100 target-i386: Sanitize AMD's ext2_features at realize time When CPU properties are implemented, ext2_features may change between object_new(CPU) and cpu_realize_fn(). Sanitizing ext2_features for AMD based CPU at realize() time will keep current behavior after CPU features are converted to properties. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4586f157757acc5c8edcc954289c7aa51661235c Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Dec 28 21:01:16 2012 +0100 target-i386: Filter out unsupported features at realize time Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 75a192aa68e7801ab8465b3345ac74d6d3cdceca Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:44:08 2013 +0100 qemu-common.h: Make qemu_init_vcpu() stub static inline Turn the *-user macro into a no-op inline function to avoid unused-variable warnings and band-aiding #ifdef'ery. This allows to drop an #ifdef for alpha and avoids more for unicore32 and other upcoming trivial realizefn implementations. Suggested-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit e8beac00bd26a60e788ab336f38bc12a95b20f0d Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:10 2013 -0200 target-i386: check/enforce: Eliminate check_feat field Now that all entries have check_feat=~0 in kvm_check_features_against_host(), we can eliminate check_feat entirely and make the code check all bits. This patch shouldn't introduce any behavior change, as check_feat is set to ~0 on all entries. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 396d2cfccdc1a46a8c66d9d9baaa59071a553b1c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:09 2013 -0200 target-i386: check/enforce: Check SVM flag support as well When nested SVM is supported, the kernel returns the SVM flag on GET_SUPPORTED_CPUID[1], so we can check the SVM flag safely in kvm_check_features_against_host(). I don't know why the original code ignored the SVM flag. Maybe it was because kvm_cpu_fill_host() used the CPUID instruction directly instead of GET_SUPPORTED_CPUID [1] Older kernels (before v2.6.37) returned the SVM flag even if nested SVM was _not_ supported. So the only cases where this patch should change behavior is when SVM is being requested by the user or the CPU model, but not supported by the host. And on these cases we really want QEMU to abort if the "enforce" option is set. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 227146259e8deb14b7b30e7718e61512e0f524a9 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:08 2013 -0200 target-i386: check/enforce: Check all CPUID.80000001H.EDX bits I have no idea why PPRO_FEATURES was being ignored on the check of the CPUID.80000001H.EDX bits. I believe it was a mistake, and it was supposed to be ~(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) or just ~CPUID_EXT2_AMD_ALIASES, because some time ago kvm_cpu_fill_host() used the CPUID instruction directly (instead of kvm_arch_get_supported_cpuid()). But now kvm_cpu_fill_host() uses kvm_arch_get_supported_cpuid(), and kvm_arch_get_supported_cpuid() returns all supported bits for CPUID.80000001H.EDX, even the AMD aliases (that are explicitly copied from CPUID.01H.EDX), so we can make the code check/enforce all the CPUID.80000001H.EDX bits. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 54830ff84df5d1fb182e91bf40e3d7c66c2559a4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:07 2013 -0200 target-i386: check/enforce: Do not ignore "hypervisor" flag We don't need any hack to ignore CPUID_EXT_HYPERVISOR anymore, because kvm_arch_get_supported_cpuid() now sets CPUID_EXT_HYPERVISOR properly. So, this shouldn't introduce any behavior change, but it makes the code simpler. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8b4beddc6bead9d7c85fe690b62f2621574eb195 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:06 2013 -0200 target-i386: check/enforce: Fix CPUID leaf numbers on error messages The -cpu check/enforce warnings are printing incorrect information about the missing flags. There are no feature flags on CPUID leaves 0 and 0x80000000, but there were references to 0 and 0x80000000 in the table at kvm_check_features_against_host(). This changes the model_features_t struct to contain the register number as well, so the error messages print the correct CPUID leaf+register information, instead of wrong CPUID leaf numbers. This also changes the format of the error messages, so they follow the "CPUID.<leaf>.<register>.<name> [bit <offset>]" convention used in Intel documentation. Example output: $ qemu-system-x86_64 -machine pc-1.0,accel=kvm -cpu Opteron_G4,+ia64,enforce warning: host doesn't support requested feature: CPUID.01H:EDX.ia64 [bit 30] warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26] warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28] warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5] warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6] warning: host doesn't support requested feature: CPUID.80000001H:ECX.misalignsse [bit 7] warning: host doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8] warning: host doesn't support requested feature: CPUID.80000001H:ECX.xop [bit 11] warning: host doesn't support requested feature: CPUID.80000001H:ECX.fma4 [bit 16] Unable to find x86 CPU definition $ Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd004beff8db09b5790b1bb19fad3974e112f007 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:05 2013 -0200 target-i386: kvm: Enable all supported KVM features for -cpu host When using -cpu host, we don't need to use the kvm_default_features variable, as the user is explicitly asking QEMU to enable all feature supported by the host. This changes the kvm_cpu_fill_host() code to use GET_SUPPORTED_CPUID to initialize the kvm_features field, so we get all host KVM features enabled. This will also allow us to properly check/enforce KVM features inside kvm_check_features_against_host() later. For example, we will be able to make this: $ qemu-system-x86_64 -cpu ...,+kvm_pv_eoi,enforce refuse to start if kvm_pv_eoi is not supported by the host (after we fix kvm_check_features_against_host() to check KVM flags as well). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fcb93c036053ca8a5cfc02ca72b1b80dd2062423 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:04 2013 -0200 target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features The existing -cpu host code simply sets every bit inside svm_features (initializing it to -1), and that makes it impossible to make the enforce/check options work properly when the user asks for SVM features explicitly in the command-line. So, instead of initializing svm_features to -1, use GET_SUPPORTED_CPUID to fill only the bits that are supported by the host (just like we do for all other CPUID feature words inside kvm_cpu_fill_host()). This will keep the existing behavior (as filter_features_for_kvm() already uses GET_SUPPORTED_CPUID to filter svm_features), but will allow us to properly check for KVM features inside kvm_check_features_against_host() later. For example, we will be able to make this: $ qemu-system-x86_64 -cpu ...,+pfthreshold,enforce refuse to start if the SVM "pfthreshold" feature is not supported by the host (after we fix kvm_check_features_against_host() to check SVM flags as well). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 961f839570f01d60a0b224248e6e56fc1d675793 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:13 2012 -0200 cpu: Change parent type to Device This finally makes the CPU class a subclass of the Device class, allowing us to start using DeviceState properties on CPU subclasses. It has no_user=1, as creating CPUs using -device doesn't work yet. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5d5b24d042072fb4d13e7027f6e52e44390a9896 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 4 18:13:00 2013 +0100 qdev: Don't assume existence of parent bus on unparenting Commit 667d22d1ae59da46b4c1fbd094ca61145f19b8c3 (qdev: move bus removal to object_unparent) made the assumption that at unparenting time parent_bus is not NULL. This assumption is unjustified since object_unparent() may well be called directly after object_initialize(), without any qdev_set_parent_bus(). This did not cause any issues yet because qdev_[try_]create() does call qdev_set_parent_bus(), falling back to SysBus if unsupplied. While at it, ensure that this new function uses the device_ prefix and make the name more neutral in light of this semantic change. Reported-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx> commit 507066f8a9610c0088df19ce7b3e436f43165ec1 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:12 2012 -0200 qdev: Include qdev code into *-user, too The code depends on some functions from qemu-option.o, so add qemu-option.o to universal-obj-y to make sure it's included. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 906709a151344805df4ff493a7d3a81fbce46fbe Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:09 2012 -0200 libqemustub: sysbus_get_default() stub The stub will be used on cases where sysbus.c is not compiled in (e.g. *-user). Note that code that uses NULL as the bus with qdev{_try,}_create() implicitly uses sysbus_get_default() as the bus, and will still require sysbus.c to be compiled in. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 083a5f8731bb3c7e0eae99dcdb1209027d770aaf Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:08 2012 -0200 libqemustub: vmstate register/unregister stubs Add vmstate stub functions, so that qdev.o can be used without savevm.o when vmstate support is not necessary (i.e. by *-user). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 41c6bcd912d1a2461313040566077b86e48eea31 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:07 2012 -0200 libqemustub: Add qemu_[un]register_reset() stubs This will be useful for code that don't call qemu_devices_reset() (e.g. *-user). If qemu_devices_reset() is never called, it means we don't need to keep track of the reset handler list. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b8ef62a9b746f2d7078d97c7ee5d1c7a31b42d5d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:37 2012 +0100 ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt Due to disagreement on a name that is generic enough for hw/pci/pci.h, the symbolic constants are placed in the .c files. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 13744bd0a054bc7a4b1432cc8facd23d41a9806e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:36 2012 +0100 virtio-9p: use symbolic constant, add to pci-ids.txt Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4ea9296c0738e7885e27f463bb6bcbab32b6ef7a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:35 2012 +0100 reorganize pci-ids.txt Some devices were missing, and we're using two PCI vendor ids. This patch only adds devices that are already documented in hw/pci/pci.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 28e7a650691fac674b3aa8697353e27f9c165b1b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:34 2012 +0100 docs: move pci-ids.txt to docs/specs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 560c30b1db1d40fe45c5104185367c4de43399d3 Merge: c3dd94b... 89eb147... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 8 10:36:20 2013 -0600 Merge remote-tracking branch 'kraxel/usb.75' into staging * kraxel/usb.75: (32 commits) uhci: stop using portio lists usbredir: Add support for buffered bulk input (v2) exynos4210: Add EHCI support usb/ehci: Add SysBus EHCI device for Exynos4210 usb/ehci: Move capsbase and opregbase into SysBus EHCI class usb/ehci: Clean up SysBus and PCI EHCI split xhci: call set-address with dummy usbpacket usb-redir: Add debugging to bufpq save / restore usbredir: Add usbredir_init_endpoints() helper usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci usbredir: Add ep_stopped USBDevice method usbredir: Add USBEP2I and I2USBEP helper macros usbredir: Add an usbredir_stop_ep helper function usb: Add an usb_device_ep_stopped USBDevice method usb: Fix usb_ep_find_packet_by_id hid: Change idle handling to use a timer uhci: Maximize how many frames we catch up when behind uhci: Limit amount of frames processed in one go uhci: Add a QH_VALID define uhci: Fix pending interrupts getting lost on migration ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3dd94b129e222e00a4ed00689e11afdd85c740f Merge: da1a4ce... 83f58e5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 8 10:36:13 2013 -0600 Merge remote-tracking branch 'stefanha/net' into staging * stefanha/net: rtl8139: preserve link state across device reset e1000: no need auto-negotiation if link was down net: clean up network at qemu process termination e1000: Discard oversized packets based on SBP|LPE Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da1a4cef9e125a866f4ef9a39b342c2913727f70 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Jan 2 05:08:48 2013 +0100 target-mips: Fix helper and tests for dot/cross-dot product instructions Helper function for dpa_w_ph, dpax_w_ph, dps_w_ph and dpsx_w_ph incorrectly defines halfword vector elements as unsigned values. This results in wrong output which is not triggered in the tests as they also follow this logic. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e320d05a531ed4991a87cfe0a4c280563fb88788 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 19:44:31 2013 +0100 target-mips: Replace macros by inline functions The macros RESTORE_ROUNDING_MODE and RESTORE_FLUSH_MODE silently used variable env from their callers. Using inline functions with env passed as a function argument is more transparent. This modification was proposed by Peter Maydell. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e1a4019cf13ddf2441496c2e613faba3a891cddf Author: Eric Johnson <ericj@xxxxxxxx> Date: Mon Jan 7 22:26:44 2013 -0800 target-mips: Allow DSP access to be disabled once enabled. Clear the DSP hflags at the start of compute_hflags. Otherwise access is not properly disabled once enabled. Signed-off-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 314992b1a48a5a2a0f2b14195f959ad2c3f5b3ff Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 3 14:17:18 2013 +0100 linux-user: fix mips 32-on-64 prealloc case MIPS only supports 31 bits of virtual address space for user space, so let's make sure we stay within that limit with our preallocated memory block. This fixes the MIPS user space targets when executed without command line option. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 89eb147c2cfd2c797d3662aa2f55254441f0595a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 3 12:29:41 2013 +0100 uhci: stop using portio lists Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b2d1fe67d09d2b6c7da647fbcea6ca0148c206d3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Dec 19 15:08:33 2012 +0100 usbredir: Add support for buffered bulk input (v2) Buffered bulk mode is intended for bulk *input* endpoints, where the data is of a streaming nature (not part of a command-response protocol). These endpoints' input buffer may overflow if data is not read quickly enough. So in buffered bulk mode the usb-host takes care of the submitting and re-submitting of bulk transfers. Buffered bulk mode is necessary for reliable operation with the bulk in endpoints of usb to serial convertors. Unfortunatelty buffered bulk input mode will only work with certain devices, therefor this patch also adds a usb-id table to enable it for devices which need it, while leaving the bulk ep handling for other devices unmodified. Note that the bumping of the required usbredir from 0.5.3 to 0.6 does not mean that we will now need a newer usbredir release then qemu-1.3, .pc files reporting 0.5.3 have only ever existed in usbredir builds directly from git, so qemu-1.3 needs the 0.6 release too. Changes in v2: -Split of quirk handling into quirks.c Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 7682e8580722f951559f372ba3d2b6170fdbe734 Author: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx> Date: Mon Jan 7 15:38:39 2013 -0500 readline: avoid memcpy() of overlapping regions memcpy() for overlapping regions is undefined behavior; use memmove() instead in readline_hist_add(). [Keep tab characters since surrounding code still uses them -- Stefan] Signed-off-by: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f56a12475ff1b8aa61210d08522c3c8aaf0e2648 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 24 17:37:01 2012 +0200 vhost: backend masking support Support backend guest notifier masking in vhost-net: create eventfd at device init, when masked, make vhost use that as eventfd instead of sending an interrupt. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 24f4fe345c1b80bab1ee18573914123d8028a9e6 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 25 17:41:07 2012 +0200 vhost: set started flag while start is in progress This makes it possible to use started flag for sanity checking of callbacks that happen during start/stop. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 1830b80ff29dbd9d149f7f3cb565a690b5d5994c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 25 17:38:59 2012 +0200 virtio-net: set/clear vhost_started in reverse order As vhost started is cleared last thing on stop, set it first things on start. This makes it possible to use vhost_started while start is in progress which is used by follow-up patches. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit f1d0f15a6d46bd47e7658e44a004c8898c8cb91e Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 24 17:35:27 2012 +0200 virtio: backend virtqueue notifier masking some backends (notably vhost) can mask events at their source in a way that is more efficient than masking through kvm. Specifically - masking in kvm uses rcu write side so it has high latency - in kvm on unmask we always send an interrupt masking at source does not have these issues. Add such support in virtio.h and use in virtio-pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 774345f981854b026e24aeb0833311183a8e8067 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Fri Dec 21 00:27:54 2012 +0200 virtio-pci: cache msix messages Some guests mask a vector then unmask without changing it. Store vectors to avoid kvm system calls in this case. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 078bbb504031dc89616d4b67adcf2ce884cb880b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Fri Dec 21 00:47:46 2012 +0200 kvm: add stub for update msi route Will be used by virtio-pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4c93bfa9c9f00104b5c7e837da697f9506cb70c7 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Fri Dec 21 00:27:02 2012 +0200 msix: add api to access msix message Will be used by virtio pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2d620f593d9395abd9aa453f8ae0861a51d674d8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Dec 20 14:28:58 2012 +0200 virtio: don't waste irqfds on control vqs Pass nvqs to set_guest_notifiers. This makes it possible to save on irqfds by not allocating one for the control vq for virtio-net. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 61993a67128095946ed5df51c3c20748182d8efc Author: Samuel Seay <lightningth@xxxxxxxxx> Date: Fri Jan 4 14:35:48 2013 +0000 PPC: linux-user: Calculate context pointer explicitly Peter Maydell recommended the change to be more proper. The result was tested and shows coming up with the same proper value. Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx> [agraf: change subject] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 6 08:31:31 2013 +0000 target-ppc: Error out for -cpu host on unknown PVR Previously we silently exited, with subclasses we got an opcode warning. Instead, explicitly tell the user what's wrong. An indication for this is -cpu ? showing "host" with an all-zero PVR. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2985b86b5c9c068af203bd912309af033112039a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 6 08:31:30 2013 +0000 target-ppc: Slim conversion of model definitions to QOM subclasses Since the model list is highly macrofied, keep ppc_def_t for now and save a pointer to it in PowerPCCPUClass. This results in a flat list of subclasses including aliases, to be refined later. Move cpu_ppc_init() to translate_init.c and drop helper.c. Long-term the idea is to turn translate_init.c into a standalone cpu.c. Inline cpu_ppc_usable() into type registration. Split cpu_ppc_register() in two by code movement into the initfn and by turning the remaining part into a realizefn. Move qemu_init_vcpu() call into the new realizefn and adapt create_ppc_opcodes() to return an Error. Change ppc_find_by_pvr() -> ppc_cpu_class_by_pvr(). Change ppc_find_by_name() -> ppc_cpu_class_by_name(). Turn -cpu host into its own subclass. This requires to move the kvm_enabled() check in ppc_cpu_class_by_name() to avoid the class being found via the normal name lookup in the !kvm_enabled() case. Turn kvmppc_host_cpu_def() into the class_init and add an initfn that asserts KVM is in fact enabled. Implement -cpu ? and the QMP equivalent in terms of subclasses. This newly exposes -cpu host to the user, ordered last for -cpu ?. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 68c2dd70068fe82a1989d0d5b70a1ab400bde19a Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 4 11:21:04 2013 +0100 PPC: Bring EPR support closer to reality We already used to support the external proxy facility of FSL MPICs, but only implemented it halfway correctly. This patch adds support for * dynamic enablement of the EPR facility * interrupt acknowledgement only when the interrupt is delivered This way the implementation now is closer to real hardware. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1a61a9ae61cdf7b7d24c3eb711fe772c196c235e Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Thu Jan 3 12:37:02 2013 +0000 PPC: KVM: set has-idle in guest device tree On e500mc, the platform doesn't provide a way for the CPU to go idle. To still not uselessly burn CPU time, expose an idle hypercall to the guest if kvm supports it. Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> [agraf: adjust for current code base, add patch description, fix non-kvm case] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d4834ff9b72d7b89181e88b1a481564cb750c1b5 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 4 10:04:19 2013 +0100 kvm: Update kernel headers Corresponding kvm.git hash: 18eb54cf4a Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9f1d4b1d6939d39fe570d886f6a651f4764bcbcb Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:40 2013 +0000 openpic: fix CTPR and de-assertion of interrupts Properly implement level-triggered interrupts by withdrawing an interrupt from the raised queue if the interrupt source de-asserts. Also withdraw from the raised queue if the interrupt becomes masked. When CTPR is written, check whether we need to raise or lower the interrupt output. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a898a8fc96a071189206218b39b5db99531f5c8b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:39 2013 +0000 openpic: move IACK to its own function Besides making the code cleaner, we will need a separate way to access IACK in order to implement EPR (external proxy) interrupt delivery. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4417c73305f60e46a2370bcaf3635981f5dbc050 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:38 2013 +0000 openpic: IRQ_check: search the queue a word at a time Search the queue more efficiently by first looking for a non-zero word, and then using the common bit-searching function to find the bit within the word. It would be even nicer if bitops_ffsl() could be hooked up to the compiler intrinsic so that bit-searching instructions could be used, but that's another matter. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6c5e84c25fc70717c410150b23c765bedf0af52d Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:37 2013 +0000 openpic: fix sense and priority bits Previously, the sense and priority bits were masked off when writing to IVPR, and all interrupts were treated as edge-triggered (despite the existence of code for handling level-triggered interrupts). Polarity is implemented only as storage. We don't simulate the bad effects that you'd get on real hardware if you set this incorrectly, but at least the guest sees the right thing when it reads back the register. Sense now controls level/edge on FSL external interrupts (and all interrupts on non-FSL MPIC). FSL internal interrupts do not have a sense bit (reads as zero), but are level. FSL timers and IPIs do not have sense or polarity bits (read as zero), and are edge-triggered. To accommodate FSL internal interrupts, QEMU's internal notion of whether an interrupt is level-triggered is separated from the IVPR bit. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 65b9d0d5659687ebb85b1305ac70b3a84df16e5a Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:50 2012 +0000 openpic: add some bounds checking for IRQ numbers The two checks with abort() guard against potential QEMU-internal problems, but the EOI check stops the guest from causing updates to queue position -1 and other havoc if it writes EOI with no interrupt in service. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: remove hunk in code that didn't get applied yet] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e69a17f65e9f12f33c48b04a789e49d40a8993f5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:48 2012 +0000 openpic: use standard bitmap operations Besides the private implementation being redundant, namespace collisions prevented the use of other things in bitops.h. Serialization does get a bit more awkward, unfortunately, since the standard bitmap operations are "unsigned long" rather than "uint32_t", though in exchange we will get faster queue lookups on 64-bit hosts once we search a word at a time. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 47f73749c61765f7a898ac88f11995368740da10 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:47 2012 +0000 Revert "openpic: Accelerate pending irq search" This reverts commit a9bd83f4c65de0058659ede009fa1a241f379edd. This counting approach is not robust against setting a bit that was already set, or clearing a bit that was already clear. Perhaps that is considered a bug, but besides the lack of any documentation for that restriction, it's a pretty unpleasant way for the problem to manifest itself. It could be made more robust by testing the current value of the bit before changing the count, but a later patch speeds up IRQ_check in all cases, not just when there's nothing pending. Hopefully that should be adequate to address performance concerns. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3c94378e2c500b6211e95d7457f4a9959955c3d1 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:46 2012 +0000 openpic: always call IRQ_check from IRQ_get_next Previously the code relied on the queue's "next" field getting set to -1 sometime between an update to the bitmap, and the next call to IRQ_get_next. Sometimes this happened after the update. Sometimes it happened before the check. Sometimes it didn't happen at all. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 72c1da2ca72af50e6536d0cd9c6db758f66cd7c2 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:45 2012 +0000 openpic/fsl: critical interrupts ignore mask before v4.1 Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: make bool :1] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eb4384278417297661663c54e01c0f0ffec0a9e3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:44 2012 +0000 openpic: make ctpr signed Other priorities are signed, so avoid comparisons between signed and unsigned. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5e22c276de982dd26ebc4424c8d4592cce1baab9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:43 2012 +0000 openpic: rework critical interrupt support Critical interrupts on FSL MPIC are not supposed to pay attention to priority, IACK, EOI, etc. On the currently modeled version it's not supposed to pay attention to the mask bit either. Also reorganize to make it easier to implement newer FSL MPIC models, which encode interrupt level information differently and support mcheck as well as crit, and to reduce problems for later patches in this set. Still missing is the ability to lower the CINT signal to the core, as IACK/EOI is not used. This will come with general IRQ-source-driven lowering in the next patch. New state is added which is not serialized, but instead is recomputed in openpic_load() by calling the appropriate write_IRQreg function. This should have the side effect of causing the IRQ outputs to be raised appropriately on load, which was missing. The serialization format is altered by swapping ivpr and idr (we'd like IDR to be restored before we run the IVPR logic), and moving interrupts to the end (so that other state has been restored by the time we run the IDR/IVPR logic. Serialization for this driver is not yet in a state where backwards compatibility is reasonable (assuming it works at all), and the current serialization format was not built for extensibility. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: fix for current code state] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit be7c236fa2e59090d7cd0193ca3f225c331d5f81 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:42 2012 +0000 openpic: make register names correspond better with hw docs The base openpic specification doesn't provide abbreviated register names, so it's somewhat understandable that the QEMU code made up its own, except that most of the names that QEMU used didn't correspond to the terminology used by any implementation I could find. In some cases, like PCTP, the phrase "processor current task priority" could be found in the openpic spec when describing the concept, but the register itself was labelled "current task priority register" and every implementation seems to use either CTPR or the full phrase. In other cases, individual implementations disagree on what to call the register. The implementations I have documentation for are Freescale, Raven (MCP750), and IBM. The Raven docs tend to not use abbreviations at all. The IBM MPIC isn't implemented in QEMU. Thus, where there's disagreement I chose to use the Freescale abbreviations. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: rebase on current state of the code] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a1bb73849fbd7d992b6ac2cf30c034244fb2299d Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:41 2012 +0000 ppc/booke: fix crit/mcheck/debug exceptions Book E does not play games with certain bits of xSRR1 being MSR save bits and others being error status. xSRR1 is the old MSR, period. This was causing things like MSR[CE] to be lost, even in the saved version, as soon as you take an exception. rfci/rfdi/rfmci are fixed to pass the actual xSRR1 register contents, rather than the register number. Put FIXME comments on the hack that is "asrr0/1". The whole point of separate exception levels is so that you can, for example, take a machine check or debug interrupt without corrupting critical-level operations. The right xSRR0/1 set needs to be chosen based on CPU type flags. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e99fd8af63a1692a1159cba8fa4943f2589adf97 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:39 2012 +0000 openpic: lower interrupt when reading the MSI register This will stop things from breaking once it's properly treated as a level-triggered interrupt. Note that it's the MPIC's MSI cascade interrupts that are level-triggered; the individual MSIs are edge-triggered. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4c4f0e4801ac79632d03867c88aafc90b4ce503c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:38 2012 +0000 openpic: fix debug prints Fix various format errors when debug prints are enabled. Also cause error checking to happen even when debug prints are not enabled, and consistently use 0x for hex output. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: adjust for more recent code base, prettify DPRINTF macro] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit beb526b12134a6b6744125deec5a7fe24a8f92e3 Author: Samuel Seay <lightningth@xxxxxxxxx> Date: Wed Jan 2 10:53:46 2013 +0000 PPC: fix segfault in signal handling code Removed h2g() macro around the ka->_sa_handler due to the _sa_handler being a guest memory address. Changed the __put_user to put_user as it was attempting to put a value at the stack address but the new address is a guest memory address, __put_user is for host memory addresses. Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> [agraf: change subject line, reformat commit message] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 88a78d9093917096feffeba66802be27d0e64ead Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Thu Dec 27 19:16:51 2012 +0000 PPC: Reset qemu timers when guest reset This patch install the timer reset handler. This will be called when the guest is reset. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: adjust for QOM'ification] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit af7e9e74c6a62a5bcd911726a9e88d28b61490e0 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 20 17:30:58 2012 +0100 openpic: fix coding style issues This patch fixes the following coding style violations: - structs have to be typedef and be CamelCase - if()s are always surrounded by curly braces Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d56af005dc3d6354bd39411e8446b415bbcf86b8 Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Tue Dec 18 01:13:58 2012 +0000 powerpc: linux header sync script includes epapr_hcalls.h epapr_hcalls.h is now referenced by kvm_para.h. so this is needed for QEMU to get compiled on powerpc. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c3203fa5b2c17a1c446e44c87788fef21b4af5f4 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:02 2012 +0000 openpic: don't crash on a register access without a CPU context If we access a register via the QEMU memory inspection commands (e.g. "xp") rather than from guest code, we won't have a CPU context. Gracefully fail to access the register in that case, rather than crashing. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a26a7b38331dc14893a66fbe78f34afab153d6b2 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:04 2012 +0000 openpic: s/opp->nb_irqs -1/opp->nb_cpus - 1/ "opp->nb_irqs-1" would have been a minor coding style error, but putting in one space but not the other makes it look confusingly like a numeric literal "-1". Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0d4046833ba44c5f29e5dcce2dde0a6202225e59 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:03 2012 +0000 openpic: BRR1 is not a CPU-specific register. It's in the address range that normally contains a magic redirection to the CPU-specific region of the curretn CPU, but it isn't actually a per-CPU register. On real hardware BRR1 shows up only at 0x40000, not at 0x60000 or other non-magic per-CPU areas. Plus, this makes it possible to read the register on the QEMU command line with "xp". Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0fe04622c11a4f131070196ad5cd97ce94d9c33b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:01 2012 +0000 openpic: support large vectors on FSL mpic Previously only the spurious vector was sized appropriately to the openpic model. Also, instances of "IPVP_VECTOR(opp->spve)" were replace with just "opp->spve", as opp->spve is already just a vector and not an IVPR. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c975330ec4f5674f2899331f914c04ecba6edf26 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:00 2012 +0000 openpic: remove pcsr (CPU sensitivity register) I could not find this register in any spec (FSL, IBM, or OpenPIC) and the code doesn't do anything with it but initialize, save, or restore it. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 71c6cacb241689bbf99d54467dc2ae6912ffdab9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:11:59 2012 +0000 openpic: symbolicize some magic numbers Deefine symbolic names for some register bits, and use some that have already been defined. Also convert some register values from hex to decimal when it improves readability. IPVP_PRIORITY_MASK is corrected from (0x1F << 16) to (0xF << 16), in conjunction with making wider use of the symbolic name. I looked at Freescale and IBM MPIC docs and at the base OpenPIC spec, and all three had priority as 4 bits rather than 5. Plus, the magic nubmer that is being replaced with symbolic values treated the field as 4 bits wide. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 358d615b6908b4916c74819ffad823cb4a74314e Author: Liming Wang <walimisdev@xxxxxxxxx> Date: Sun Dec 16 04:49:46 2012 +0100 exynos4210: Add EHCI support Add EHCI USB host controller to exynos4210. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit aee7499a59d6778c10b018da41db4a22655ef8a8 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Dec 16 04:49:45 2012 +0100 usb/ehci: Add SysBus EHCI device for Exynos4210 It uses a different capsbase and opregbase than the Xilinx device. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Cc: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4a4343671e183824a3f5db76ad561ce01e6c6e0a Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Dec 16 04:49:44 2012 +0100 usb/ehci: Move capsbase and opregbase into SysBus EHCI class This allows specific derived models to use different values. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5aa3ca9f53cc7a1bf76b7583c46937a73914394a Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Dec 16 04:49:43 2012 +0100 usb/ehci: Clean up SysBus and PCI EHCI split SysBus EHCI was introduced in a hurry before 1.3 Soft Freeze. To use QOM casts in place of DO_UPCAST() / FROM_SYSBUS(), we need an identifying type. Introduce generic abstract base types for PCI and SysBus EHCI to allow multiple types to access the shared fields. While at it, move the state structs being amended with macros to the header file so that they can be embedded. The VMSTATE_PCI_DEVICE() macro does not play nice with the QOM parent_obj naming convention, so defer that cleanup. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a820b575787ac0b6b274b6a89aa6ef9813b4c782 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 13:10:39 2012 +0100 xhci: call set-address with dummy usbpacket Due to the way devices are addressed with xhci (done by hardware, not the guest os) there is no packet when invoking the set-address control request. Create a dummy packet in that case to avoid null pointer dereferences. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e97f0aca796fb949f9d34c50603511048a52b39b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:46 2012 +0100 usb-redir: Add debugging to bufpq save / restore Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bd019b735ac422bf9a40e1865e3d59f2e128604f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:45 2012 +0100 usbredir: Add usbredir_init_endpoints() helper Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d3aea641a4002e0abe940c65d318ef38eda245df Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:44 2012 +0100 usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci The xhci-hcd may submit bulk transfers > 65535 bytes even when not using bulk-in pipeling, so usbredir can only be used in combination with an xhci hcd if the client has the 32 bits bulk length capability. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d8553dd0475a967042193cdcf4d02c8ce5e73730 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:43 2012 +0100 usbredir: Add ep_stopped USBDevice method To ensure that interrupt receiving is properly stopped when the guest is no longer interested in an interrupt endpoint. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7e9638d3eb5c0b4c5920dac72bb2e6885652c029 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:42 2012 +0100 usbredir: Add USBEP2I and I2USBEP helper macros Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f8c126f329892ec8941e5bbe6ba411d78cfc66cb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:41 2012 +0100 usbredir: Add an usbredir_stop_ep helper function Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f79738b03ba55a5c9733c6dc2455964a6f8fdac9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:40 2012 +0100 usb: Add an usb_device_ep_stopped USBDevice method Some usb devices (host or network redirection) can benefit from knowing when the guest stops using an endpoint. Redirection may involve submitting packets independently from the guest (in combination with a fifo buffer between the redirection code and the guest), to ensure that buffers of the real usb device are timely emptied. This is done for example for isoc traffic and for interrupt input endpoints. But when the (re)submission of packets is done by the device code, then how does it know when to stop this? For isoc endpoints this is handled by detecting a set interface (change alt setting) command, which works well for isoc endpoints. But for interrupt endpoints currently the redirection code never stops receiving data from the device, which is less then ideal. However the controller emulation is aware when a guest looses interest, as then the qh for the endpoint gets unlinked (ehci, ohci, uhci) or the endpoint is explicitly stopped (xhci). This patch adds a new ep_stopped USBDevice method and modifies the hcd code to call this on queue unlink / ep stop. This makes it possible for the redirection code to properly stop receiving interrupt input (*) data when the guest no longer has interest in it. *) And in the future also buffered bulk input. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6735d433729f80fab80c0a1f70ae131398645613 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:39 2012 +0100 usb: Fix usb_ep_find_packet_by_id usb_ep_find_packet_by_id mistakenly only checks the first packet and if that is not a match, keeps trying the first packet! This patch fixes this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 027c03f7327faa696e1d876954a18b5214c18583 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:38 2012 +0100 hid: Change idle handling to use a timer This leads to cleaner code in usb-hid, and removes up to a 1000 calls / sec to qemu_get_clock_ns(vm_clock) if idle-time is set to its default value of 0. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9fdf70272702095f57efc51a80c79493fd0829b8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:37 2012 +0100 uhci: Maximize how many frames we catch up when behind If somehow we've gotten behind a lot, simply skip ahead, like the ehci code does. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f8f48b6957bf182339495e6be429f7bdc7ef1981 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:36 2012 +0100 uhci: Limit amount of frames processed in one go Before this patch uhci would process an unlimited amount of frames when behind on schedule, by setting the timer to a time already past, causing the timer subsys to immediately recall the frame_timer function gain. This would cause invalid cancellations of bulk queues when the catching up processed more then 32 frames at a moment when the bulk qh was temporarily unlinked (which the Linux uhci driver does). This patch fixes this by processing maximum 16 frames in one go, and always setting the timer one ms later, making the code behave more like the ehci code. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 475443cf14d7ef01b9ea56eed8657804f7bdf664 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:35 2012 +0100 uhci: Add a QH_VALID define Rather then using the magic 32 value in various places. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ecfdc15f4351a17989d446f4f1e6d1931d9c1677 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:34 2012 +0100 uhci: Fix pending interrupts getting lost on migration Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 719c130dcaa3b1269beed71ca9cf6c43a0219b30 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:33 2012 +0100 uhci: Fix 1 ms delay in interrupt reporting to the guest Re-arrange how we process frames / increase frnum / report pending interrupts, to avoid a 1 ms delay in interrupt reporting to the guest. This increases the packet throughput for cases where the guest submits a single packet, then waits for its completion then re-submits from 500 pkts / sec to 1000 pkts / sec. This impacts for example the use of redirected / virtual usb to serial convertors. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4a9ef2c042207e4eddbd010ccf2e1c8264d8f0d6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:32 2012 +0100 ehci: Don't call commit_irq after raising PCD ehci_raise_irq(s, USBSTS_PCD), gets applied immediately so there is no need to call commit_irq after it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 52c15e5986cd0f6531a2989a81a964f77b4ed9c2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:31 2012 +0100 ehci: Further speedup rescanning if async schedule after raising an interrupt I tried lowering the time between raising an interrupt and rescanning the async schedule to see if the guest has queued a new transfer before, but that did not have any positive effect. I now believe the cause for this is that lowering this time made it more likely to hit the 1 ms interrupt threshold penalty for the next packet, as described in my "ehci: Use uframe precision for interrupt threshold checking" commit. Now that we do interrupt threshold handling with uframe precision, futher lowering this time from .5 to .25 ms gives an extra 15% improvement in speed (MB/s) reading from a simple USB-2.0 thumb-drive. While at it also properly set the int_req_by_async flag for short packet completions. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9359a58b122187964d7465d48165680eadbf69d3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Dec 18 14:17:02 2012 +0100 ehci: Use uframe precision for interrupt threshold checking (v2) Before this patch, the following could happen: 1) Transfer completes, raises interrupt 2) .5 ms later we check if the guest has queued up any new transfers 3) We find and execute a new transfer 4) .2 ms later the new transfer completes 5) We re-run our frame_timer to write back the completion, but less then 1 ms has passed since our last run, so frindex is not changed, so the interrupt threshold code delays the interrupt 6) 1 ms from the re-run our frame-timer runs again and finally delivers the interrupt This leads to unnecessary large delays of interrupts, this code fixes this by changing frindex to uframe precision and using that for interrupt threshold control, making the interrupt fire at step 5 for guest which have low interrupt threshold settings (like Linux). Note that the guest still sees the frindex move in steps of 8 for migration compatibility. This boosts Linux read speed of a simple cheap USB thumb drive by 6 %. Changes in v2: -Make the guest see frindex move in steps of 8 by modifying ehci_opreg_read, rather then using a shadow variable Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bbbc39ccacf66ef58261c155f9eed503947c3023 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:29 2012 +0100 ehci: Verify a queue's ep direction does not change ehci_fill_queue assumes that there is a one on one relationship between an ep and a qh, this patch adds a check to ensure this. Note I don't expect this to ever trigger, this is just something I noticed the guest might do while working on other stuff. The only way this check can trigger is if a guest mixes in and out qtd-s in a single qh for a non control ep. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 51e0c5d02951ee5bd653132e46123f6e963ff23f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:28 2012 +0100 ehci: Add an ehci_get_pid helper function Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e3fdfd488c47c2d6920e0964364f1238fb5bf0e2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:27 2012 +0100 ehci: Verify qtd for async completed packets Remove the short-circuiting of fetchqtd in fetchqh, so that the qtd gets properly verified before completing the transaction. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2b3de6ada5d180130ba083d5b45ed51ce8e4def2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:26 2012 +0100 ehci: writeback_async_complete_packet: verify qh and qtd Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 190d849249fd7fecbc75ec38f348197c152f4e87 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:25 2012 +0100 ehci: Move get / put_dwords upwards No other changes. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d066c57b1c97a1967c949aba643bba35329b32ee Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:24 2012 +0100 ehci: Verify guest does not change the token of inflight qtd-s This is not allowed, except for clearing active on cancellation, so don't warn when the new token does not have its active bit set. This unifies the cancellation path for modified qtd-s, and prepares ehci_verify_qtd to be used ad an extra check inside ehci_writeback_async_complete_packet(). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c643263409b42a31fd9b1458cd5158280b9c62e1 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:23 2012 +0100 ehci: Add ehci_verify_qh and ehci_verify_qtd helper functions Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f881c8d36b5c524348bc337b46baf34636079cf6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:22 2012 +0100 ehci: Add a ehci_writeback_async_complete_packet helper function Also drop the warning printf, which was there mainly because this was an untested code path (as the previous bug fixes to it show), but that no longer is the case now :) Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 83f58e570f21c3e7227e7fbef1fc0e18b5ed7ea9 Author: Amos Kong <akong@xxxxxxxxxx> Date: Fri Dec 28 17:29:11 2012 +0800 rtl8139: preserve link state across device reset A device reset does not affect the link state, only set_link does. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d Author: Amos Kong <akong@xxxxxxxxxx> Date: Fri Dec 28 17:29:10 2012 +0800 e1000: no need auto-negotiation if link was down Commit b9d03e352cb6b31a66545763f6a1e20c9abf0c2c added link auto-negotiation emulation, it would always set link up by callback function. Problem exists if original link status was down, link status should not be changed in auto-negotiation. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f30dbae63a46f23116715dff8d130c7d01ff02be Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Dec 11 22:20:15 2012 +0800 net: clean up network at qemu process termination We don't clean up network if fails to parse "-device" parameters without calling net_cleanup(). I touch a problem, the tap device which is created by qemu-ifup script could not be removed by qemu-ifdown script. Some similar problems also exist in vl.c In this patch, if network initialization successes, a cleanup function will be registered to be called at qemu process termination. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c0331f4f7d241995452b99afaf0aab00493334a Author: Michael Contreras <michael@xxxxxxxxxxx> Date: Wed Dec 5 13:31:30 2012 -0500 e1000: Discard oversized packets based on SBP|LPE Discard packets longer than 16384 when !SBP to match the hardware behavior. Signed-off-by: Michael Contreras <michael@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8e4a424b305e29dc0e454f52df3b35577f342975 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Jan 6 18:30:17 2013 +0000 Revert "virtio-pci: replace byte swap hack" This reverts commit 9807caccd605d09a72495637959568d690e10175. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9807caccd605d09a72495637959568d690e10175 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 14 20:39:14 2012 +0000 virtio-pci: replace byte swap hack Remove byte swaps by declaring the config space as native endian. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1d728c394652d40a9065668606d62f28bc544949 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Tue May 1 18:45:39 2012 +0000 tests: add gcov support Add support for compiling for GCOV test coverage, enabled with '--enable-gcov' during configure. Test coverage will be reported after each test. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2b35e93fbfc52c2be6cf85e5a54a3707cdabd914 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Dec 5 09:23:25 2012 -0600 target-s390: Claim maintainership Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 26cc0a3fd11d537bdd2649b5f3c385ad858b1857 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:32:25 2012 -0800 target-s390: Use noreturn for exception and load_psw Both always exit the cpu loop. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 893e1660d5b9be0900bb1f09e574b1856eb30783 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:31:29 2012 -0800 target-s390: Use TCG_CALL_NO_WG for misc helpers Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c20fec4055f06de6d96789d1a290f284fac48fc4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:25:57 2012 -0800 target-s390: Use TCG_CALL_NO_WG for integer helpers The division routines do not read or write tcg registers, but can raise fixed-point divide exceptions. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c482ea94eaf26761e5cc0e53259cf1a98db29622 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:21:54 2012 -0800 target-s390: Use TCG_CALL_NO_WG for floating-point helpers None of them read or write tcg registers, but most can raise fp exceptions. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d918a65c690c321f56e7ce4b5a9e1f2fbe32bb1b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:20:43 2012 -0800 target-s390: Use TCG_CALL_NO_WG for memory helpers Those that do not read or write tcg registers, but can raise exceptions via memory faults. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b7886de3f36111b71ee0664a0b992f6c5b55de7d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 17:09:35 2012 -0700 target-s390: Perform COMPARE AND SWAP inline Still no proper solution for CONFIG_USER_ONLY, but the system version is significantly better. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit bacf43c62e54ee21494c4bf0c39d96d2bcc0e260 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 21 06:57:09 2012 -0700 target-s390: Optimize get_address Don't load the displacement into a register first, add it second so that tcg_gen_addi_i64 can eliminate zeros. Don't mask the displacement first so that we don't turn small negative numbers into large positive numbers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c95ec459c6c39b7a7e1850f82abd95eca4ccfcce Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 09:51:40 2012 -0700 target-s390: Optimize ADDC/SUBB Giving the proper mask to disas_jcc allows us to generate an inline comparison generating the carry/borrow with setcond. In the very worst case, when we must use the external helper to compute a value for CC, we generate (cc > 1) instead of (cc >> 1), which is only very slightly slower on common cpus. In the very best case, when the CC comes from a COMPARE insn and the compiler is using ALCG with zero, everything folds out to become just the setcond that the compiler wanted. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a359b770c60bf3085c244bc9d5a5fd8fcf286bce Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 09:41:33 2012 -0700 target-s390: Optimize ADDU/SUBU CC testing We can easily generate some masks for logical add/subtract inline. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit de379661d5c7cc1d219000d0741f5d96ced56553 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 07:55:51 2012 -0700 target-s390: Tidy comparisons After full conversion, we can audit the uses of LTGT cc ops and see that none of the instructions can ever set CC=3. Thus we can extend the table to treat that bit as ignored. This fixes a regression wrt the pre-conversion translation in which NE was used for both m=6 and m=7. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f24c49c24a4979fe50eff7afe18f371f5809177d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 19 13:50:07 2012 -0700 target-s390: Optmize emitting discards While they aren't expensive, they aren't free to process. When we know that the three cc helper variables are dead, don't kill them. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d074ac6d266129f8f4e2aac5b0e6c39c22964d9a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 19 13:48:46 2012 -0700 target-s390: Optimize XC Notice XC with same address and convert that to store of zero. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 90b4f8ad7226960d3a21bd8fca894ce1e6b5e4cf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 12 16:52:31 2012 -0700 target-s390: Fix cpu_clone_regs R2 is the syscall return register, not R0. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 411edc22cbab9a44f6d6c6cdef8637ba1f313e37 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Sep 10 17:23:13 2012 -0700 target-s390: Implement LOAD/SET FP AND SIGNAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a12000b9ece917f62d6405e7ee83c8abb6ad7afa Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Sep 10 16:26:35 2012 -0700 target-s390: Implement SET ROUNDING MODE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d2d9feac6fa9f6fd40e8f251bcfdd9a9a0f421f8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Sep 9 16:04:17 2012 -0700 target-s390: Use uint64_to_float128 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1d1f63013539bccc877899116cccf106d318b04a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Sep 9 14:31:43 2012 -0700 target-s390: Implement LCDFR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 49f7ee802fa6695af61dc1e88638f426d47a22a5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 7 16:16:57 2012 -0700 target-s390: Check insn operand specifications Removes all the fixmes for even register numbers, etc. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2db014b5a73f295f6edbdc2c8400a94ccfc90624 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 14:13:52 2012 -0700 target-s390: Implement CPSDR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 99b4f24b3e636ab241b53bc16bf8f0a0ac4a2271 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 11:14:04 2012 -0700 target-s390: Implement POPCNT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2112bf1bfb696def31b211425e5e74e89f9574c3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 11:08:17 2012 -0700 target-s390: Implement CONVERT FROM LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6ac1b45f9b3cb788255c0fde7637ba663eba632c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 10:42:54 2012 -0700 target-s390: Implement CONVERT TO LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b92fa33486b240404923308b483a3318eb804c4a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 09:45:20 2012 -0700 target-s390: Implement STORE ON CONDITION Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 632086da28e1682c0129276656ee0d32274fcd17 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:55:00 2012 -0700 target-s390: Implement LOAD ON CONDITION Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1c2687518235aa38dd3dd270fc216e559d0509eb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 17:32:54 2012 -0700 target-s390: Implement COMPARE AND TRAP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 403e217f4073b885b7e02a1b64054ceca7202bf6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:54:00 2012 -0700 target-s390: Implement COMPARE RELATIVE LONG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e0def9094ef1997613e488768405bcfb589f0596 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 14:10:05 2012 -0700 target-s390: Implement PREFETCH Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d6c6372e186e7f17fe9eeec0c50a43b484669d71 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 13:54:13 2012 -0700 target-s390: Implement R[NOX]SBG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 143cbbc5ebc4a5b5beb82dc31ecc5ac5f6d511d2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:52:08 2012 -0700 target-s390: Implement LDGR, LGDR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2d6a869833d99d89fc4bbe42bdb35b2c1d808067 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 12:50:06 2012 -0700 target-s390: Implement RISBG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5550359f07b54d6fb6f38ee5dcbc198cff42bf51 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 10:53:49 2012 -0700 target-s390: Implement COMPARE AND BRANCH Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7a6c7067f034c5b887cda5e45ef660fe50ebbd1b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 17:28:17 2012 -0700 target-s390: Tidy s->op_cc handling There's no need to force computation of the true cc_op when taking an exception or single stepping. In either case we'll enter the next TB with s->cc_op = DYNAMIC and recompute anyway. Just make sure that s->cc_op is stored back to env->cc_op as needed. Delete some dead functions, avoid allocating unused TCG temps, drop the old s->is_jmp setting. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2cf5e350c4f7ec08aab5d70193310c721b8179e9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 29 12:57:55 2012 -0700 target-s390: Implement BRANCH ON INDEX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4f3adfb2a63416c434fdafdfa406604f2a18392b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 11:33:58 2012 -0700 target-s390: Delete dead code from old translator The use of inline restricts detection of static functions that are no longer used. Limit the use of inline to those functions that are conditionally used based on CONFIG_USER_ONLY. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dc458df91d00986885fe12ed25876aa6d0604cee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 11:12:40 2012 -0700 target-s390: Convert SERVC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7ab938d706b515cfe4680a823525693124e2047d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 11:04:48 2012 -0700 target-s390: Convert LPSWE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit fc778b55a5ae45abac2a94d591e7490622917872 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:58:59 2012 -0700 target-s390: Convert STFL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d14b3e09b21a297fddc62c0c7839156022079d05 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:43:38 2012 -0700 target-s390: Convert STSI Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 14244b21a041161185bb53c3eb29e3d8dc7bfe6e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:17:16 2012 -0700 target-s390: Convert SACF Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 39a5003c89191a46ec6af722ade3dfdf457e9f58 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:11:36 2012 -0700 target-s390: Convert STCKE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3d596f491250d66fffabbc60d0621ea72859e96c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:57:18 2012 -0700 target-s390: Convert CSP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 204504e2fa0ec0f11c806ad335edf6bd1f499e34 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:45:38 2012 -0700 target-s390: Convert STURA Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2c423fc070b3e260fc368e2573c76d7ddd52e165 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:36:20 2012 -0700 target-s390: Convert subchannel instructions While we're at it, list all of the chapter 14 subchannel insns. Which is easy since all merely need indicate non-operation. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5cc69c54f606005ea0432d83dafbec0f5b0e831a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:22:13 2012 -0700 target-s390: Convert RRBE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2bbde27f2548cb48f362eada1080e590f5453404 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:18:01 2012 -0700 target-s390: Convert SSKE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8026417c7169e7efd1696f3ed15e51306729176a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:13:38 2012 -0700 target-s390: Convert ISKE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cfef53e356119bddcba0724c0c26fd5940f231e3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 16:25:28 2012 -0700 target-s390: Convert IPTE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 411fea3d8400af5479690d6e22c6492c15e10a4a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 16:18:33 2012 -0700 target-s390: Convert STAP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e805a0d39e26fc85681db7e1bf58c91a5628eaff Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 16:11:32 2012 -0700 target-s390: Convert SPX, STPX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0568d8aab0b48cb033aad8ecaef5bc0c531ce9ff Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:59:26 2012 -0700 target-s390: Convert PTLB Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 28d555566719dada8e2d028ff611b4fb8a984e0c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:55:34 2012 -0700 target-s390: Convert SPKA Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c4f0a863c3b980694e2ccb8fa3252a0eb8ef6a97 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:47:26 2012 -0700 target-s390: Convert SPT, STPT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dd3eb7b54f0dbcf76e3ccfdf8535201049670378 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:36:58 2012 -0700 target-s390: Convert SCKC, STCKC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 434c91a5f4ed7219819678315b5529fbc35435e6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:31:07 2012 -0700 target-s390: Convert STCK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 352897995147c4a054679654048f5c128ca32743 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:20:49 2012 -0700 target-s390: Convert SCK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 71bd666963ad9fb004d7aa919b7222165e602173 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:21:47 2012 -0700 target-s390: Convert STIDP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4600c994d93fc9af2b045086dd31e613d2f9d7bc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 14:27:42 2012 -0700 target-s390: Convert SRST Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit aa31bf60312157aefb09f887e2f750c7d59a8bbc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:20:53 2012 -0700 target-s390: Convert CLST, MVST Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ee6c38d5b10fda25175fa85febde532a12456346 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:19:44 2012 -0700 target-s390: Convert MVPG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d62a4c97f2cab0bd8649e3cd0b7692f989dbb577 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 11:54:04 2012 -0700 target-s390: Convert EAR, SAR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 374724f91ab236b4f60ec4796f1601720486d06b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 11:38:12 2012 -0700 target-s390: Convert CKSM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6e2704e74d317ba077b680c2fc881724686fb24a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:18:21 2012 -0700 target-s390: Convert IPM Note that the previous placement of the PM field was incorrect. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8379bfdbca195af9df1e6ecf67f04402bd80d471 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 07:44:43 2012 -0700 target-s390: Convert LFPC, SFPC Note that we were failing to set the rounding mode in fpu_status. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 102bf2c63535122cba0d7917ed8cfb8cc1c7b14c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 07:39:11 2012 -0700 target-s390: Convert FLOGR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 683bb9a8889cd00e69b05ba78bd5ba27f2e4e958 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 21:08:22 2012 -0700 target-s390: Convert CONVERT FROM FIXED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 68c8bd93ccb0ee441d62b5b8b8911cf5c38663f8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 15:17:35 2012 -0700 target-s390: Convert CONVERT TO FIXED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 24db8412ec58a63556fb51fb157497342f1b08b8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:14:24 2012 -0700 target-s390: Convert LOAD ZERO Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 16d7b2a43b3325882d51677d76a0a3f082844f2b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 14:33:03 2012 -0700 target-s390: Convert FP SQUARE ROOT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5d7fd045cafeac1831c1999cb9e1251b7906c6b2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 15:58:27 2012 -0700 target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 31aa97d1ed87853835a2df4ea9db1566f85c57a2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 12:40:09 2012 -0700 target-s390: Convert TEST DATA CLASS Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 722bfec331504bf873a5e4ec4f232c4ed116dda2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 12:30:12 2012 -0700 target-s390: Convert MULTIPLY AND ADD, SUBTRACT Use the new float*_muladd interface to softfloat. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 83b00736f3d8033861c27b80c9d3fc7c44bbec99 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 12:02:38 2012 -0700 target-s390: Convert FP MULTIPLY Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f08a5c311d3047f2cafe72e3e377674e7f8acdcb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 7 11:41:12 2012 -0700 target-s390: Convert FP DIVIDE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1a800a2dcee541dee4f51aed5110ca9d5811c5e8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 11:05:03 2012 -0700 target-s390: Convert FP SUBTRACT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 587626f8da5e2ee15bbf9f636c78991d6c953387 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 10:48:20 2012 -0700 target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7691c23b1f7b508f3f5391e8f362579544be6980 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:59:19 2012 -0700 target-s390: Convert LLGT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e025e52aba7063c8137b7812e10d69500efb1fbb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:52:55 2012 -0700 target-s390: Convert STORE REVERSED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d54f58654187f8bafb4523a286a9baf46c531d06 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:35:40 2012 -0700 target-s390: Convert LOAD REVERSED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3e398cf9c2ffdee0c8f61d3bc8966357d0b8e095 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Sep 2 10:12:48 2012 -0700 target-s390: Convert LOAD CONTROL, part 2 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 112bf0791d615060ff9235318e13fd4725146ff8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:15:59 2012 -0700 target-s390: Convert TPROT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2ae680590667b5a8e4eb667a726b5d16d6553cb9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:11:53 2012 -0700 target-s390: Convert STCM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 32a44d5882ae82364a8e957a5e21cbeaaacc71a3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:59:22 2012 -0700 target-s390: Convert CLM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f3de39c485027a6b47bffb741f5209aa44052b71 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:46:55 2012 -0700 target-s390: Convert COMPARE AND SWAP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 504488b82770e053aa31861fd7ef31afdb874f27 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:17:58 2012 -0700 target-s390: Convert LCTL, STCTL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ea20490fdd9faacf9768363edcda3c76fed703ab Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:09:05 2012 -0700 target-s390: Convert EFPC, STFPC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0c2400155bc47dcfb7216f586457940a9f342462 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 13:52:23 2012 -0700 target-s390: Convert SIGP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d8fe4a9c284f244679ab251637bff81126d91dfe Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 13:15:10 2012 -0700 target-s390: Convert LRA Note that truncating the store to r1 based on PSW_MASK_64 is incorrect. We always modify the entire register. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 97c3ab61c46c1c0194657b8bead3d499600d8aab Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 13:00:27 2012 -0700 target-s390: Convert MVCP, MVCS Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4f7403d52b1c682df15c862f5e7ca0712b66089f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 12:54:07 2012 -0700 target-s390: Convert CLC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0a949039596edf43e5e32dc7cb0cb4e994497e4b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:54:19 2012 -0700 target-s390: Convert NC, XC, OC, TR, UNPK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit af9e5a04ea63b7ebbe7af2bb3553dc0e8a158d12 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:43:06 2012 -0700 target-s390: Convert MVC The code that was in gen_op_mvc was a bit confused wrt what lengths it wanted to handle. I also disbelieve that the inline memset is worthwhile. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit eb66e6a96904e50a9d0d1a76aecfe8675f4d8673 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:24:25 2012 -0700 target-s390: Convert CLCLE, MVCLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7df3e93aa953148841bd8a086cb3230f3d01a14c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 09:38:22 2012 -0700 target-s390: Convert LAM, STAM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 145cdb401995707d1261735da7f6be3d4a91d377 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:08:40 2012 -0700 target-s390: Convert STNSM, STOSM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a05d2b6b83544dd0ae915112d7a4565e8a3871f1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 10:57:56 2012 -0700 target-s390: Convert NI, XI, OI Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6a04d76a815c7daeb9f27b7503ebddce311958fe Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 10:22:28 2012 -0700 target-s390: Convert MOVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 77f8d6c3ed89ee02847709da6508cd4dcc1d2f2d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 09:49:37 2012 -0700 target-s390: Convert LOAD, STORE MULTIPLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a79ba3398a0aa7fdd544ce28d2950b4eeb3c16a5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 09:22:23 2012 -0700 target-s390: Convert SHIFT DOUBLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cbe24bfa91d21766f2953c2da92c1e3dd13d8387 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 09:15:19 2012 -0700 target-s390: Convert SHIFT, ROTATE SINGLE Note that we were missing the 32-bit SLA. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 972e35b9665db113c3d4df7d394ee8cbbf7446ee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:41:36 2012 -0700 target-s390: Convert DIAGNOSE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8b5ff57115e60589d772efeaa0c061ad6701e340 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:33:36 2012 -0700 target-s390: Convert LOAD PSW Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7d30bb73db3a2fa38a33556430754917d5d70c91 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:12:50 2012 -0700 target-s390: Convert SET SYSTEM MASK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c49daa51a8e19694a611971206e75bd245768e3c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:05:11 2012 -0700 target-s390: Convert CONVERT TO DECIMAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 00574261e1fcb318fdd4cc1293238fc1f50de341 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 12:26:53 2012 -0700 target-s390: Convert FP STORE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6e764e97ca4050f2105b10e158f4fcb2801470be Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 13:48:38 2012 -0700 target-s390: Convert EXECUTE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 58a9e35bcc23d44142a2a58ddf3fae51749f3f01 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 13:13:09 2012 -0700 target-s390: Convert INSERT CHARACTERS UNDER MASK Change the CC handling to be more like TEST UNDER MASK, with val & mask. This lets us handle ICMH much more like ICM. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 443aaeb8991022f3eadd2b65e14e805093e2a0e6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 12:36:10 2012 -0700 target-s390: Cleanup cc computation helpers The inline markers hid the fact that {n}abs_32 were unused because of typos in the main do_calc_cc function. Let the compiler handle auto-inlining here. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit afdc70bea01452367e372db7e2168b71bb3aa9b3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 07:12:29 2012 -0700 target-s390: Convert INSERT CHARACTER Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d764a8d12b24c8b97fe3ff2193aec04079e8db20 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 12:24:24 2012 -0700 target-s390: Convert FP LOAD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e1eaada955aab907b53a091b85421de9e8b8dd9c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:46:49 2012 -0700 target-s390: Convert MOVE LONG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b9836c1acd4ecb286bd1617857cc52df7b75c414 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:41:05 2012 -0700 target-s390: Convert SUPERVISOR CALL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d9a39927993a186b039d5be66cc85c0e735a78bc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:28:56 2012 -0700 target-s390: Convert SET ADDRESSING MODE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 00d2dc192fb866d077935f0dd298472d65d87eb6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:20:58 2012 -0700 target-s390: Convert TEST UNDER MASK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b4e2bd3563af75ba5b9fe809c8cf79d2d34aecf3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 17:27:40 2012 -0700 target-s390: Send signals for divide Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 891452e5e274967ffb87d10791620154f2cdc303 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 14:02:02 2012 -0700 target-s390: Convert DIVIDE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c61aad6943cd77046e47cdb5beedad9d035d2216 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 14:22:58 2012 -0700 target-s390: Convert BRANCH ON COUNT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7233f2ed17175eea043faad749143c1fb5ffe0b3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 08:28:02 2012 -0700 target-s390: Convert BRANCH ON CONDITION Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8ac33cdb8bfbf319adea60363cf1ba3e5dbf5c4f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Aug 18 11:38:19 2012 -0700 target-s390: Convert BRANCH AND SAVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4e4bb43899c4c97e14b59fbd7cd5cb44eea850a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 18:52:33 2012 -0700 target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW I'm resonably certain that the carry/borrow-out condition for both helpers was incorrect, failing to take into account the carry-in. Adding the new CC_OP codes also allows removing the awkward interface we used for the slb helpers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2b280b97085ae90e804c1b31557a79d1da2789a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 16:00:08 2012 -0700 target-s390: Convert STORE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit facfc8648728b5c5554b3269355a4c13824e664b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 15:01:36 2012 -0700 target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b9bca3e57a4570ce2aff46388fa1edc9da5437a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 11:38:37 2012 -0700 target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ade9dea429e202eabf87a36a20d1d3bbc34d8910 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 11:20:33 2012 -0700 target-s390: Convert LOAD LOGICAL IMMEDIATE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 11bf2d73d0dba509e14dbfc2189365410a5a2c06 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 11:03:39 2012 -0700 target-s390: Convert LOAD AND TEST Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c698d8768756c66dd0dd55ea884c69c2212d59f9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 10:27:29 2012 -0700 target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit aedec19d628dacf4f04ee7258ac2c5c9e47b5a7e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 09:57:07 2012 -0700 target-s390: Convert LOAD ADDRESS Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 22c37a08bd0ce680d6b9750c73704a025bc3fc93 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 09:45:53 2012 -0700 target-s390: Convert LOAD, LOAD LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a7e836d5ebef23022ec53a0dba5d3a1ac0883a03 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 16 15:20:51 2012 -0700 target-s390: Convert COMPARE, COMPARE LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3bbfbd1f956d82f552a0fe160abf929ec88a78ad Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 16:28:39 2012 -0700 target-s390: Convert AND, OR, XOR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1ac5889f48127321a585886524013fcb6e2c91e3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Sep 25 15:26:59 2012 -0700 target-s390: Convert 64-bit MULTIPLY LOGICAL Use a new "retxl" member of CPUS290XState to return the "eXtra Low" part of a 128-bit value. That said, this will get used when two independent values need returning (e.g. quotient+remainder) as well. At the same time, shuffle the elements of CPUS390XState to get this new space from existing padding in the structure. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d87aaf934f2fa24443bba7db60036b698e04d6a8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Sep 25 15:17:59 2012 -0700 target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d1c04a2ba05bec8567a52f28979288e2237dfe9c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Sep 25 15:10:35 2012 -0700 target-s390: Convert MULTIPLY HALFWORD, SINGLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e272b3ace35ffafe24754986b999bda19f56f373 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 16 14:42:49 2012 -0700 target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3f4cb56a4351b0710f90d1205f2d6178a8ebc02f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 14:46:42 2012 -0700 target-s390: Implement SUBTRACT HALFWORD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d82287dee9d8bfe2c4cb520e30c76244fcbb705c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 16 14:09:45 2012 -0700 target-s390: Convert ADD HALFWORD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d5a103cd6eb3b407feb4e007cb778a89b1b20c5f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 14 19:31:57 2012 -0700 target-s390: Reorg exception handling Make the user path more like the system path. Prepare for more kinds of runtime exceptions. Rename ILC to ILEN to make it clear that we want to pass around a full instruction length, rather than a "code" that happens to be stored one bit left in a larger field. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3fde06f5fb67dd9e5373b8105318e74e18eec895 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 13:31:01 2012 -0700 target-s390: Split out disas_jcc Lots of duplicated code replaced with a couple of tables. We no longer attempt to manually invert the logic operation: the comments now match the code. In the fully general test, constant propagate (1 << (3 - cc)) into (8 >> cc). The new function will be usable by non-branch insns as well. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ad044d09de62c10c361003765d5039396c057abe Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 15 17:16:22 2012 -0700 target-s390: Add format based disassassmbly infrastructure Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 51855ecf1a9d5a8388778571b8ab32134e83f378 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Sep 24 12:06:15 2012 -0700 target-s390: Fix PSW_MASK handling We were treating psw.mask as the 32-bit quantity it is in ESA mode. In particular, the CC field was at the wrong place. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2f22e2ec79c07de03016adefb166cf01745fc852 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 22 05:28:43 2012 -0700 target-s390: Tidy unconditional BRCL Yes, we're about to rewrite all of this, but having this unconditional jump recompute cc_op is a large source of "false diff errors" when trying to examine before and after dumps. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 9d126faf4279b324d5c4cdf09a3570d4a2041626 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 22 05:25:09 2012 -0700 target-s390: Fix BCR There were are two exit paths for which we forgot to copy s->cc_op back to the tcg register. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit afd43fecfe7f6e863884b850f53fac4a75c28d84 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 22 05:22:18 2012 -0700 target-s390: Fix SACF exit DISAS_EXCP is exit via exception; we wanted DISAS_JUMP. This matters when we start cleaning up the TB exit paths. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7e68da2a9dd112a1a4ef16e8ef3dc1916529ae6b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 19 09:14:33 2012 -0700 target-s390: Register helpers Which highlights a lot of cc helpers that no longer exist. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 431253c28f9177a3f4783dc47b952c8fffcf3177 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 06:57:35 2012 -0700 target-s390: Use TCG registers for FPR At the same time, tidy other usages of tcg_gen_deposit_i64. In some cases we can "type cast" rather than extend, and in others we can allow tcg_gen_deposit_i64 itself to optimize the HOST_LONG_BITS==32 case. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 063eb0f3038434ab4cf9ad4bcc19a8789e15d237 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 08:15:42 2012 -0700 target-s390: Add missing temp_free in gen_op_calc_cc Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6ee77b16630bc86c1a44f9df61b072c7974ba503 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 10:44:45 2012 -0700 target-s390: Fix gdbstub The real gdb protocol doesn't split out pc or cc as real registers. Those are pseudos that are extracted as needed from the PSW. Don't modify env->cc_op during read -- that way lies heisenbugs. Fill in the XXX for the fp registers. Remove duplicated defines in cpu.h. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 79be7c7b603f89da209098a03a5459beb09a579b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 14:13:12 2012 -0700 target-s390: Fix disassembly of cpsdr Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0fd81617fad2cae099348877099f6cf4c3bbc5bd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 12:49:47 2012 -0700 target-s390: Disassemble more z10 and z196 opcodes Also fix disassembly for COMPARE AND BRANCH. The table must be sorted by primary opcode, and several were out of place. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 549db5c32bb025501e2eeb23d2e5cc669061eb71 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jan 5 09:33:43 2013 +0100 hw/i386: Fix broken build for non POSIX hosts pc-testdev.c cannot be compiled with MinGW (and other non POSIX hosts): CC i386-softmmu/hw/i386/../pc-testdev.o qemu/hw/i386/../pc-testdev.c:38:22: warning: sys/mman.h: file not found qemu/hw/i386/../pc-testdev.c: In function â??test_flush_pageâ??: qemu/hw/i386/../pc-testdev.c:103: warning: implicit declaration of function â??mprotectâ?? ... Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1e397eadf1cf54920c45a2fdc204b1ade1b72d38 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Dec 31 10:09:04 2012 -0800 softfloat: Implement uint64_to_float128 Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 17ed229379d971ae117245b353324115a62b0014 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Dec 31 10:09:03 2012 -0800 softfloat: Fix uint64_to_float64 The interface to normalizeRoundAndPackFloat64 requires that the high bit be clear. Perform one shift-right-and-jam if needed. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a4c7ecd8ca998044bfafa0bdd7ea47270e7ebad6 Merge: 346c1f8... bfb82a2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 4 13:25:20 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: spice: drop incorrect vm_change_state_handler() opaque linux-user/syscall.c: remove forward declarations hw/mcf5206: Reduce size of lookup table Remove --sparc_cpu option from the configure list pseries: Remove unneeded include statement (fixes MinGW builds) pc_sysfw: Check for qemu_find_file() failure Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 346c1f8b52afca515fecf95d5c215751b73fe9e1 Merge: 72e5b27... 9ee59f3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 4 13:25:07 2013 -0600 Merge remote-tracking branch 'kraxel/testdev.1' into staging * kraxel/testdev.1: pc: remove bochs bios debug ports hw: Add test device for unittests execution add isa-debug-exit device. switch debugcon to memory api Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 72e5b276b2fcd5ac3c0b235f19ff0dc39ad9f82f Merge: 25bbf61... 503b19f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 4 13:24:49 2013 -0600 Merge remote-tracking branch 'kraxel/acpi.2' into staging * kraxel/acpi.2: apci: assign memory regions to ich9 lpc device apci: assign memory regions to piix4 acpi device acpi: autoload dsdt configure: also symlink *.aml files Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bfb82a28752d29291adf932c3a9941e8383203af Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Dec 19 14:07:16 2012 +0100 spice: drop incorrect vm_change_state_handler() opaque The spice_server pointer is a global variable and vm_change_state_handler() therefore does not use its opaque parameter. The vm change state handler is added with a pointer to the spice_server pointer. This is useless and we probably would not want 2 levels of pointers. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Uri Lublin <uril@xxxxxxxxxx> commit 586b0bef84c202bb2256a35eb71bfd6670262bd7 Author: John Spencer <maillist-qemu@xxxxxxxxxxx> Date: Wed Dec 26 00:49:49 2012 +0100 linux-user/syscall.c: remove forward declarations instead use the correct headers that define these functions. Requested-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx> Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 715857cbbabc8740792b608f9bc4cd9fad6ecb1d Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Dec 22 13:59:22 2012 +0100 hw/mcf5206: Reduce size of lookup table This typically reduces the size from 512 bytes to 128 bytes. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c242222c978d2c09411f2560915708c364ca2ce9 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Thu Dec 20 16:41:34 2012 +0800 Remove --sparc_cpu option from the configure list commit 9b9c37c36439ee0452632253dac7a31897f27f70 always assume sparcv9, the others are no longer supported. Remove --sparc_cpu option from the configure list. Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e2af7a4dc8d218c5fb5b41dd1d008fa111d0636e Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Dec 20 07:50:41 2012 +0100 pseries: Remove unneeded include statement (fixes MinGW builds) sys/mman.h is not needed (tested on Linux) and unavailable for MinGW, so remove it. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e7b1d0ea950fc760371c9580ba6b34c912369a38 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Dec 5 15:28:05 2012 +0100 pc_sysfw: Check for qemu_find_file() failure pc_fw_add_pflash_drv() ignores qemu_find_file() failure, and happily creates a drive without a medium. When pc_system_flash_init() asks for its size, bdrv_getlength() fails with -ENOMEDIUM, which isn't checked either. It fails relatively cleanly only because -ENOMEDIUM isn't a multiple of 4096: $ qemu-system-x86_64 -S -vnc :0 -bios nonexistant qemu: PC system firmware (pflash) must be a multiple of 0x1000 [Exit 1 ] Fix by handling the qemu_find_file() failure. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ee59f341f9d7a95b3a87b7cac3f74bcdda395fb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 09:59:55 2012 +0100 pc: remove bochs bios debug ports Prehistoric leftover, zap it. We poweroff via acpi these days. And having a port (0x501,0x502) where any random guest write will make qemu exit -- with no way to turn it off -- is a bad joke anyway. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ee0cc5415e6edc043bd84e855f7d0bf85bd97547 Author: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> Date: Thu Dec 13 12:48:53 2012 -0200 hw: Add test device for unittests execution Add a test device which supports the kvmctl ioports, so one can run the KVM unittest suite. Intended Usage: qemu-system-x86_64 -nographic \ -device pc-testdev \ -device isa-debug-exit,iobase=0xf4,iosize=0x04 \ -kernel /path/to/kvm/unittests/msr.flat Where msr.flat is one of the KVM unittests, present on a separate repo, git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git [ kraxel: more memory api + qom fixes ] CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bb355b1859dde19fbb4f856c6d0b8f46733142d7 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 12 15:54:59 2012 +0100 add isa-debug-exit device. When present it makes qemu exit on any write. Mapped to port 0x501 by default. Without this patch Anthony doesn't allow me to remove the bochs bios debug ports because his test suite uses this. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e8ba1ce92d8cbc4e77efcaf040077d3901098e5f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 12 15:43:35 2012 +0100 switch debugcon to memory api Also some QOM glue while being at it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 503b19fc5d018f4edc60fb771cf97f47cea71be2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 09:42:18 2012 +0100 apci: assign memory regions to ich9 lpc device Get rid of get_system_io() usage. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 56e5b2a1a655b9158c0d274a6f630927c9a5fb4b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 09:40:45 2012 +0100 apci: assign memory regions to piix4 acpi device Get rid of get_system_io() usage. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f7e4dd6c18ccfbaf6cd2f5eaaed2b77cabc8a406 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Dec 3 10:47:27 2012 +0100 acpi: autoload dsdt Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5acc2ec041b2fd5c9a85d9d12362c08d3b3bf339 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Dec 3 10:45:49 2012 +0100 configure: also symlink *.aml files Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 25bbf61e4bacd1e4fa4115ffcf151051b9d6608e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 3 14:23:03 2013 +0100 pty: unbreak libvirt Commit 586502189edf9fd0f89a83de96717a2ea826fdb0 breaks libvirt pty support because it tried to figure the pts name from stderr output. Fix this by moving the label to the end of the line, this way the libvirt parser does still recognise the message. libvirt looks for "char device redirected to ${ptsname}<whitespace>". Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ef4929fb3c25e03deca76c7f5d22fba08edf864f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Jan 3 11:56:16 2013 +0100 dataplane: use linux-headers/ for virtio includes The hw/dataplane/vring.c code includes linux/virtio_ring.h. Ensure that we use linux-headers/ instead of the system-wide headers, which may be out-of-date on older distros. This resolves the following build error on Debian 6: CC hw/dataplane/vring.o cc1: warnings being treated as errors hw/dataplane/vring.c: In function 'vring_enable_notification': hw/dataplane/vring.c:71: error: implicit declaration of function 'vring_avail_event' hw/dataplane/vring.c:71: error: nested extern declaration of 'vring_avail_event' hw/dataplane/vring.c:71: error: lvalue required as left operand of assignment Note that we now build dataplane/ for each target instead of only once. There is no way around this since linux-headers/ is only available for per-target objects - and it's how virtio, vfio, kvm, and friends are built. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dbd99ae302be8f51b547fb6283c91d0c9859b7d5 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 18:33:44 2013 +0100 configure: Write new file "config-all-disas.mak" when running configure Incremental builds added new lines to that file each time when configure was run. Now a new file with a comment line is written. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 503483336039a8b2b182535f87f4820d259fca82 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 18:43:56 2013 +0100 tci: Fix broken builds with TCG interpreter TCI no longer compiled after commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a. The TCI disassembler depends on data structures which are different for each QEMU target, so it cannot be compiled as a universal-obj today. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 74e91370beb3fabda515623b4491a8b7a024304a Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Dec 31 15:30:31 2012 +0400 savevm.c: cleanup system includes savevm.c suffers from the same problem as some other files. Some years ago savevm.c was created from vl.c, moving some code from there into a separate file. At that time, all includes were just copied from vl.c to savevm.c, without checking which ones are needed and which are not. But actually most of that stuff is _not_ needed. More, some stuff is wrong, for example, *BSD #ifdef'ery around <util.h> vs <libutil.h> - for one, it fails to build on Debian/kFreebsd. Just remove all this. Maybe there's a possibility to clean it up further - like removing <windows.h> (and maybe including winsock.h for htons etc), and maybe it's possible to remove some internal #includes too, but I didn't check this. While at it, remove duplicate #include of qemu/timer.h. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab51b1d568e02c80b1abf9016bda3a86dc1db389 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sun Dec 30 12:48:14 2012 +0400 disallow -daemonize usage of stdio (curses display, -nographic, -serial stdio etc) Curses display requires stdin/out to stay on the terminal, so -daemonize makes no sense in this case. Instead of leaving display uninitialized like is done since 995ee2bf469de6bb, explicitly detect this case earlier and error out. -nographic can actually be used with -daemonize, by redirecting everything to a null device, but the problem is that according to documentation and historical behavour, -nographic redirects guest ports to stdin/out, which, again, makes no sense in case of -daemonize. Since -nographic is a legacy option, don't bother fixing this case (to allow -nographic and -daemonize by redirecting guest ports to null instead of stdin/out in this case), but disallow it completely instead, to stop garbling host terminal. If no display display needed and user wants to use -nographic, the right way to go is to use -serial null -parallel null -monitor none -display none -vga none instead of -nographic. Also prevent the same issue -- it was possible to get garbled host tty after -nographic -daemonize and it is still possible to have it by using -serial stdio -daemonize Fix this by disallowing opening stdio chardev when -daemonize is specified. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 217da7fdeb2a4c99c49f22f9dc64c8df2e3a4387 Merge: 9a8a5ae... d6b1ef8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 12:19:27 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: sheepdog: pass oid directly to send_pending_req() sheepdog: don't update inode when create_and_write fails block/raw-win32: Fix compiler warnings (wrong format specifiers) qemu-img: report size overflow error message cutils: change strtosz_suffix_unit function virtio-blk: Return UNSUPP for unknown request types virtio-blk: add x-data-plane=on|off performance feature dataplane: add virtio-blk data plane code virtio-blk: restore VirtIOBlkConf->config_wce flag iov: add qemu_iovec_concat_iov() test-iov: add iov_discard_front/back() testcases iov: add iov_discard_front/back() to remove data dataplane: add Linux AIO request queue dataplane: add event loop dataplane: add virtqueue vring code dataplane: add host memory mapping code configure: add CONFIG_VIRTIO_BLK_DATA_PLANE raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9a8a5ae69d3a436e51a7eb2edafe254572f60823 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Dec 30 08:20:13 2012 +0100 tcg: Remove unneeded assertion Commit 7f6f0ae5b95adfa76e10eabe2c34424a955fd10c added two assertions. One of these assertions is not needed: The pointer ts is never NULL because it is initialized with the address of an array element. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d6b1ef89a1ede41334e4d0fa27e600e0b4d4f209 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Dec 17 14:17:27 2012 +0800 sheepdog: pass oid directly to send_pending_req() Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bd751f2204a03d6fcd47a4b4b12ac534d2ecbea7 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Dec 17 14:17:26 2012 +0800 sheepdog: don't update inode when create_and_write fails For the error case such as SD_RES_NO_SPACE, we shouldn't update the inode bitmap to avoid the scenario that the object is allocated but wasn't created at the server side. This will result in VM's IO error on the failed object. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fccedc624c425e3acb1557f9f9b13104427ec5ce Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Dec 17 20:40:01 2012 +0100 block/raw-win32: Fix compiler warnings (wrong format specifiers) Commit fbcad04d6bfdff937536eb23088a01a280a1a3af added fprintf statements with wrong format specifiers. GetLastError() returns a DWORD which is unsigned long, so %lu must be used. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7944339726b4582b67fd94085c21c33636e8f973 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Mon Dec 17 09:49:23 2012 +0800 qemu-img: report size overflow error message qemu-img will complain when qcow or qcow2 size overflow for 64 bits, report the right message in this condition. $./qemu-img create -f qcow2 /tmp/foo 0x10000000000000000 before change: qemu-img: Invalid image size specified! You may use k, M, G or T suffixes for qemu-img: kilobytes, megabytes, gigabytes and terabytes. after change: qemu-img: Image size must be less than 8 EiB! [Resolved conflict with a9300911 goto removal -- Stefan] Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 37edbf7ea8067262a5c3d8bbe4786139348c8311 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Mon Dec 17 09:49:22 2012 +0800 cutils: change strtosz_suffix_unit function if value to be translated is larger than INT64_MAX, this function will not be convenient for caller to be aware of it, so change a little for this. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9e72c45033770b81b536ac6091e91807247cc25a Author: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> Date: Thu Dec 13 09:03:43 2012 +0200 virtio-blk: Return UNSUPP for unknown request types Currently, all unknown requests are treated as VIRTIO_BLK_T_IN Signed-off-by: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 392808b49b6aee066d0c1d200e72fc3dc11c9d0f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:45:38 2012 +0100 virtio-blk: add x-data-plane=on|off performance feature The virtio-blk-data-plane feature is easy to integrate into hw/virtio-blk.c. The data plane can be started and stopped similar to vhost-net. Users can take advantage of the virtio-blk-data-plane feature using the new -device virtio-blk-pci,x-data-plane=on property. The x-data-plane name was chosen because at this stage the feature is experimental and likely to see changes in the future. If the VM configuration does not support virtio-blk-data-plane an error message is printed. Although we could fall back to regular virtio-blk, I prefer the explicit approach since it prompts the user to fix their configuration if they want the performance benefit of virtio-blk-data-plane. Limitations: * Only format=raw is supported * Live migration is not supported * Block jobs, hot unplug, and other operations fail with -EBUSY * I/O throttling limits are ignored * Only Linux hosts are supported due to Linux AIO usage Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e72f66a0a20f38d0c7576f6c0aec0ca644976e35 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:39:30 2012 +0100 dataplane: add virtio-blk data plane code virtio-blk-data-plane is a subset implementation of virtio-blk. It only handles read, write, and flush requests. It does this using a dedicated thread that executes an epoll(2)-based event loop and processes I/O using Linux AIO. This approach performs very well but can be used for raw image files only. The number of IOPS achieved has been reported to be several times higher than the existing virtio-blk implementation. Eventually it should be possible to unify virtio-blk-data-plane with the main body of QEMU code once the block layer and hardware emulation is able to run outside the global mutex. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8a873ba78069ef81c4ef073a0bd703172c8b3312 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Dec 10 13:14:39 2012 +0100 virtio-blk: restore VirtIOBlkConf->config_wce flag Two slightly different versions of a patch to conditionally set VIRTIO_BLK_F_CONFIG_WCE through the "config-wce" qdev property have been applied (ea776abca and eec7f96c2). David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> noticed that the "config-wce" property is broken as a result and fixed it recently. The fix sets the host_features VIRTIO_BLK_F_CONFIG_WCE bit from a qdev property. Unfortunately, the virtio device then has no chance to test for the presence of the feature bit during virtio_blk_init(). Therefore, reinstate the VirtIOBlkConf->config_wce flag. Drop the duplicate qdev property to set the host_features bit. The VirtIOBlkConf->config_wce flag will be used by virtio-blk-data-plane in a later patch. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 530c0bbd73e1b658c9266582072847de1fbdff10 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Nov 22 16:06:06 2012 +0100 iov: add qemu_iovec_concat_iov() The qemu_iovec_concat() function copies a subset of a QEMUIOVector. The new qemu_iovec_concat_iov() function does the same for a iov/cnt pair. It is easy to define qemu_iovec_concat() in terms of qemu_iovec_concat_iov(). The existing code is mostly unchanged, except for the assertion src->size >= soffset, which cannot be efficiently checked upfront on a iov/cnt pair. Instead we assert upon hitting the end of src with an unsatisfied soffset. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8962e44fe438a051aff9f43209363f599be33624 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 21 19:18:26 2012 +0100 test-iov: add iov_discard_front/back() testcases Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d02776350d9c76348988fc9e58a64a4f6b1a9f61 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 21 17:41:10 2012 +0100 iov: add iov_discard_front/back() to remove data The iov_discard_front/back() functions remove data from the front or back of the vector. This is useful when peeling off header/footer structs. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3e9ec521711ed033476098cfc7f23c992cc606a2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:30:09 2012 +0100 dataplane: add Linux AIO request queue The IOQueue has a pool of iocb structs and a function to add new read/write requests. Multiple requests can be added before calling the submit function to actually tell the host kernel to begin I/O. This allows callers to batch requests and submit them in one go. The actual I/O is performed using Linux AIO. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 71973b046120a13df4eaa9143bed5ba8a67abc7f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:23:00 2012 +0100 dataplane: add event loop Outside the safety of the global mutex we need to poll on file descriptors. I found epoll(2) is a convenient way to do that, although other options could replace this module in the future (such as an AioContext-based loop or glib's GMainLoop). One important feature of this small event loop implementation is that the loop can be terminated in a thread-safe way. This allows QEMU to stop the data plane thread cleanly. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 88807f89d945acad54c8365ff7b6ef0f0d0ddd56 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:15:50 2012 +0100 dataplane: add virtqueue vring code The virtio-blk-data-plane cannot access memory using the usual QEMU functions since it executes outside the global mutex and the memory APIs are this time are not thread-safe. This patch introduces a virtqueue module based on the kernel's vhost vring code. The trick is that we map guest memory ahead of time and access it cheaply outside the global mutex. Once the hardware emulation code can execute outside the global mutex it will be possible to drop this code. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 185ecf40e3589fc2717b0856ee1df05dd63a46dd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Nov 20 10:30:08 2012 +0100 dataplane: add host memory mapping code The data plane thread needs to map guest physical addresses to host pointers. Normally this is done with cpu_physical_memory_map() but the function assumes the global mutex is held. The data plane thread does not touch the global mutex and therefore needs a thread-safe memory mapping mechanism. Hostmem registers a MemoryListener similar to how vhost collects and pushes memory region information into the kernel. There is a fine-grained lock on the regions list which is held during lookup and when installing a new regions list. When the physical memory map changes the MemoryListener callbacks are invoked. They build up a new list of memory regions which is finally installed when the list has been completed. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 583f6e7bbd24b31f7eecd5c21ba0a5a5a77f52f1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:04:15 2012 +0100 configure: add CONFIG_VIRTIO_BLK_DATA_PLANE The virtio-blk-data-plane feature only works with Linux AIO. Therefore add a ./configure option and necessary checks to implement this dependency. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4065742ac0f3c84abdd8d718b44a88f3ac56015a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 11:43:23 2012 +0100 raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane The raw_get_aio_fd() function allows virtio-blk-data-plane to get the file descriptor of a raw image file with Linux AIO enabled. This interface is really a layering violation that can be resolved once the block layer is able to run outside the global mutex - at that point virtio-blk-data-plane will switch from custom Linux AIO code to using the block layer. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 34daffa04886444dafd4a6951167225e824003d0 Merge: 079944e... 0a2a59d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 08:01:54 2013 -0600 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging * qemu-kvm/uq/master: qemu-kvm/pci-assign: 64 bits bar emulation target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 079944e695589364d19de31f27761c6bdea1c207 Merge: a97ff30... 89d62be... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 08:01:36 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,virtio This optimizes MSIX handling in virtio-pci. Also included is pci express capability bugfix. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> * mst/tags/for_anthony: virtio-pci: don't poll masked vectors msix: expose access to masked/pending state msi: add API to get notified about pending bit poll pcie: Fix bug in pcie_ext_cap_set_next virtio: make bindings typesafe commit a97ff30e934c4d673122cf709e8e87f0effbe2f7 Merge: 5928023... 15faf94... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 08:01:22 2013 -0600 Merge remote-tracking branch 'kraxel/seabios-a810e4e' into staging * kraxel/seabios-a810e4e: Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5928023cef87847a295035487397b9ec701fdd6b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Nov 24 23:03:13 2012 +0100 pflash_cfi01: Suppress warning when Linux probes for AMD flash There are several ARM and MIPS boards which are manufactured with either Intel (pflash_cfi01.c) or AMD (pflash_cfi02.c) flash memory. The Linux kernel supports both and first probes for AMD flash which resulted in one or two warnings from the Intel flash emulation: pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000, wcycle 0x0 cmd 0x0 value 0xf000f0) pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000, wcycle 0x0 cmd 0x0 value 0xf0) These warnings confuse users, so suppress them. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0f0b93980572726e69e32ff13e2d7fb72b936157 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Tue Dec 11 00:15:55 2012 +0800 target-mips: Use EXCP_SC rather than a magic number From the discussion on the ML [1], the exception limit defined by magic number 0x100 is actually EXCP_SC defined in cpu.h. Replace the magic number with EXCP_SC. Remove "#if 1 .. #endif" as well. [1] http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03080.html Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c4aaba92e516ad061dff7ac2ae3c2b2b7058c404 Author: Jovanovic, Petar <petarj@xxxxxxxx> Date: Tue Dec 11 15:06:35 2012 +0000 target-mips: Make repl_ph to sign extend to target-long The immediate value is 9bits, should sign-extend to 16bits. The return value to register should sign-extend to target_long, as Richard says, removing an unnecessary cast works fun. Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit fe65a1fad6aa140769ffda31c34a109f7d2df101 Author: Dongxue Zhang <elta.era@xxxxxxxxx> Date: Tue Dec 11 22:28:28 2012 +0800 Fix my email address Fix my email address, last time it's wrong. Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 79eb8392db19a916f6a3277f7cd36fb22c2bdbaf Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Dec 22 13:38:19 2012 +0100 target-mips: Remove semicolon from macro definition Macro RESTORE_FLUSH_MODE is similar to RESTORE_ROUNDING_MODE but included a semicolon. The code which uses that macro also includes a semicolon, so the result was an empty statement. Remove the superfluous semicolon from the macro definition. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit b8abbbe8df5e04085f4b85fc4f7cf85efbcd492c Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Mon Dec 10 16:28:17 2012 +0100 target-mips: Fix for helpers for EXTR_* instructions The change removes some unnecessary and incorrect code for EXTR_S.H. Further, it corrects the mask for shift value in the EXTR_ instructions. It also extends the existing tests so they trigger the issues corrected with the change. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit eec8972a5bc744eda695a86a984d746c240dff90 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Thu Dec 6 20:30:35 2012 +0100 target-mips: Fix incorrect reads and writes to DSPControl register Upper 4 bits of ccond (bits 31..28 ) of DSPControl register are not used in the MIPS32 architecture. They are used in the MIPS64 architecture. For MIPS32 these bits must be written as zero, and return zero on read. The change fixes writes (WRDSP) and reads (RDDSP) to the register. It also fixes the tests that use these instructions, and makes them smaller and simpler. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a795ef8dcb8cbadffc996c41ff38927a97645234 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Fri Dec 28 01:00:26 2012 -0500 Fix semaphores fallback code As reported in bug 1087114 the semaphores fallback code is broken which results in QEMU crashing and making QEMU unusable. This patch is from Paolo. This needs to be back ported to the 1.3 stable tree as well. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 753d99d38b5877440dde2705e30ca60e2ec62965 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Dec 28 14:19:35 2012 -0800 tcg-hppa: Fix typo in brcond2 Reported-by: Stuart Brady <sdb@xxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 76a347e1cd0c2d6959461c89dda15ef5c4140da6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Dec 28 14:17:02 2012 -0800 tcg-i386: Perform cmov detection at runtime for 32-bit. Existing compile-time detection is spotty at best. Convert it all to runtime detection instead. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit afcb92beac9e477e5ae5c36bf38830e225e2235f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Dec 7 15:07:17 2012 -0600 tcg: Add TCGV_IS_UNUSED_* Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 927fa909d5d5cf8c07673cd16a6d3bdc81250bc0 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Fri Dec 28 01:38:11 2012 -0500 Disable semaphores fallback code for OpenBSD Disable the semaphores fallback code for OpenBSD as modern OpenBSD releases now have sem_timedwait(). Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 62054c06d4d1d0d54ef87c2d9154efec00ad170c Author: Alon Levy <alevy@xxxxxxxxxx> Date: Sun Dec 23 23:25:09 2012 +0200 usb/redirect.c: unbreak compilation due to include/char/char.h Broken since: commit 927d4878b0ff319ed87fed9363f314613b0a5ed9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:05 2012 +0100 softmmu: move remaining include files to include/ subdirectories Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4de63460ca1639bfb0e465ecdcf95551564bb3d6 Merge: a2685bc... 501a7ce... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Fri Dec 28 16:08:23 2012 +0000 Merge branch 'qom-cpu' of git://repo.or.cz/qemu/afaerber * 'qom-cpu' of git://repo.or.cz/qemu/afaerber: MAINTAINERS: Include X86CPU in CPU maintenance area cpu: Move kvm_run into CPUState cpu: Move kvm_state field into CPUState ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init() ppc4xx_devs: Return PowerPCCPU from ppc4xx_init() ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks ppc: Pass PowerPCCPU to [h]decr timer callbacks ppc: Pass PowerPCCPU to [h]decr callbacks ppc: Pass PowerPCCPU to ppc_set_irq() kvm: Pass CPUState to kvm_vcpu_ioctl() kvm: Pass CPUState to kvm_arch_* cpu: Move kvm_fd into CPUState qdev-properties.c: Separate core from the code used only by qemu-system-* qdev: Coding style fixes cpu: Introduce CPUListState struct target-alpha: Add support for -cpu ? target-alpha: Turn CPU definitions into subclasses target-alpha: Avoid leaking the alarm timer over reset alpha: Pass AlphaCPU array to Typhoon target-alpha: Let cpu_alpha_init() return AlphaCPU commit 89d62be9f4fb538db7f919a2be7df2544ffc02c5 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 18 14:02:46 2012 +0200 virtio-pci: don't poll masked vectors At the moment, when irqfd is in use but a vector is masked, qemu will poll it and handle vector masks in userspace. Since almost no one ever looks at the pending bits, it is better to defer this until pending bits are actually read. Implement this optimization using the new poll notifier. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 70f8ee395afda6d96b15cb9a5b311af7720dded0 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 18 13:54:32 2012 +0200 msix: expose access to masked/pending state For use by poll handler. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit bbef882cc1938fa5a6e1b36a50d79ce5c0cefb81 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 16:10:02 2012 +0200 msi: add API to get notified about pending bit poll Update all users. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 812d2594d558f7c4f95c99c8fc58adc47ab68eb3 Author: Knut Omang <knut.omang@xxxxxxxxxx> Date: Tue Dec 18 22:36:29 2012 +0100 pcie: Fix bug in pcie_ext_cap_set_next Upper 16 bits of the PCIe Extended Capability Header was truncated during update, also breaking pcie_add_capability. Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0a2a59d35cbabf63c91340a1c62038e3e60538c1 Author: Xudong Hao <xudong.hao@xxxxxxxxx> Date: Thu Dec 20 11:07:23 2012 +0800 qemu-kvm/pci-assign: 64 bits bar emulation Enable 64 bits bar emulation. Test pass with the current seabios which already support 64bit pci bars. Signed-off-by: Xudong Hao <xudong.hao@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit a2685bcc80f61aa612e0d8cfd91086857ae2942e Author: Gleb Natapov <gleb@xxxxxxxxxx> Date: Wed Dec 19 17:46:15 2012 +0200 MAINTAINERS: Take over kvm maintenance Replace Avi with myself as kvm maintainer. Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 74880fe27d2120ab3861dc857ecd025db1a67038 Author: Robert Schiele <rschiele@xxxxxxxxx> Date: Tue Dec 4 16:58:08 2012 +0100 configure: allow disabling pixman if not needed When we build neither any system emulation targets nor the tools there is actually no need for pixman library. In that case do not enforce presence of that library on the system. Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx> Signed-off-by: Robert Schiele <rschiele@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2915efbfa8efadaa2806e827ba92b8dba4f7cd52 Author: Alex Horn <alex.horn@xxxxxxxxxxx> Date: Wed Dec 5 12:34:06 2012 +0000 tmp105: Create API for TMP105 temperature sensor. * Define enum for TMP105 registers * Move tmp105_set() from I2C to TMP105 header * Document units and range of temperature as preconditions Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eac236ea7bfc1902126be70459e320591078df5c Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Fri Dec 14 20:13:09 2012 +0100 build: Use separate makefile for "trace/" Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> -- Changes in v2: * Do not depend on "qemu-timer-common.o". * Use "$(obj)" in rules to refer to the build sub-directory. * Remove dependencies against "$(GENERATED_HEADERS)". Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6265e4ff327763b6362cba472e2b46f2dcf18762 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Nov 23 12:12:01 2012 +0100 win32: Switch thread abstraction to us TLS variable internally We already depend on working __thread support for coroutines, so this complication here is no longer needed. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 57f26ae72983095d0258e391041dfb8864f769e5 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Dec 20 16:43:48 2012 -0200 target-i386: CPUID: return highest basic leaf if eax > cpuid_xlevel This fixes a subtle bug. A bug that probably won't cause trouble for any existing OS, but a bug anyway: Intel SDM Volume 2, CPUID Instruction states: > Two types of information are returned: basic and extended function > information. If a value entered for CPUID.EAX is higher than the maximum > input value for basic or extended function for that processor then the > data for the highest basic information leaf is returned. For example, > using the Intel Core i7 processor, the following is true: > > CPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *) > CPUID.EAX = 0AH (* Returns Architectural Performance Monitoring leaf. *) > CPUID.EAX = 0BH (* Returns Extended Topology Enumeration leaf. *) > CPUID.EAX = 0CH (* INVALID: Returns the same information as CPUID.EAX = 0BH. *) > CPUID.EAX = 80000008H (* Returns linear/physical address size data. *) > CPUID.EAX = 8000000AH (* INVALID: Returns same information as CPUID.EAX = 0BH. *) AMD's CPUID Specification, on the other hand, is less specific: > The CPUID instruction supports two sets or ranges of functions, > standard and extended. > > â?¢ The smallest function number of the standard function range is > Fn0000_0000. The largest function num- ber of the standard function > range, for a particular implementation, is returned in CPUID > Fn0000_0000_EAX. > > â?¢ The smallest function number of the extended function range is > Fn8000_0000. The largest function num- ber of the extended function > range, for a particular implementation, is returned in CPUID > Fn8000_0000_EAX. > > Functions that are neither standard nor extended are undefined and > should not be relied upon. QEMU's behavior matched Intel's specification before, but this was changed by commit b3baa152aaef1905876670590275c2dd0bbb088c. This patch restores the behavior documented by Intel when cpuid_xlevel2 is 0. The existing behavior when cpuid_xlevel2 is set (falling back to level=cpuid_xlevel) is being kept, as I couldn't find any public documentation on the CPUID 0xC0000000 function range on Centaur CPUs. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 586502189edf9fd0f89a83de96717a2ea826fdb0 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 21 12:26:38 2012 +0800 qemu-char: Inherit ptys and improve output from -serial pty Changes since V1: - Avoid crashing since qemu_opts_id() may return null on some systems according to Markus's suggestion. When controlling a qemu instance from another program, it's hard to know which serial port or monitor device is redirected to which pty. With more than one device using "pty" a lot of guesswork is involved. $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty char device redirected to /dev/pts/5 char device redirected to /dev/pts/6 char device redirected to /dev/pts/7 Although we can find out what everything else is connected to by the "info chardev" with "-monitor stdio" in the command line, It'd be very useful to be able to have qemu inherit pseudo-tty file descriptors so they could just be specified on the command line like: $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty char device compat_monitor0 redirected to /dev/pts/5 char device serial0 redirected to /dev/pts/6 char device serial1 redirected to /dev/pts/7 Referred link: https://bugs.launchpad.net/qemu/+bug/938552 Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 501a7ce7270955be151c442c27620fa7af2f3ce5 Merge: 62e0c09... 36f25d2... Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Dec 23 00:39:34 2012 +0100 Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu Adapt header include paths. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 36f25d2537c40c6c47f4abee5d31a24863d1adf7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Dec 20 00:04:09 2012 +0400 target-xtensa: fix search_pc for the last TB opcode Zero out tcg_ctx.gen_opc_instr_start for instructions representing the last guest opcode in the TB. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3f124b687462ce3140d963a024705a89cdc8cee8 Author: Liming Wang <walimisdev@xxxxxxxxx> Date: Fri Dec 21 16:56:58 2012 +0800 net: add missing include file To fix building error: CC net/vde.o net/vde.c: In function â??vde_cleanupâ??: net/vde.c:65:5: error: implicit declaration of function â??qemu_set_fd_handlerâ?? [-Werror=implicit-function-declaration] net/vde.c:65:5: error: nested extern declaration of â??qemu_set_fd_handlerâ?? [-Werror=nested-externs] cc1: all warnings being treated as errors Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0c884d1659f02b4a0c704c2344f42e3fabb1f193 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Thu Dec 20 09:39:16 2012 +0800 translate-all.c: Use tb1->phys_hash_next directly in tb_remove When tb_remove was first commited at fd6ce8f6, there were three different calls pass different names to offsetof. In current codebase, the other two calls are replaced with tb_page_remove. There is no need to have a general tb_remove. Omit passing the third parameter and using tb1->phys_hash_next directly. Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b2136140f68ce05122f611eb9cde4f0365ab6a00 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Dec 20 23:09:53 2012 +0100 net: Add missing include statement (fix compiler warnings for MinGW) These and some more compiler warnings were caused by a recent commit: net/tap-win32.c:724: warning: no previous prototype for â??tap_has_ufoâ?? net/tap-win32.c:729: warning: no previous prototype for â??tap_has_vnet_hdrâ?? ... Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4ad549e89e55fb48eb6feb783ee4a9ede1dea52e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 12:29:20 2012 +0100 xen: add missing include xen-all needs to access CharDeviceState's filename field, so it needs to include char/char.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ca273d58d8a77d5cc9d42440bcdf9d7cad2054bc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 12:29:19 2012 +0100 build: fix includes for VNC vnc-tls.h is included by vnc.h, and it includes gnutls/gnutls.h. Hence, GnuTLS header files are needed by all files that include vnc.h, most notably qmp.c. Move these flags to QEMU_CFLAGS for simplicity. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bb5801f551ee8591d576d87a9290af297998e322 Merge: 914606d... 9848a40... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Dec 21 07:53:48 2012 -0600 Merge remote-tracking branch 'quintela/thread-20121220.next' into staging * quintela/thread-20121220.next: (79 commits) migration: merge QEMUFileBuffered into MigrationState migration: fix qemu_get_fd for BufferedFile ram: refactor ram_save_block() return value ram: account the amount of transferred ram better ram: optimize migration bitmap walking ram: Use memory_region_test_and_clear_dirty memory: introduce memory_region_test_and_clear_dirty ram: Add last_sent_block ram: rename last_block to last_seen_block migration: move migration notifier migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect migration: move migration_fd_put_ready() migration: add XFER_LIMIT_RATIO migration: move buffered_file.c code into migration.c savevm: New save live migration method: pending buffered_file: unfold buffered_append in buffered_put_buffer buffered_file: don't flush on put buffer buffered_file: Unfold the trick to restart generating migration data migration: just lock migrate_fd_put_ready migration: remove unfreeze logic ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9848a40427cd76628d04d918fa4751c542527915 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Dec 19 09:55:50 2012 +0100 migration: merge QEMUFileBuffered into MigrationState Avoid splitting the state of outgoing migration, more or less arbitrarily, between two data structures. QEMUFileBuffered anyway is used only during migration. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e659586e63793a8a61efc4a658e2908ac8a2e935 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Nov 8 00:42:50 2012 +0100 migration: fix qemu_get_fd for BufferedFile Not really used, but nice to have it correct. :) Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b823ceaadfaad65f3a034ada394b33ca1bf1a914 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Dec 10 13:27:50 2012 +0100 ram: refactor ram_save_block() return value It could only return 0 if we only found dirty xbzrle pages that hadn't changed (i.e. they were written with the same content). We don't care about that case, it is the same than nothing dirty. So now the return of the function is how much have it written, nothing else. Adjust callers. And we also made ram_save_iterate() return the number of transferred bytes, not the number of transferred pages. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3f7d7b098194ec893efa037491f6231687ff043a Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Thu Oct 18 13:56:35 2012 +0200 ram: account the amount of transferred ram better Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 4c8ae0f60e63478aea0a1741cca95474b68fb949 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Thu Oct 18 00:00:59 2012 +0200 ram: optimize migration bitmap walking Instead of testing each page individually, we search what is the next dirty page with a bitmap operation. We have to reorganize the code to move from a "for" loop, to a while(dirty) loop. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit ece7931817e03a4d946c15716fab5e4f781663c9 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:27:15 2012 +0200 ram: Use memory_region_test_and_clear_dirty This avoids having to do two walks over the dirty bitmap, once reading the dirty bits, and anthoer cleaning them. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6c279db8ee99e64e498447c67c16e987150be96b Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:24:28 2012 +0200 memory: introduce memory_region_test_and_clear_dirty This function avoids having to do two calls, one to test the dirty bit, and other to reset it. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5f718a15d0db3775bbcf2755a35dd6b019bcff8b Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:10:55 2012 +0200 ram: Add last_sent_block This is the last block from where we have sent data. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b23a9a5cad356cdc8e25d4be72e53096a27ea722 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:08:04 2012 +0200 ram: rename last_block to last_seen_block Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d3b26f5488e04c01667dd12c9bd7eed54dda258 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:04:41 2012 +0200 migration: move migration notifier At this point, it is waranteed that state is ACTIVE. Old position didn't assured hat. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 2e450865338738300e529457879d81332939f064 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 18:23:03 2012 +0200 migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0e288fa369c02df1731dc59ffbf158f5e5f2d80f Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 17:23:59 2012 +0200 migration: move migration_fd_put_ready() Put it near its use and un-export it. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5b4e1eb769eee892b44d3f6b2369b05196442f59 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Dec 19 10:40:48 2012 +0100 migration: add XFER_LIMIT_RATIO The "magic" divisions by 10 are there because of the value of BUFFER_DELAY. Introduce a constant to explain them better. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d82d0e8b98cf0ea03a45f8542d835ebd3a84cd3 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 14:18:33 2012 +0200 migration: move buffered_file.c code into migration.c This only moves the code (also from buffered_file.h to migration.h). Fix whitespace until checkpatch is happy. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e4ed1541ac9413eac494a03532e34beaf8a7d1c5 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Sep 21 11:18:18 2012 +0200 savevm: New save live migration method: pending Code just now does (simplified for clarity) if (qemu_savevm_state_iterate(s->file) == 1) { vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); qemu_savevm_state_complete(s->file); } Problem here is that qemu_savevm_state_iterate() returns 1 when it knows that remaining memory to sent takes less than max downtime. But this means that we could end spending 2x max_downtime, one downtime in qemu_savevm_iterate, and the other in qemu_savevm_state_complete. Changed code to: pending_size = qemu_savevm_state_pending(s->file, max_size); DPRINTF("pending size %lu max %lu\n", pending_size, max_size); if (pending_size >= max_size) { ret = qemu_savevm_state_iterate(s->file); } else { vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); qemu_savevm_state_complete(s->file); } So what we do is: at current network speed, we calculate the maximum number of bytes we can sent: max_size. Then we ask every save_live section how much they have pending. If they are less than max_size, we move to complete phase, otherwise we do an iterate one. This makes things much simpler, because now individual sections don't have to caluclate the bandwidth (it was implossible to do right from there). Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f50b4986b261fc10065289d2a03deba24d824988 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 24 14:24:08 2012 +0200 buffered_file: unfold buffered_append in buffered_put_buffer It was the only user, and now buffered_put_buffer just do the append Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c518dd841deb85b3ccf77ff93e1142b27b06af32 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 24 14:00:13 2012 +0200 buffered_file: don't flush on put buffer We call buffered_put_buffer with iothread held, and buffered_flush() does synchronous writes. We only want to do the synchronous writes outside. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 78d1d231f889f7eae3835ddaec4373011792e46f Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 24 13:22:18 2012 +0200 buffered_file: Unfold the trick to restart generating migration data This was needed before due to the way that the callbacks worked. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e76274824defce54a124e5104be3880044c698e1 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 06:31:30 2012 +0200 migration: just lock migrate_fd_put_ready Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 188a428559f0cd0bde884d28b42e449abd744c2f Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 06:24:03 2012 +0200 migration: remove unfreeze logic Now that we have a thread, and blocking writes, we don't need it. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd217b8732b93d97c22fa70dc15a72d92a2b2380 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 06:15:02 2012 +0200 migration: make writes blocking Move all the writes to the migration_thread, and make writings blocking. Notice that are still using the iothread for everything that we do. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 766bd1769e70835e0cc25f3f057f101619494b59 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 05:45:29 2012 +0200 migration: move migration thread init code to migrate_fd_put_ready This way everything related with migration is run on the migration thread and no locking is needed. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit edfa1af52f4c69264c5a0c38da10eb372077fba3 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 02:13:23 2012 +0200 migration: make qemu_fopen_ops_buffered() return void We want the file assignment to happen before the thread is created to avoid locking, so we just do it before creating the thread. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit c09f4cb2b3243085a86aee3c7ed4f31c77e4db87 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 01:56:50 2012 +0200 buffered_file: Move from using a timer to use a thread We still protect everything except the wait with the iothread lock. But we moved from a timer to a thread. Steps one by one. We also need to detect when we have finished with a variable "complete". Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b2a8658ef5dc57ea9e7a45091724a719dd4bdcd3 Author: Umesh Deshpande <udeshpan@xxxxxxxxxx> Date: Wed Aug 17 00:01:33 2011 -0700 protect the ramlist with a separate mutex Add the new mutex that protects shared state between ram_save_live and the iothread. If the iothread mutex has to be taken together with the ramlist mutex, the iothread shall always be _outside_. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit f798b07f517143df3a1e38bccc3f72ade2f080dc Author: Umesh Deshpande <udeshpan@xxxxxxxxxx> Date: Thu Aug 18 11:41:17 2011 -0700 add a version number to ram_list This will be used to detect if last_block might have become invalid across different calls to ram_save_live. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit abb26d63e7e4492d306c13b7e0e799d4c11a067c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 14 16:00:51 2012 +0100 exec: sort the memory from biggest to smallest Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a3161038a1fd17a638a0c606f71e1f799f65f41b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 14 15:54:48 2012 +0100 exec: change RAM list to a TAILQ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d6d3c87a232cc27641dde3491d75c8021745d02 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 14 15:45:02 2012 +0100 exec: change ramlist from MRU order to a 1-item cache Most of the time, only 2 items will be active (from/to for a string operation, or code/data). But TCG guests likely won't have gigabytes of memory, so this actually goes down to 1 item. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 803ef03257a9ee375f08ca7a89e009ea12bc17a4 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 14:08:05 2012 +0200 migration-fd: remove duplicate include Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 557ec5a001740d234e2b9604f0697a0d52ae90ca Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 14:07:31 2012 +0200 migration: include qemu-file.h They don't use/know anything about buffered-file. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 24ea1e4b4b79cef2bac6f8e0f0a212f42ef420a9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Nov 10 18:58:40 2012 +0100 migration: remove double call to migrate_fd_close The call in buffered_close is enough, because buffered_close is called already by migrate_fd_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bde54c08b4854aceee3dee25121a2b835cb81166 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 20 12:48:19 2012 +0100 buffered_file: do not send more than s->bytes_xfer bytes per tick Sending more was possible if the buffer was large. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 244eaa7514a944b36273eb8428f32da8e9124fcf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Dec 12 12:54:43 2012 +0100 migration: fix migration_bitmap leak Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d2a0ccc613ccc48c7240f99e1ce05e0acce6e2a1 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 17 13:01:07 2012 +0200 virtio: make bindings typesafe Move bindings from opaque to DeviceState. This gives us better type safety with no performance cost. Add macros to make future QOM work easier. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 15faf946f7a17a5fab0d05a2312d43249d81af3c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Dec 20 08:19:16 2012 +0100 Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901 git shortlog: Kevin O'Connor (6): floppy: Minor - reduce handle_0e code size when CONFIG_FLOPPY is disabled. vga: Minor comment spelling fix. Don't recursively evaluate CFLAGS variables. Don't use gcc's -combine option. Add compile checking phase to build. acpi: Use prt_slot() macro to describe irq pins of first PCI device. Laszlo Ersek (1): maininit(): print machine UUID under seabios version message Paolo Bonzini (1): acpi: reintroduce LNKS Paolo's patch fixes the FreeBSD boot failure. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 27dd7730582be85c7d4f680f5f71146629809c86 Merge: 914606d... ec5e016... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Dec 19 17:15:39 2012 -0600 Merge remote-tracking branch 'bonzini/header-dirs' into staging * bonzini/header-dirs: (45 commits) janitor: move remaining public headers to include/ hw: move executable format header files to hw/ fpu: move public header file to include/fpu softmmu: move remaining include files to include/ subdirectories softmmu: move include files to include/sysemu/ misc: move include files to include/qemu/ qom: move include files to include/qom/ migration: move include files to include/migration/ monitor: move include files to include/monitor/ exec: move include files to include/exec/ block: move include files to include/block/ qapi: move include files to include/qobject/ janitor: add guards to headers qapi: make struct Visitor opaque qapi: remove qapi/qapi-types-core.h qapi: move inclusions of qemu-common.h from headers to .c files ui: move files to ui/ and include/ui/ qemu-ga: move qemu-ga files to qga/ net: reorganize headers net: move net.c to net/ ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 62e0c095450f6a7eb37914991f3f7966aa4da7a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Dec 9 20:15:31 2012 +0100 MAINTAINERS: Include X86CPU in CPU maintenance area Document that the x86 CPU refactorings are going through the qom-cpu tree. This does not contradict the established practice that patches adding KVM features to the x86 CPU go through the KVM maintainers, it merely takes it out of target-i386 TCG's Odd Fixes status. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Marcello Tosatti <mtosatti@xxxxxxxxxx> commit f7575c96c6058763fe3bd8dd26f3d09473f2df36 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 06:18:14 2012 +0100 cpu: Move kvm_run into CPUState Pass CPUState / {X86,S390}CPU to helper functions. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a60f24b56b07f46453424263b276b0879c25c4e6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 05:35:08 2012 +0100 cpu: Move kvm_state field into CPUState Adapt some functions to take CPUState / {PowerPC,S390}CPU argument. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a34a92b9ecd8d25bd1de9df601ed31ccd8ebcae7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:43:18 2012 +0100 ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init() Cleans up after passing PowerPCCPU to timer callbacks. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2f9859fb49cb3c6ec876bc0bf709f28afcdd2384 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:47:33 2012 +0100 ppc4xx_devs: Return PowerPCCPU from ppc4xx_init() Prepares for passing PowerPCCPU to ppc_booke_timers_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ee0c98e650da0ce1e4e17dc1e2bbb946cde2c45c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:35:15 2012 +0100 ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks Cleans up after passing PowerPCCPU to booke_update_irq(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 50c680f06ca81aebc91ac4a325f194b2d8396721 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:26:55 2012 +0100 ppc: Pass PowerPCCPU to [h]decr timer callbacks Cleans up after passing PowerPCCPU to [h]decr exception callbacks. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7e0a924734e7bfad7568bf57fec68bfecd5c2575 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:18:02 2012 +0100 ppc: Pass PowerPCCPU to [h]decr callbacks Cleans up after passing PowerPCCPU to ppc_set_irq(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7058581a26f4299e0b7e05677c64c1b5a50d0e75 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 03:55:58 2012 +0100 ppc: Pass PowerPCCPU to ppc_set_irq() Adapt static caller functions. This cleans up after passing PowerPCCPU to kvmppc_set_interrupt(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1bc22652d62f862a5def54f939e87fdb7a5593ae Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 06:06:49 2012 +0100 kvm: Pass CPUState to kvm_vcpu_ioctl() Adapt helper functions to pass X86CPU / PowerPCCPU / S390CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 20d695a9254c1b086a456d3b79a3c311236643ba Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 06:57:49 2012 +0100 kvm: Pass CPUState to kvm_arch_* Move kvm_vcpu_dirty field into CPUState to simplify things and change its type to bool while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8737c51c0444f832c4e97d7eb7540eae457e08e4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 05:29:00 2012 +0100 cpu: Move kvm_fd into CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a404b61244ff555ace0a1360fc22275fbeda503e Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:11 2012 -0200 qdev-properties.c: Separate core from the code used only by qemu-system-* This separates the qdev properties code in two parts: - qdev-properties.c, that contains most of the qdev properties code; - qdev-properties-system.c for code specific for qemu-system-*, containing: - Property types: drive, chr, netdev, vlan, that depend on code that won't be included on *-user - qemu_add_globals(), that depends on qemu-config.o. This change should help on two things: - Allowing DeviceState to be used by *-user without pulling dependencies that are specific for qemu-system-*; - Writing qdev unit tests without pulling too many dependencies. The copyright/license of qdev-properties.c isn't explicitly stated at the file, so add a simple copyright/license header pointing to the commit ID of the original file. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 04a2d61e494532260214736ebb0f975822771643 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:10 2012 -0200 qdev: Coding style fixes Add missing braces and break lines larger than 80 chars. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 92a3136174f60ee45b113296cb2c2a5225b00369 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Dec 16 02:17:02 2012 +0100 cpu: Introduce CPUListState struct This generalizes {ARM,M68k,Alpha}CPUListState to avoid declaring it for each target. Place it in cpu-common.h to avoid circular dependencies. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit ec5e016c9a68588bd01be387416923c7dcafb951 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 13:09:17 2012 +0200 janitor: move remaining public headers to include/ Headers in the root directory are now used only from within that directory. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42dc882ff850cde22ae7d501d1dd452837fc4103 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 14 18:19:15 2012 +0200 hw: move executable format header files to hw/ Or delete a.out.h which is unused. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6b4c305cbd549e9d12a6b0192fdb8d6519a9664c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 13:12:00 2012 +0200 fpu: move public header file to include/fpu Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 927d4878b0ff319ed87fed9363f314613b0a5ed9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:05 2012 +0100 softmmu: move remaining include files to include/ subdirectories Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9c17d615a66ebd655871bf891ec0fe901ad8b332 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:04 2012 +0100 softmmu: move include files to include/sysemu/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1de7afc984b49af164e2619e6850b9732b173b34 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:00 2012 +0100 misc: move include files to include/qemu/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 14cccb618508a0aa70eb9ccf366703a019a45ff0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:50 2012 +0100 qom: move include files to include/qom/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit caf71f86a3de97394bcc5b06549012b7dc65fe60 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:50 2012 +0100 migration: move include files to include/migration/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 83c9089e73b81c69dc1ecdf859fa84d2c500fb5f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:49 2012 +0100 monitor: move include files to include/monitor/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 022c62cbbcf1ff40b23c92874f8670cddfec2414 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:49 2012 +0100 exec: move include files to include/exec/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 737e150e89c44c6b33691a627e24bac7fb58f349 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:44 2012 +0100 block: move include files to include/block/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7b1b5d191385ca52e96caae2a05c64f3a63855d9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:43 2012 +0100 qapi: move include files to include/qobject/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb9c377f54a756b04ef92c1c2e0453613ee863cf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 12:15:58 2012 +0100 janitor: add guards to headers Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7edd63f1b179c18f0f1a4664ddbabe4fe5b2be2f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 11:28:04 2012 +0100 qapi: make struct Visitor opaque Move its definition from qapi-visit-core.h to qapi-visit-impl.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4167c42c5eb79add9252547efe92df7e5c2d1abd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 11:51:59 2012 +0100 qapi: remove qapi/qapi-types-core.h The file is only including error.h and qerror.h. Prefer explicit inclusion of whatever files are needed. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 79ee7df8853c5d7085d87036420b6b388dda2595 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 11:22:34 2012 +0100 qapi: move inclusions of qemu-common.h from headers to .c files Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 28ecbaeecb139a214f019207402a35d7b58aec0f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 28 12:06:30 2012 +0100 ui: move files to ui/ and include/ui/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2870dc3456c9c02debb63b0a99b3dcbbf74a1048 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:26:49 2012 +0200 qemu-ga: move qemu-ga files to qga/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1422e32db51ff2b1194fb24a6201c4310be5667d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 08:43:34 2012 +0200 net: reorganize headers Move public headers to include/net, and leave private headers in net/. Put the virtio headers in include/net/tap.h, removing the multiple copies that existed. Leave include/net/tap.h as the interface for NICs, and net/tap_int.h as the interface for OS-specific parts of the tap backend. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd9400b302ef582c3ae8a8d5288338ea5f0f4c9a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:27:28 2012 +0200 net: move net.c to net/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7fa22f2bf7a06d5345283a00a7c6d86b8a345228 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 09:36:33 2012 +0200 net: do not include net.h everywhere Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 090f7ac5ba433ef9de7004b8e8304d06bd9ffd7d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 09:36:16 2012 +0200 net: move Bluetooth stuff out of net.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f8fe796407d8b340def61a6b57991e47aee3cfc4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 08:49:51 2012 +0200 janitor: do not include qemu-char everywhere Touching char/char.h basically causes the whole of QEMU to be rebuilt. Avoid this, it is usually unnecessary. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 077805fa92b9089137c6b6b196d449ee05cc342f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 25 10:04:17 2012 +0200 janitor: do not rely on indirect inclusions of or from qemu-char.h Various header files rely on qemu-char.h including qemu-config.h or main-loop.h, but they really do not need qemu-char.h at all (particularly interesting is the case of the block layer!). Clean this up, and also add missing inclusions of qemu-char.h itself. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8e98e2e80b92e08e79e27a0c20a172906cfa12d2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:16:01 2012 +0200 build: kill libuser Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:12:21 2012 +0200 build: kill libdis, move disassemblers to disas/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c1c9367216c97ca93de79e90822045a425d7e76d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 14 18:28:23 2012 +0200 build: create ldscripts/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 525877c9992a07d424be4cfdd4ba13a69141a513 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 17 08:35:53 2012 +0200 build: move rules from Makefile to */Makefile.objs Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4e8cb28c4b536bf408c1ba01710e2a7644e144e5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 17 10:31:17 2012 +0200 build: add $(TARGET_DIR) to "GEN config-target.h" lines Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9d9199a003b7531257836d5abb0b30c250303885 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 17 10:21:52 2012 +0200 build: adjust setting of QEMU_INCLUDES Make it correct for nested directories, and move the static part from Makefile to configure. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7937e75b1aba66cf24c93e58c48cbb4d59d1c19c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 10:47:53 2012 +0200 vscclient: use per-target variables Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 494342b35b55b3b126821141e15c8a49df122ff1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Oct 15 17:44:21 2012 +0200 target-alpha: Add support for -cpu ? Implement alphabetical listing of CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0c28246fcd5ea9ccb22aa93ef2e0af14463fec58 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Oct 15 17:33:32 2012 +0200 target-alpha: Turn CPU definitions into subclasses Make TYPE_ALPHA_CPU abstract and add types <name>-alpha-cpu. Use type inheritence, and turn "2*" models into aliases. Move cpu_alpha_init() to cpu.c and split out CPU realization. Default to creating type "ev67-alpha-cpu" as before. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit c92458538f501eda585b4b774c50644aed391a8a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 02:41:11 2012 +0100 target-alpha: Avoid leaking the alarm timer over reset Move the timer from CPUAlphaState to AlphaCPU to avoid the pointer being zero'ed once we implement reset. Would cause a segfault in sys_helper.c:helper_set_alarm(). This also simplifies timer initialization in Typhoon. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit ad6011775a324d7c3e2a8bd824e03c5e576dda48 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Oct 16 02:45:53 2012 +0200 alpha: Pass AlphaCPU array to Typhoon Also store it in TyphoonCchip. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5f5e335088925cedc5b912fd8bb4e1e933094d56 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Oct 15 17:52:00 2012 +0200 target-alpha: Let cpu_alpha_init() return AlphaCPU Replace cpu_init() macro with inline function for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit 914606d26e654d4c01bd5186f4d05e3fd445e219 Merge: 5455a47... 779ab5e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:43 2012 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: configure: Earlier pkg-config probe vmmouse_reset(): remove minimal code duplication linux-user/syscall.c: remove wrong forward decl of setgroups() fix build error on ARM due to wrong glibc check gitignore: Add virtfs-proxy-helper arm_gic: Add cpu nr to Raised IRQ message zynq_slcr: Compile time warning fixes. pflash_cfi0x: Send debug messages to stderr pflash_cfi01: qemu_log_mask "unimplemented" msg net, hub: fix the indent in the comments Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5455a474d92e345df83212fd1b2f59d4a5d46ca9 Merge: 510981a... 91bdd1c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:32 2012 -0600 Merge remote-tracking branch 'amit/master' into staging * amit/master: virtio-serial-bus: assert port is non-null in remove_port() virtio-serial-bus: send_control_msg() should not deal with cpkts virtio-serial: delete timer if active during exit virtio-serial: allocate post_load only at load-time virtio-serial: move active ports loading to separate function virtio-serial: use uint32_t to count ports Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 510981a097bf16ef4747c9a1dfe806edfc117177 Merge: c3a1ecd... 700f6b6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:21 2012 -0600 Merge remote-tracking branch 'spice/spice.v66' into staging * spice/spice.v66: docs: add spice-port-fqdn.txt spice-qemu-char: register spicevmc ports during qemu_spice_init() spice-qemu-char: keep a list of spice chardev spice-qemu-char: add spiceport chardev spice-qemu-char: factor out CharDriverState creation spice-qemu-char: write to chardev whatever amount it can read qxl+vnc: register a vm state change handler for dummy spice_server qxl: save qemu_create_displaysurface_from result Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3a1ecd0fc565c913efc59663e7ac34b9c3c2291 Merge: a8a826a... 249e7e0... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:04 2012 -0600 Merge remote-tracking branch 'sstabellini/xen-20121217' into staging * sstabellini/xen-20121217: cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_item Fix compile errors when enabling Xen debug logging. xen: fix trivial PCI passthrough MSI-X bug xen: implement support for secondary consoles in the console backend Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 779ab5e3ddb9ad903f9a0ec21e148ed7bfd2d255 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Dec 16 11:29:45 2012 +0100 configure: Earlier pkg-config probe Probe pkg-config before it is used for the first time (libseccomp check). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5a6c7644b215060a43d94709307d86bc50e1b4b9 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Dec 13 15:01:49 2012 +0100 vmmouse_reset(): remove minimal code duplication Commit 069ab0eb added a vmmouse_disable() call to vmmouse_reset(). vmmouse_disable() resets the status already. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c56dc774242f902e51e2343f4472e742ef2b7838 Author: John Spencer <maillist-qemu@xxxxxxxxxxx> Date: Mon Dec 10 07:59:46 2012 +0100 linux-user/syscall.c: remove wrong forward decl of setgroups() this declaration is wrong: the correct prototype on linux is: int setgroups(size_t size, const gid_t *list); since by default musl libc exposes this symbol in unistd.h additionally to grp.h, the wrong declaration causes a build error. the proper fix is to simply include the correct header. Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e12cdb1b4055530c61fe99683d256c42e9e62ac8 Author: John Spencer <maillist-qemu@xxxxxxxxxxx> Date: Mon Dec 10 07:59:44 2012 +0100 fix build error on ARM due to wrong glibc check the test for glibc < 2 "succeeds" wrongly for any non-glibc C library, and breaks the build on musl libc. we must first test if __GLIBC__ is defined at all, before using it unconditionally. Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 887eb29930a7b48e46d16916cb050d114016f143 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Thu Dec 6 20:03:26 2012 -0500 gitignore: Add virtfs-proxy-helper Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8c815fb30ed1940c66389be728b29d5ebdf05c0e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:36 2012 +1000 arm_gic: Add cpu nr to Raised IRQ message Add the relevant CPU nr to this debug message to make IRQ debugging more informative. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8f6038009662b481fbd1e43cd69af80aa10a8223 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:35 2012 +1000 zynq_slcr: Compile time warning fixes. Few warnings when compiled with debug printfs enabled. Fixed all. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ec9ea4890cd06de1648cbbfb99fcb63e01f4000f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:34 2012 +1000 pflash_cfi0x: Send debug messages to stderr These debug info messages should go to stderr rather than stdout. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d96fc51cc6defcd80bdf932823dadd88be532a0b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:33 2012 +1000 pflash_cfi01: qemu_log_mask "unimplemented" msg This printf is informing the user of unimplemented functionality. It should be re-directed to qemu_log(LOG_UNIMP, ...) accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e103129b1b5746f8388b37d18317e61d6b139b69 Author: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 7 09:43:18 2012 +0800 net, hub: fix the indent in the comments Remove some redundant blanks in the comments of net_hub_id_for_client(). Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 91bdd1cf08f65b7a127c22d4d65ff9d16dcac870 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Dec 18 13:08:33 2012 +0530 virtio-serial-bus: assert port is non-null in remove_port() remove_port() is called from qdev's unplug callback, and we're certain the port will be found in our list of ports. Adding an assert() documents this. This was flagged by Coverity, fix suggested by Markus. CC: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit 4e28976e563ad54f6adc5ae00b1fb8224f1a82ca Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Wed Dec 12 18:26:09 2012 +0530 virtio-serial-bus: send_control_msg() should not deal with cpkts Stuff the cpkt before calling send_control_msg(). This function should not be concerned about contents of the buffer it receives. A few code refactorings recently have made making this change easier than earlier. Coverity and clang have flagged this code several times in the past (cpkt->id not set before send_control_event() passed it on to send_control_msg()). This will finally eliminate the false-positive. CC: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit 5f0cef1aa92b98610a99125d1d1d80e9339ac7c5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 27 09:51:55 2012 +0200 libcacard: simplify rules for recursive build Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6f991980a5e96f93a9f676959df2dcba665665ef Merge: a8a826a... 1dd3a74... Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:17:08 2012 +0100 Merge commit '1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 700f6b6a921861a8946377a9531b6d1e8b09bb51 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:37 2012 +0100 docs: add spice-port-fqdn.txt Start a simple org.qemu.* registry of well known name. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit afd0b4091fef7a1290cf76c6da8c9a24a3553d58 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:36 2012 +0100 spice-qemu-char: register spicevmc ports during qemu_spice_init() Do the delayed registration of spicevmc ports after Spice server is initialized. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7a5448ce6ef140a20b1a090d50aeb4248d0a9ffd Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:35 2012 +0100 spice-qemu-char: keep a list of spice chardev Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5a49d3e9a799b7e1bf87da7ae7f2a719e01da319 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:34 2012 +0100 spice-qemu-char: add spiceport chardev Add a new spice chardev to allow arbitrary communication between the host and the Spice client via the spice server. Examples: This allows the Spice client to have a special port for the qemu monitor: ... -chardev spiceport,name=org.qemu.monitor,id=monitorport -mon chardev=monitorport v2: - remove support for chardev to chardev linking - conditionnaly compile with SPICE_SERVER_VERSION Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 71b423f4b970de2622803a67a2bf39b1d1f5a12c Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:33 2012 +0100 spice-qemu-char: factor out CharDriverState creation Make the CharDriverState creation code reusable by spicevmc port. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 07a54d704e62e2515db0b085d53d13a2f1b1b06a Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:32 2012 +0100 spice-qemu-char: write to chardev whatever amount it can read The current code waits until the chardev can read MIN(len, VMC_MAX) But some chardev may never reach than amount, in fact some of them will only ever accept write of 1. Fix the min computation and remove the VMC_MAX constant. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 938b8a36b65e44c44ca29245437f8d7ac0f826e8 Author: Uri Lublin <uril@xxxxxxxxxx> Date: Wed Dec 12 18:30:47 2012 +0200 qxl+vnc: register a vm state change handler for dummy spice_server When qxl + vnc are used, a dummy spice_server is initialized. The spice_server has to be told when the VM runstate changes, which is what this patch does. Without it, from qxl_send_events(), the following error message is shown: qxl_send_events: spice-server bug: guest stopped, ignoring Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Uri Lublin <uril@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2f464b5a32b414adb545acc6d94b5c35c7d258ba Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Dec 10 07:41:07 2012 +0100 qxl: save qemu_create_displaysurface_from result Spotted by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=885644 Cc: qemu-stable@xxxxxxxxxx Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 249e7e0fff080df0eff54730f3b6459d92d61e5a Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Date: Mon Dec 17 11:44:02 2012 +0000 cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int The current code compare i (int) with req->count (uint32_t) in a for loop, risking an infinite loop if req->count is equal to UINT_MAX. Also i is only used in comparisons or multiplications with unsigned integers. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> commit a38648290ee277c7cb8a53eabdcdb08bb7a9f23f Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Date: Mon Dec 17 11:43:19 2012 +0000 cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_item Replace a lot of formulaic multiplications (containing casts, no less) with calls to a pair of functions. This encapsulates in a single place the operations which require care relating to integer overflow. Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit f1b8caf1d927f30f66054733a783651a24db4999 Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Date: Mon Dec 17 11:37:43 2012 +0000 Fix compile errors when enabling Xen debug logging. Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 044b99c6555f562254ae70dc39f32190eecbc1f2 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Dec 17 11:36:58 2012 +0000 xen: fix trivial PCI passthrough MSI-X bug We are currently passing entry->data as address parameter. Pass entry->addr instead. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Xen-devel: http://marc.info/?l=xen-devel&m=135515462613715 commit 2c1d4d15f09cf95b8f832624e7aac2916f9d1865 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Dec 17 11:36:09 2012 +0000 xen: implement support for secondary consoles in the console backend This patch corresponds to commit 840184a106bc24e745beda5c77e392f6cecd2bc9 from git://xenbits.xensource.com/qemu-xen-unstable.git. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 1dd3a74d2ee2d873cde0b390b536e45420b3fe05 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 10 13:00:45 2012 +0200 kvm: do not flush after deleting gsi Deleting a GSI isn't necessary: it is enough to stop using it. Delay flush until an entry is used. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2059946358999da80be22494af2d5c3174142902 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 23:11:16 2012 +0200 pci_bus.h: tweak include guards Now that header has been renamed, tweak include guards to match. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 952deab6cff5d6d81ff7a63955e958894c07177c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 15:04:09 2012 +0200 pci_bus: update comment Don't ask everyone to desist from including this header, simply recommend using accessors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 06aac7bd50cd934f416fe355633c045fee832905 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 15:00:45 2012 +0200 pci: rename pci_internals.h pci_bus.h There are lots of external users of pci_internals.h, apparently making it an internal interface only didn't work out. Let's stop pretending it's an internal header. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit d9fb58054825ef141e6d03f455654b2e3e767bce Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 14:39:01 2012 +0200 Revert "pci: prepare makefiles for pci code reorganization" This reverts commit 475d67c3bcd6ba9fef917b6e59d96ae69eb1a9b4. Now that all users have been updated, we don't need the makefile hack or the softlink anymore. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c759b24fae08c6c333df03e1db48e13b7f5eda30 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 23:05:42 2012 +0200 pci: fix path for local includes Include dependencies from pci core using the correct path. This is required now that it's in the separate directory. Need to check whether they can be minimized, for now, keep the code as is. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a2cb15b0ddfa05f81a42d7b65dd0c7c50e420c33 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 14:24:50 2012 +0200 pci: update all users to look in pci/ update all users so we can remove the makefile hack. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 315a1350c4a386065a73aad2ded1a11d77bf7771 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 13:32:14 2012 +0200 pci: move pci core code to hw/pci Move files and modify makefiles to pick them at the new location. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Tue Dec 4 20:16:07 2012 +0000 exec: refactor cpu_restore_state Refactor common code around calls to cpu_restore_state(). tb_find_pc() has now no external users, make it static. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5b6dd8683dc30e8e0970db3dd9176732dc819410 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Dec 2 16:04:43 2012 +0000 exec: move TB handling to translate-all.c Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5a3165263ae6782a7fe712a0a0c29c17468b9b68 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Dec 2 21:28:09 2012 +0000 exec: extract TB watchpoint check Will be moved by the next patch. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 44209fc4edfd92464eb0413acfd434b687be945a Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Dec 2 17:25:06 2012 +0000 exec: fix coding style Fix coding style in areas to be moved by later patches. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 6d4e18925a65306afabaad7b63a4588c18919e99 Merge: 659f807... a64ae61... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Dec 15 09:05:26 2012 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits) pseries: Increase default NVRAM size target-ppc: Don't use hwaddr to represent hardware state PPC: e500: pci: Export slot2irq calculation PPC: E500plat: Make a lot of PCI slots available PPC: E500: Move PCI slot information into params PPC: E500: Generate dt pci irq map dynamically PPC: E500: PCI: Make IRQ calculation more generic PPC: E500: PCI: Make first slot qdev settable openpic: Accelerate pending irq search openpic: fix minor coding style issues MSI-X: Fix endianness PPC: e500: Declare pci bridge as bridge PPC: e500: Add MSI support openpic: add Shared MSI support openpic: make brr1 model specific openpic: convert to qdev openpic: remove irq_out openpic: rename openpic_t to OpenPICState openpic: convert simple reg operations to builtin bitops openpic: remove unused type variable ... commit 659f807c0a700317a7a0fae7a6e6ebfe68bfbbc4 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Dec 13 04:13:41 2012 +0400 target-xtensa: fix ITLB/DTLB page protection flags With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is only used for code access, DTLB is only for data. However TLB entries in both TLBs have attribute field controlling write and exec access. These bits need to be properly masked off depending on TLB type before being used as tlb_set_page prot argument. Otherwise the following happens: (1) ITLB entry for some PFN gets invalidated (2) DTLB entry for the same PFN gets updated, attributes allow code execution (3) code at the page with that PFN is executed (possible due to step 2), entry for the TB is written into the jump cache (4) QEMU TLB entry for the PFN gets replaced with an entry for some other PFN (5) code in the TB from step 3 is executed (possible due to jump cache) and it accesses data, for which there's no DTLB entry, causing DTLB miss exception (6) re-translation of the TB from step 5 is attempted, but there's no QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB miss exception at the TB start address (7) ITLB miss exception is handled by the guest, but execution is resumed from the beginning of the faulting TB (the point where ITLB miss occured), not from the point where DTLB miss occured, which is wrong. With that fix the above scenario causes ITLB miss exception (that used to be step 7) at step 3, right at the beginning of the TB. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4b4496dbccc5f286f0ef411f0ff702d67cb95145 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:25 2012 +0100 console: clip update rectangle Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bc210eb163b162ff2e94e5c8f4307715731257f8 Author: Gerd Hoffmann <1087974@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 14 07:54:24 2012 +0000 pixman: fix vnc tight png/jpeg support This patch adds an x argument to qemu_pixman_linebuf_fill so it can also be used to convert a partial scanline. Then fix tight + png/jpeg encoding by passing in the x+y offset, so the data is read from the correct screen location instead of the upper left corner. Cc: 1087974@xxxxxxxxxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Reported-by: Tim Hardeneck <thardeck@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f27b2e1dfe79f993567652411d1ba16295b99719 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:23 2012 +0100 pixman: update internal copy to pixman-0.28.2 Some w64 fixes by Stefan Weil found their way into 0.28.2, so update the internal copy to that version to improve windows support. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cb1d40d7ccfc18ba1fcb9e064402d930349ee047 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:22 2012 +0100 Revert "pixman: require 0.18.4 or newer" This reverts commit 288fa40736e6eb63132d01aa6dc21ee831b796ae. The only reason old pixman versions didn't work was the missing PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now. So we don't have to require a minimum pixman version. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fbddfc727bde692f009a269e8e628d8c152b537b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:21 2012 +0100 pixman: fix version check for PIXMAN_TYPE_BGRA Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f28558d3d37ad3bc4e35e8ac93f7bf81a0d5622c Author: Will Auld <will.auld.intel@xxxxxxxxx> Date: Mon Nov 26 21:32:18 2012 -0800 target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs CPUID.7.0.EBX[1]=1 indicates IA32_TSC_ADJUST MSR 0x3b is supported Basic design is to emulate the MSR by allowing reads and writes to the hypervisor vcpu specific locations to store the value of the emulated MSRs. In this way the IA32_TSC_ADJUST value will be included in all reads to the TSC MSR whether through rdmsr or rdtsc. As this is a new MSR that the guest may access and modify its value needs to be migrated along with the other MRSs. The changes here are specifically for recognizing when IA32_TSC_ADJUST is enabled in CPUID and code added for migrating its value. Signed-off-by: Will Auld <will.auld@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit a64ae610b978dfd8ccfb7f6c5d4cfe62d7542fbd Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Dec 3 16:42:16 2012 +0000 pseries: Increase default NVRAM size If no image file for NVRAM is specified, the pseries machine currently creates a 16K non-persistent NVRAM by default. This basically works, but is not large enough for current firmware and guest kernels to create all the NVRAM partitions they would like to. Increasing the default size to 64K addresses this and stops the guest generating error messages. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b162d02e9450201c656edce290f33994a6d2ad33 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Dec 3 16:42:14 2012 +0000 target-ppc: Don't use hwaddr to represent hardware state The hwaddr type is somewhat vaguely defined as being able to contain bus addresses on the widest possible bus in the system. For that reason it's discouraged for representing specific pieces of persistent hardware state, which should instead use an explicit width type that matches the bits available in real hardware. In particular, because of the possibility that the size of hwaddr might change if different buses are added to the target in future, it's not suitable for use in vm state descriptions for savevm and migration. This patch purges such unwise uses of hwaddr from the ppc target code, which turns out to be just one. The ppcemb_tlb_t struct, used on a number of embedded ppc models to represent a TLB entry contains a hwaddr for the real address field. This patch changes it to be a fixed uint64_t which is suitable enough for all machine types which use this structure. Other uses of hwaddr in CPUPPCState turn out not to be problematic: htab_base and htab_mask are just used for the convenience of the TCG code; the underlying machine state is the SDR1 register, which is stored with a suitable type already. Likewise the mpic_cpu_base field is only used internally and does not represent fundamental hardware state which needs to be saved. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9e2c12988bebca7b99c0cd064b23fb7ea6643c86 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 13 01:16:24 2012 +0100 PPC: e500: pci: Export slot2irq calculation We need the calculation method to get from a PCI slot ID to its respective interrupt line twice. Once in the internal map function and once when assembling the device tree. So let's extract the calculation to a separate function that can be called by both users. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3bb7e02a9725a24e5bf915b35f914f82f5b07a1f Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 14:58:30 2012 +0100 PPC: E500plat: Make a lot of PCI slots available The ppce500 machine doesn't have to stick to hardware limitations, as it's defined as being fully device tree based. Thus we can change the initial PCI slot ID to 0x1 which gives us a whopping 31 PCI devices we can support with this machine now! Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 492ec48dc2d99ca13b24d554e1970af7e2581e23 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 13:53:53 2012 +0100 PPC: E500: Move PCI slot information into params We have a params struct that allows us to expose differences between e500 machine models. Include PCI slot information there, so we can have different machines with different PCI slot topology. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 347dd79dccf41a679115213da673dfd06c4c8cc8 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 13:47:07 2012 +0100 PPC: E500: Generate dt pci irq map dynamically Today we're hardcoding the PCI interrupt map in the e500 machine file. Instead, let's write it dynamically so that different machine types can have different slot properties. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 05f57d9de8e99bf5f7ca762c6dc2f1e054c2074c Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 12:58:12 2012 +0100 PPC: E500: PCI: Make IRQ calculation more generic The IRQ line calculation is more or less hardcoded today. Instead, let's write it as an algorithmic function that theoretically allows an arbitrary number of PCI slots. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eafb325fb11af21ed9df3f5a310fd26e70954318 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 12:56:40 2012 +0100 PPC: E500: PCI: Make first slot qdev settable Today the first slot id in our e500 pci implementation is hardcoded to 0x11. Keep it there as default, but allow users to change the default to a different id. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 76aec1f8b6549d14576a3eb739c731df8f678ffb Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 13 12:48:14 2012 +0100 openpic: Accelerate pending irq search When we're done with one interrupt, we need to search for the next pending interrupt in the queue. This search has grown quite big now that we have more than 256 possible irq lines. So let's memorize how many interrupts we have pending in our bitmaps, so that we can always bail out in the usual case - the one where we're all done. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dbe30e13e87a71e85e88ae3ffd3460173cbc8193 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 13 00:44:22 2012 +0100 openpic: fix minor coding style issues This patch removes all remaining occurences of spaces before function parameter indicating parenthesis. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 6 04:11:33 2012 +0100 MSI-X: Fix endianness The MSI-X vector tables are usually stored in little endian in memory, so let's mark the accessors as such. This fixes MSI-X on e500 for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 997505065dc92e533debf5cb23012ba4e673d387 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 14:27:26 2012 +0100 PPC: e500: Declare pci bridge as bridge The new PCI host bridge device needs to identify itself as PCI host bridge. Declare it as such. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a911b7a92064d17b862ae85fe8e5ec91b7ba1aa9 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 14:26:37 2012 +0100 PPC: e500: Add MSI support Now that our interrupt controller supports MSIs, let's expose that feature to the guest through the device tree! Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 732aa6ec2639ace8bcb0b27b9c0d71103bd1d153 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 14:18:00 2012 +0100 openpic: add Shared MSI support The OpenPIC allows MSI access through shared MSI registers. Implement them for the MPC8544 MPIC, so we can support MSIs. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dbbbfd6058dda61f57d1f72133aa54eb27330411 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 13:51:50 2012 +0100 openpic: make brr1 model specific Now that we can properly distinguish between openpic model differences, let's move brr1 out of the raven code path. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d0b7263134dfd4d487698b639f2069951f3fdb26 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 05:17:14 2012 +0100 openpic: convert to qdev This patch converts the OpenPIC device to qdev. Along the way it renames the "openpic" target to "raven" and the "mpic" target to "fsl_mpic_20", to better reflect the actual models they implement. This way we have a generic OpenPIC device now that can handle different flavors of the OpenPIC specification. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5bac0701113f4de4fee053a3939b0f569a04b88c Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 02:18:58 2012 +0100 openpic: remove irq_out The current openpic emulation contains half-ready code for bypass mode. Remove it, so that when someone wants to finish it they can start from a clean state. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6d544ee8ac2097c87fc97b53d6a1310d9daa0562 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:59:20 2012 +0100 openpic: rename openpic_t to OpenPICState Rename the openpic_t struct to OpenPICState, so it adheres better to the current coding style rules. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1945dbc15f0f1ffdc9a10526448e9eba7c599d98 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:49:52 2012 +0100 openpic: convert simple reg operations to builtin bitops The openpic code has its own bitmap code to access bits inside of a bitmap. However, that is overkill when we simply want to check for a bit inside of a uint32_t. So instead, let's use normal bit masks and C builtin shifts and ands. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1d10851522d7262a266f95d54c48eb2b1d8eb9b Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:25:21 2012 +0100 openpic: remove unused type variable The openpic source irqs are carrying around a type indicator that is never accessed by anything. Remove it. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 35732cb41e8f8608bb0fd6ae023daee56d439bf1 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:04:48 2012 +0100 openpic: unify memory api subregions The only difference between the "openpic" and "mpic" memory api subregion descriptors is the endianness. Unify them as openpic accessors with explicit endianness markers in their names. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 825463b38414c9afb657caee1ce20eff2d521317 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 00:58:54 2012 +0100 openpic: combine openpic and mpic reset functions The openpic and mpic reset handlers are almost identical. Combine them and extract the differences into state variables. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c38c0b8ad0551e470984f2ae7e8e54aae304ed4b Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 00:43:42 2012 +0100 openpic: merge mpic and openpic timer handling The openpic and mpic timer handling code is basically the same. Merge them. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5861a33898bbddfd1a80c2e202cb9352e3b1ba62 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 23:51:09 2012 +0100 openpic: combine mpic and openpic irq raise functions The IRQ raise mechanisms of the OpenPIC and MPIC controllers is identical, just that the MPIC one can also raise critical interrupts. Combine those two and check for critical raise capability during runtime. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 780d16b77f992db81e90b7dd7474a9397ce393b9 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 17:15:15 2012 +0100 openpic: Convert subregions to memory api The "openpic" controller is currently using one big region and does subregion dispatching manually. Move this to the memory api. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a285f1ca703a434fa8edf584f94a1dc29067ab29 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 16:45:40 2012 +0100 openpic: combine mpic and openpic src handlers The MPIC source irq handler suddenly became identical to the standard OpenPIC source irq handler. Combine them into the same function. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b9b2aaa3c6926cf8af21fe75457ca6c6e0dc1f5d Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 16:31:55 2012 +0100 openpic: update to proper memory api The openpic code was still using the old mmio memory api. Convert it to be a generic memory api user and clean up some code that becomes redundant that way. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cdbb912a6f8b5f325df3a6fd42cb2843032050c9 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 16:10:34 2012 +0100 mpic: Unify numbering scheme MPIC interrupt numbers in Linux (device tree) and in QEMU are different, because QEMU takes the sparseness of the IRQ number space into account. Remove that cleverness and instead assume a flat number space. This makes the code easier to understand, because we are actually aligned with Linux on the view of our worlds. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 38898d7ed803cee5105246150725487add78cbd7 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 6 15:59:27 2012 +0100 openpic: Remove unused code The openpic code had a few WIP bits left that nobody reanimated within the last few years. Remove that code. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> commit 8b1853e7d8c2bf8c6a9f023ab98ba0e8a38bd086 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Dec 3 16:42:13 2012 +0000 pseries: Don't allow TCE (iommu) tables to be registered with duplicate LIOBNs The PAPR specification requires that every bus or device mediated by the IOMMU have a unique Logical IO Bus Number (LIOBN). This patch adds a check to enforce this, which will help catch errors in configuration earlier. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3eddc1be1ccb26387f8f960f8a3d8c417064a91f Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Wed Oct 10 04:28:28 2012 +0000 Adding BAR0 for e500 PCI controller PCI Root complex have TYPE-1 configuration header while PCI endpoint have type-0 configuration header. The type-1 configuration header have a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci address space to CCSR address space. This can used for 2 purposes: 1) for MSI interrupt generation 2) Allow CCSR registers access when configured as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest. What I observed is that when guest read the size of BAR0 of host controller configuration header (TYPE1 header) then it always reads it as 0. When looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller device registering BAR0. I do not find any other controller also doing so may they do not use BAR0. There are two issues when BAR0 is not there (which I can think of): 1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and when reading the size of BAR0, it should give size as per real h/w. 2) Do we need this BAR0 inbound address translation? When BAR0 is of non-zero size then it will be configured for PCI address space to local address(CCSR) space translation on inbound access. The primary use case is for MSI interrupt generation. The device is configured with an address offsets in PCI address space, which will be translated to MSI interrupt generation MPIC registers. Currently I do not understand the MSI interrupt generation mechanism in QEMU and also IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines. But this BAR0 will be used when using MSI on e500. I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c, but i do not see these being used for address translation. So far that works because pci address space and local address space are 1:1 mapped. BAR0 inbound translation + ATMU translation will complete the address translation of inbound traffic. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: fix double variable assignment w/o read] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dffb1dc29fb364aaafc41b34100a06517d7f065e Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Wed Oct 10 04:28:27 2012 +0000 e500: Adding CCSR memory region All devices are also placed under CCSR memory region. The CCSR memory region is exported to pci device. The MSI interrupt generation is the main reason to export the CCSR region to PCI device. This put the requirement to move mpic under CCSR region, but logically all devices should be under CCSR. So this patch places all emulated devices under ccsr region. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4fd50339c0b55fa6387fa3c28f755c306997064c Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:58 2012 +0000 pseries: Update SLOF for NVRAM support Now that we have implemented PAPR compatible NVRAM interfaces in qemu, this updates the SLOF firmware to actually initialize and use the NVRAM as a PAPR guest firmware is expected to do. This SLOF update also includes an ugly but useful workaround for a bug in the SLES11 installer which caused it to fail under KVM. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 639e8102ae71ce2e46ebeffc6080767e573c0c56 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:57 2012 +0000 pseries: Implement PAPR NVRAM The PAPR specification requires a certain amount of NVRAM, accessed via RTAS, which we don't currently implement in qemu. This patch addresses this deficiency, implementing the NVRAM as a VIO device, with some glue to instantiate it automatically based on a machine option. The machine option specifies a drive id, which is used to back the NVRAM, making it persistent. If nothing is specified, the driver instead simply allocates space for the NVRAM, which will not be persistent Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 22a2611c9cef4a8c8ad96fe17b3511a6cc5fb3a1 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:55 2012 +0000 pseries: Split xics irq configuration from state information Currently the XICS irq controller code has a per-irq state structure which amongst other things includes whether the interrupt is level or message triggered - this is configured by the platform code, and is not directly visible to the guest. This leads to a slightly awkward construct at reset time where we need to reset everything in the state structure _except_ the lsi/msi flag, which needs to retain the information given at platform init time. More importantly this flag will make matching the qemu state to the KVM state for the upcoming in-kernel XICS implementation more awkward. This patch, therefore, removes this flag from the per-irq state structure, instead adding a parallel array giving the lsi/msi configuration per irq. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 500efa2319d1f1074b1d61e5ceb7a0fd61d0831d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:54 2012 +0000 pseries: Add tracepoints to the XICS interrupt controller This patch adds tracing / debugging calls to the XICS interrupt controller implementation used on the pseries machine. Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d36b66f7a420737dcc24de15b35a465ff6b1798d Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:53 2012 +0000 pseries: Allow RTAS tokens without a qemu handler Kernel-based RTAS calls will not have a qemu handler, but will still be registered in qemu in order to be assigned a token number and appear in the device-tree. Let's test for the name being NULL rather than the handler when deciding to skip an entry while building the device-tree Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4aac82c34675fcbd3722dfc3a2d04c839215ec6b Author: Michael Ellerman <michael@xxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:52 2012 +0000 pseries: Return the token when we register an RTAS call The kernel will soon be able to service some RTAS calls. However the choice of tokens will still be up to userspace. To support this have spapr_rtas_register() return the token that is allocated for an RTAS call, that allows the calling code to tell the kernel what the token value is. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bf3bc4c4e992fb9914e2f1f7e8a569394d298b57 Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:50 2012 +0000 pseries: Use #define for XICS base irq number Currently the lowest "real" irq number for the XICS irq controller (as opposed to numbers reserved for IPIs and other special purposes) is hard coded as 16 in two places - in xics_system_init() and in spapr.c. As well as being generally bad practice, we're going to need to change this number soon to fit in with the in-kernel XICS implementation. This patch adds a #define for this number to avoid future breakage. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 044f4c8b0ee90290b6cbbc616c4be3c8aeffcaab Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:49 2012 +0000 pseries: Fix incorrect initialization of interrupt controller Currently in the reset code for the XICS interrupt controller, we initialize the pending_priority field to 0 (most favored, by XICS convention). This is incorrect, since there is no pending interrupt, it should be set to least favored - 0xff. At the moment our XICS implementation doesn't get hurt by this edge case, but it does confuse the upcoming kernel XICS implementation. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e376a788ae130454ad5e797f60cb70d0308babb6 Merge: df93300... 226c3c2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 14:32:28 2012 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging * kwolf/for-anthony: (43 commits) qcow2: Factor out handle_dependencies() qcow2: Execute run_dependent_requests() without lock qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2 qcow2: Allocate l2meta only for cluster allocations qcow2: Drop l2meta.cluster_offset qcow2: Allocate l2meta dynamically qcow2: Introduce Qcow2COWRegion qcow2: Round QCowL2Meta.offset down to cluster boundary atapi: reset cdrom tray statuses on ide_reset qemu-iotests: Test concurrent cluster allocations qcow2: Move BLKDBG_EVENT out of the lock qemu-io: Add AIO debugging commands blkdebug: Implement suspend/resume of AIO requests blkdebug: Factor out remove_rule() blkdebug: Allow usage without config file create new function: qemu_opt_set_number use qemu_opts_create_nofail introduce qemu_opts_create_nofail function qemu-option: qemu_opt_set_bool(): fix code duplication qemu-option: qemu_opts_validate(): fix duplicated code ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit df9330070e671134544f872dc5c027443878b764 Merge: aa1246a... 871edc5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 11:41:57 2012 -0600 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging * pmaydell/arm-devs.next: hw/ds1338.c: Fix handling of DAY (wday) register. hw/ds1338.c: Implement support for the control register. hw/ds1338.c: Ensure state is properly initialized. hw/ds1338.c: Fix handling of HOURS register. hw/ds1338.c: Add definitions for various flags in the RTC registers. hw/ds1338.c: Correct bug in conversion to BCD. exynos4210/mct: Avoid infinite loop on non incremental timers hw/arm_gic: fix target CPUs affected by set enable/pending ops xilinx_zynq: Add one variable to avoid overwriting QSPI bus hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs hw/arm_gic: Fix comparison with priority mask register hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit aa1246aee2914424f101a7e462bd1393ececef95 Merge: 5a58598... ff15629... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 11:41:25 2012 -0600 Merge remote-tracking branch 'kraxel/seabios-e8a76b0' into staging * kraxel/seabios-e8a76b0: seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5a58598090d1349d2bd3e9015e6999dcf87ec5b5 Merge: 45e6cee... d281084... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 11:40:23 2012 -0600 qMerge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20121210.0' into staging vfio-pci: fix kvm disabled path * awilliam/tags/vfio-pci-for-qemu-20121210.0: vfio-pci: Don't use kvm_irqchip_in_kernel Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 226c3c26b9800b7c6a8d3100e1faad6d2b97b0f5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:49 2012 +0100 qcow2: Factor out handle_dependencies() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4e95314e2bb7baa64f2a9026df5e2649081b7060 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:48 2012 +0100 qcow2: Execute run_dependent_requests() without lock There's no reason for run_dependent_requests() to hold s->lock, and a later patch will require that in fact the lock is not held. Also, before this patch, run_dependent_requests() not only does what its name suggests, but also removes the l2meta from the list of in-flight requests. When changing this, it becomes an one-liner, so just inline it completely. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 280d373579558f73a8b70e329d9a6206933d3809 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:47 2012 +0100 qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2 This is closer to where the dirty flag is really needed, and it avoids having checks for special cases related to cluster allocation directly in the writev loop. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f50f88b9fea09fef12cc293126cf45dcf0ef600b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:46 2012 +0100 qcow2: Allocate l2meta only for cluster allocations Even for writes to already allocated clusters, an l2meta is allocated, though it stays effectively unused. After this patch, only allocating requests still have one. Each l2meta now describes an in-flight request that writes to clusters that are not yet hooked up in the L2 table. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 060bee8943c27d4d53f65570fafaa2559fcd87c3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:45 2012 +0100 qcow2: Drop l2meta.cluster_offset There's no real reason to have an l2meta for normal requests that don't allocate anything. Before we can get rid of it, we must return the host cluster offset in a different way. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cf5c1a231ee99ac21fe8258faf50bb1f65884343 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:44 2012 +0100 qcow2: Allocate l2meta dynamically As soon as delayed COW is introduced, the l2meta struct is needed even after completion of the request, so it can't live on the stack. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 593fb83cacf3818a5623f31a6c04c24d87519ad0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:43 2012 +0100 qcow2: Introduce Qcow2COWRegion This makes it easier to address the areas for which a COW must be performed. As a nice side effect, the COW code in qcow2_alloc_cluster_link_l2 becomes really trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1d3afd649bc77aa14bc2741e2da6475822d41c5f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:42 2012 +0100 qcow2: Round QCowL2Meta.offset down to cluster boundary The offset within the cluster is already present as n_start and this is what the code uses. QCowL2Meta.offset is only needed at a cluster granularity. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 871edc5fdba884929102b89d28ff363c94f0822d Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:28 2012 +0000 hw/ds1338.c: Fix handling of DAY (wday) register. Per the datasheet, the DAY (wday) register is user defined. Implement this. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 996e91f04b9cc55cf246052856abe9189a5a0f28 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:28 2012 +0000 hw/ds1338.c: Implement support for the control register. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ed3d37d287300b7bcdb4605b921e5ec593afd214 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:28 2012 +0000 hw/ds1338.c: Ensure state is properly initialized. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 59dda8e05b015471d456177141a7c2eeda3dab14 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:27 2012 +0000 hw/ds1338.c: Fix handling of HOURS register. Per the datasheet, the mapping between 12 and 24 hours modes is: 0 <-> 12 PM 1-12 <-> 1-12 AM 13-23 <-> 1-11 PM Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 95c9361598e66de42facdac64e614e3de85186f5 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:27 2012 +0000 hw/ds1338.c: Add definitions for various flags in the RTC registers. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 580f5c000809108f51a77ae74709100d32be6ea5 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:27 2012 +0000 hw/ds1338.c: Correct bug in conversion to BCD. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a75bf146503a94fb900e0dfa0529bd5d1be9fec5 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Thu Dec 13 15:54:43 2012 +0530 virtio-serial: delete timer if active during exit The post_load timer was being freed, but not deleted. This could cause problems when the timer is armed, but the device is hot-unplugged before the callback is executed. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit bdb917bf8ab187b662c612ee6fb87479c0b82490 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Fri Nov 30 00:54:44 2012 +0530 virtio-serial: allocate post_load only at load-time This saves us a few bytes in the VirtIOSerial struct. Not a big savings, but since the entire structure is used only during a short while after migration, it's helpful to keep the struct cleaner and smaller. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit 2e575a86abc36764ef34030f423ef118914a01cc Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Thu Nov 29 17:02:14 2012 +0530 virtio-serial: move active ports loading to separate function The virtio_serial_load() function became too big, split the code that gets the port info from the source into a separate function. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit c3587ca1a25862628e06cc019f91e7b2dcef40bf Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Thu Nov 29 15:44:44 2012 +0530 virtio-serial: use uint32_t to count ports Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Tue Dec 11 08:55:48 2012 +0100 atapi: reset cdrom tray statuses on ide_reset Tray statuses should be also reseted. Some guests may lock the tray and after reset before any kernel is loaded the tray should be unlocked. Also if you reset the real computer the tray is closed. We should do the same in qemu. Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ca818cfbfd77e02ffac338866568ac07f6f5fd7d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 15:11:55 2012 +0200 MAINTAINERS: add hw/pci/ to list of PCI files Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 29002d9e104913998265cfff95bb49f4b4a966e2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 13:07:29 2012 +0200 pci: prepare makefiles for pci code reorganization To make it easier to move code around without breaking build at intermedite steps, tweak makefiles to look in pci/ and hw/ for include files, automatically. This will be reverted at the end of the reorganization. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c84a2b1aa5ccdddad03d25f58be5c94eba0d9db4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 10 22:52:11 2012 +0200 get_maintainer.pl: update from linix 3.8 Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 89e6d68ef3c45b2c4e3199c3397b5525b752698d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Nov 12 09:13:04 2012 +0200 tap: reset vnet header size on open For tap, we currently assume the vnet header size is 10 (the default value) but that might not be the case if tap is persistent and has been used by qemu previously. To fix, set vnet header size correctly on open. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6f918e40e6b7f4e3dcf89c3e3f1001e965a683a1 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Mon Oct 29 22:11:31 2012 -0400 Fixup q35/ich9 Licenses Cleanup the q35/ich9 license headers. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> commit 45e6cee42b98d10e2e14885ab656541a9ffd5187 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Dec 4 11:38:39 2012 +1100 migration: Fix madvise breakage if host and guest have different page sizes madvise(DONTNEED) will throw away the contents of the whole page at the given address, even if the given length is less than the page size. One can argue about whether that's the correct behaviour, but that's what it's done for a long time in Linux at least. That means that the madvise() in ram_load(), on a setup where TARGET_PAGE_SIZE is smaller than the host page size, can throw away data in guest pages adjacent to the one it's actually processing right now, leading to guest memory corruption on an incoming migration. This patch therefore, disables the madvise() if the host page size is larger than TARGET_PAGE_SIZE. This means we don't get the benefits of that madvise() in this case, but a more complete fix is more difficult to accomplish. This at least fixes the guest memory corruption. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7ec81e56edc2b2007ce0ae3982aa5c18af9546ab Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Dec 4 11:38:38 2012 +1100 Fix off-by-1 error in RAM migration code The code for migrating (or savevm-ing) memory pages starts off by creating a dirty bitmap and filling it with 1s. Except, actually, because bit addresses are 0-based it fills every bit except bit 0 with 1s and puts an extra 1 beyond the end of the bitmap, potentially corrupting unrelated memory. Oops. This patch fixes it. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91d4093dce58e343e2336324794daa93517b86c2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:33:00 2012 +0100 qemu-iotests: Test concurrent cluster allocations This adds some first tests for qcow2's dependency handling when two parallel write requests access the same cluster. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 67a7a0ebe5ef0f337d5f7e7e618b08c562a55da0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:59 2012 +0100 qcow2: Move BLKDBG_EVENT out of the lock We want to use these events to suspend requests for testing concurrent AIO requests. Suspending requests while they are holding the CoMutex is rather boring for this purpose. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 41c695c749b84d40e53e64faadedc0392aaea07e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:58 2012 +0100 qemu-io: Add AIO debugging commands This makes the blkdebug suspend/resume functionality available in qemu-io. Use it like this: $ ./qemu-io blkdebug::/tmp/test.qcow2 qemu-io> break write_aio req_a qemu-io> aio_write 0 4k qemu-io> blkdebug: Suspended request 'req_a' qemu-io> resume req_a blkdebug: Resuming request 'req_a' qemu-io> wrote 4096/4096 bytes at offset 0 4 KiB, 1 ops; 0:00:30.71 (133.359788 bytes/sec and 0.0326 ops/sec) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3c90c65d7adab49a41952ee14e1d65f81355e408 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:57 2012 +0100 blkdebug: Implement suspend/resume of AIO requests This allows more systematic AIO testing. The patch adds three new operations to blkdebug: * Setting a "breakpoint" on a blkdebug event. The next request that triggers this breakpoint is suspended and is tagged with a name. The breakpoint is removed after a request has triggered it. * A suspended request (identified by it's tag) can be resumed * It's possible to check whether a suspended request with a given tag exists. This can be used for waiting for an event. Ideally, we would instead tag requests right when they are created and set breakpoints for individual requests. However, at this point the block layer doesn't allow this easily, and breakpoints that trigger for any request already allow a lot of useful testing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9e35542b0fc3871caac15ccd57548b99df2c94b7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:56 2012 +0100 blkdebug: Factor out remove_rule() The cleanup work to remove a rule depends on the type of the rule. It's easy for the existing rules as there is no data that must be cleaned up and is specific to a type yet, but the next patch will change this. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 312a2ba0eb8ab19646517aeaa785475d3fbcfd51 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:55 2012 +0100 blkdebug: Allow usage without config file As soon as new rules can be set during runtime, as introduced by the next patch, blkdebug makes sense even without a config file. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b83c18e225cf82a21535561270b6dfd86b1c9031 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:23 2012 +0800 create new function: qemu_opt_set_number Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e478b448d7c36046462733ffaeaea0961575790a Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:22 2012 +0800 use qemu_opts_create_nofail We will use qemu_opts_create_nofail function, it can make code more readable. Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dd39244978627e41a66b98d20eceddb1d7d25def Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:21 2012 +0800 introduce qemu_opts_create_nofail function While id is NULL, qemu_opts_create can not fail, so ignore errors is fine. Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ad718d01ba0af531d10b0a8685cf5047edfd1891 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:20 2012 +0800 qemu-option: qemu_opt_set_bool(): fix code duplication It will set opt->str in qemu_opt_set_bool, without opt->str, there will be some potential bugs. These are uses of opt->str, and what happens when it isn't set: * qemu_opt_get(): returns NULL, which means "not set". Bug can bite when value isn't the default value. * qemu_opt_parse(): passes NULL to parse_option_bool(), which treats it like "on". Wrong if the value is actually false. Bug can bite when qemu_opts_validate() runs after qemu_opt_set_bool(). * qemu_opt_del(): passes NULL to g_free(), which is just fine. * qemu_opt_foreach(): passes NULL to the callback, which is unlikely to be prepared for it. * qemu_opts_print(): prints NULL, which crashes on some systems. * qemu_opts_to_qdict(): passes NULL to qstring_from_str(), which crashes. It also makes qemu_opt_set_bool more readable by using find_desc_by_name and opts_accepts_any. It is based on Luiz's patch and uses Markus's comments. Discussions can be found at: http://lists.nongnu.org/archive/html/qemu-devel/2012-07/msg02716.html Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit db97ceba1e17db59188e91b66e61bf84a6a71081 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:19 2012 +0800 qemu-option: qemu_opts_validate(): fix duplicated code Use opts_accepts_any() and find_desc_by_name(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c474ced8fe6684265fbb6a3183eb0cbea561409f Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:18 2012 +0800 qemu-option: opt_set(): split it up into more functions The new functions are opts_accepts_any() and find_desc_by_name(), which are also going to be used by qemu_opts_validate() (see next commit). This also makes opt_set() slightly more readable. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 97331270e50f5858c82a0c6d146da81f5b776535 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Mon Dec 3 12:55:57 2012 +0000 exynos4210/mct: Avoid infinite loop on non incremental timers Check for a 0 "distance" value to avoid infinite loop when the expired FCR timer was not programed with auto-increment. With this change the behavior is coherent with the same type of code in the exynos4210_gfrc_restart() function in the same file. Linux seems to mostly use this timer with auto-increment which explain why it is not a problem most of the time. However other OS might have a problem with this if they don't use the auto-increment feature. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Reviewed-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f47b48fb678581d6ee369cfe26b3513100b7d53e Author: Daniel Sangorrin <dsl@xxxxxxx> Date: Tue Dec 11 11:30:38 2012 +0000 hw/arm_gic: fix target CPUs affected by set enable/pending ops Fix a bug on the ARM GIC model where interrupts are not set pending on the correct target CPUs when they are triggered by writes to the Interrupt Set Enable or Set Pending registers. Signed-off-by: Daniel Sangorrin <dsl@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 79f5d67e9db35d53b478699393590392f7be03ac Author: walimis <walimisdev@xxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 xilinx_zynq: Add one variable to avoid overwriting QSPI bus commit 7b482bcf xilinx_zynq: added QSPI controller Adds one QSPI controller, which has two spi buses, one is for spi0, and another is for spi1. But when initializing the spi1 bus, "dev" has been overwrited by the ssi_create_slave_no_init() function, so that qdev_get_child_bus() returns NULL and the last two m25p80 flashes won't be attached to the spi1 bus, but to main-system-bus. Here we add one variable to avoid overwriting. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ee3f095680e4f578f4f1371a90acc20375b48966 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs The GIC architecture specification for v1 and v2 GICs (as found on the Cortex-A9 and newer) states that the GICC_PMR reset value is zero; this differs from the 0xf0 reset value used on 11MPCore. The NVIC is different again in not having a CPU interface; since we share the GIC code we must force the priority mask field to allow through all interrupts. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> commit cad065f18e1ca7694385f42f560da637d4e651b6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 hw/arm_gic: Fix comparison with priority mask register The GIC spec states that only interrupts with higher priority than the value in the GICC_PMR priority mask register are passed through to the processor. We were incorrectly allowing through interrupts with a priority equal to the specified value: correct the comparison operation to match the spec. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> commit bf471f7950e9dc9416747b2774eb712f63afe5a7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init Fix the code in the secondary CPU boot stubs so that it correctly initialises the GIC rather than relying on bugs or implementation dependent aspects of the QEMU GIC implementation: * set the GIC_PMR.Priority field to all-ones, so that all interrupts are passed through. The default of all-zeroes means all interrupts are masked, and QEMU only booted because of a bug in the priority masking in our GIC implementation. * add a barrier after GIC setup and before WFI to ensure that GIC config is complete before we go into a possible low power state. This isn't needed with the software GIC model but could be required when using KVM and executing this code on the real hardware CPU. Note that of the three secondary stub implementations, only the common generic one needs to support both v6 and v7 DSB encodings; highbank and exynos4210 will always be v7 CPUs. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> commit fbcad04d6bfdff937536eb23088a01a280a1a3af Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Mon Dec 10 12:56:22 2012 +0100 Fix error code checking for SetFilePointer() call An error has occurred if the return value is invalid_set_file_pointer and getlasterror doesn't return no_error. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 473c7f0255920bcaf37411990a3725898772817f Author: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Date: Fri Nov 30 09:55:46 2012 +0100 rbd: Fix race between aio completition and aio cancel This one fixes a race which qemu had also in iscsi block driver between cancellation and io completition. qemu_rbd_aio_cancel was not synchronously waiting for the end of the command. To archieve this it introduces a new status flag which uses -EINPROGRESS. Signed-off-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 791bfa35ee00ca10b13bedfb048ffda385b151c7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Dec 4 16:35:12 2012 +0100 qemu-io: Implement write -c for compressed clusters This makes it easier to create images with both compressed and uncompressed clusters for testing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 23e956bfe6af6f71046772478ed08d4e5c9c62d4 Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 14 17:53:16 2012 -0500 tests: Add tests for fdsets Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d92ada2202a0730e396304908ff7b870168387d2 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:09 2012 -0200 block: bdrv_img_create(): drop unused error handling code Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cf8f2426c55245f437a91f2fdabbed4ea24e7786 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:08 2012 -0200 qmp: qmp_drive_mirror(): pass Error object to bdrv_img_create() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 43e17041156ddecac8a7500648e71287ba270c0a Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:07 2012 -0200 qmp: qmp_transaction(): pass Error object to bdrv_img_create() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a930091189cedcc0023dd38f705e2a46e530f4a4 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:06 2012 -0200 qemu-img: img_create(): drop unneeded goto and ret variable Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9b37525a7dbc4f5eef0023fc92716259a3d94612 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:05 2012 -0200 qemu-img: img_create(): pass Error object to bdrv_img_create() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 71c79813d83b5b45ba934cf995436063da458f66 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:04 2012 -0200 block: bdrv_img_create(): add Error ** argument This commit adds an Error ** argument to bdrv_img_create() and set it appropriately on error. Callers of bdrv_img_create() pass NULL for the new argument and still rely on bdrv_img_create()'s return value. Next commits will change callers to use the Error object instead. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3c42ea66888f149d72d600bab63624b2d849e4bf Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Nov 22 21:02:55 2012 +0100 block: simplify default_drive Markus Armbruster pointed out that there is only one caller to default_drive with IF_DEFAULT as a type. Lets get rid of the block_default_type parameter and adopt the caller to do the right thing (asking the machine struct). Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2d0d2837dcf786da415cf4165d37f4ddd684ff57 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Nov 20 15:30:34 2012 +0100 Support default block interfaces per QEMUMachine There are QEMUMachines that have neither IF_IDE nor IF_SCSI as a default/standard interface to their block devices / drives. Therefore, this patch introduces a new field default_block_type per QEMUMachine struct. The prior use_scsi field becomes thereby obsolete and is replaced through .default_block_type = IF_SCSI. This patch also changes the default for s390x to IF_VIRTIO and removes an early hack that converts IF_IDE drives. Other parties have already claimed interest (e.g. IF_SD for exynos) To create a sane default, for machines that dont specify a default_block_type, this patch makes IF_IDE = 0 and IF_NONE = 1. I checked all users of IF_NONE (blockdev.c and ww/device-hotplug.c) as well as IF_IDE and it seems that it is ok to change the defines - in other words, I found no obvious (to me) assumption in the code regarding IF_NONE==0. IF_NONE is only set if there is an explicit if=none. Without if=* the interface becomes IF_DEFAULT. I would suggest to have some additional care, e.g. by letting this patch sit some days in the block tree. Based on an initial patch from Einar Lueck <elelueck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> CC: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> CC: Markus Armbruster <armbru@xxxxxxxxxx> CC: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c208e8c2d88eea2bbafc2850d8856525637e495d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Nov 2 16:14:20 2012 +0100 raw-posix: inline paio_ioctl into hdev_aio_ioctl clang now warns about an unused function: CC block/raw-posix.o block/raw-posix.c:707:26: warning: unused function paio_ioctl [-Wunused-function] static BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd, ^ 1 warning generated. because the only use of paio_ioctl() is inside a #if defined(__linux__) guard and it is static now. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 258d2edbcd4bb5d267c96163333820332e1c14fa Author: Charles Arnold <carnold@xxxxxxxx> Date: Tue Oct 30 20:59:32 2012 -0600 block: vpc support for ~2 TB disks The VHD specification allows for up to a 2 TB disk size. The current implementation in qemu emulates EIDE and ATA-2 hardware which only allows for up to 127 GB. This disk size limitation can be overridden by allowing up to 255 heads instead of the normal 4 bit limitation of 16. Doing so allows disk images to be created of up to nearly 2 TB. This change does not violate the VHD format specification nor does it change how smaller disks (ie, <=127GB) are defined. [Charles Arnold also writes: "In analyzing a 160 GB VHD fixed disk image created on Windows 2008 R2, it appears that MS is also ignoring the CHS values in the footer geometry field in whatever driver they use for accessing the image. The CHS values are set at 65535,16,255 which obviously doesn't represent an image size of 160 GB." -- Stefan] Signed-off-by: Charles Arnold <carnold@xxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1fe1fa510aa3d4eb1fb4246d4951ef48e4c949c2 Author: Charles Arnold <carnold@xxxxxxxx> Date: Fri Nov 2 09:54:24 2012 -0600 block: vpc initialize the uuid footer field Initialize the uuid field in the footer with a generated uuid. Signed-off-by: Charles Arnold <carnold@xxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d567e62f98d5789ff4d273b924a0474931c71e8b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 15 13:12:14 2012 +1100 virtio-blk: Remove duplicate property definition For the virtio-blk device (via virtio-pci) the property "config-wce" is defined in two places. First, it's defined from the DEFINE_VIRTIO_BLK_FEATURES macro, second it's defined directly in virtio-pci, just two lines above the call to that macro. The direct definition in virtio-pci.c is broken, since it operates on the 'config_wce' field of VirtIOBlkConf, which is never used anywhere else. Therefore, this patch removes both the extra property definition and the redundant field it works on. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Paul 'Rusty' Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f500a6d3c2b9ef0bb06d0080d91d8ed3c1d68f58 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Nov 12 17:35:27 2012 +0100 block: Avoid second open for format probing This fixes problems that are caused by the additional open/close cycle of the existing format probing, for example related to qemu-nbd without -t option or file descriptor passing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 7b272452398135e4f8e48341239705d03c82dae3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Nov 12 17:05:39 2012 +0100 block: Factor out bdrv_open_flags Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c57b6656c3168bccca7f78b3f740e9149893b3da Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Nov 13 16:35:13 2012 +0100 aio: Get rid of qemu_aio_flush() There are no remaining users, and new users should probably be using bdrv_drain_all() in the first place. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit d318aea9325c99b15c87a7c14865386c2fde0d2c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Nov 13 16:35:08 2012 +0100 block: Improve bdrv_aio_co_cancel_em Instead of waiting for all requests to complete, wait just for the specific request that should be cancelled. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8a805c222caa0e20bf11d2267f726d0bb5917d94 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Dec 4 16:12:19 2012 +0100 tests: avoid qemu_aio_flush() in test-thread-pool.c We need to eliminate calls to qemu_aio_flush() since the function is being removed. Most callers will use bdrv_drain_all() instead but test-thread-pool.c is lower level. Since the test uses the global AioContext we can loop on qemu_aio_wait() to wait for aio and bh activity to complete. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9fe3781f09f94f3ce76e52899bcdeb0d5164dbb1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Dec 4 16:12:18 2012 +0100 tests: use aio_poll() instead of aio_flush() in test-aio.c There has been confusion between various aio wait and flush functions. It's time to get rid of qemu_aio_flush() but in the aio test cases we really do want this low-level functionality. Therefore declare a local wait_for_aio() helper for the test cases. Drop the aio_flush() test case. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ff1562908d1da12362aa9e3f3bfc7ba0da8114a4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 08:24:30 2012 +0100 seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059 This patch updates seabios to latest git master. Changes: (1) q35 patches merged. (2) some acpi cleanups. (3) fixes irq 8 conflict. (3) makes this a candidate for the stable branch Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d281084d3e51f03999d12a506491a0c6f31b40e8 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Dec 10 11:30:03 2012 -0700 vfio-pci: Don't use kvm_irqchip_in_kernel kvm_irqchip_in_kernel() has an architecture specific meaning, so we shouldn't be using it to determine whether to enabled KVM INTx bypass. kvm_irqfds_enabled() seems most appropriate. Also use this to protect our other call to kvm_check_extension() as that explodes when KVM isn't enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx commit 1c97e303d4ea80a2691334b0febe87a50660f99d Merge: 7c12fd9... b34d12d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:35:15 2012 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: target-i386: Postpone cpuid_level update to realize time target-i386: Use define for cpuid vendor string size target-i386: Separate feature string parsing from CPU model lookup target-i386/cpu.c: Coding style fixes qdev: qdev_create(): use error_report() instead of hw_error() sysemu.h: Include qemu-types.h instead of qemu-common.h Create qemu-types.h for struct typedefs qlist.h: Do not include qemu-common.h qga/channel-posix.c: Include headers it needs qapi/qmp-registry.c: Include headers it needs ui/vnc-palette.c: Include headers it needs user: Rename qemu-types.h to qemu-user-types.h user: Move *-user/qemu-types.h to main directory Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7c12fd9b29c6ca2119396f143d84706f2fba6222 Merge: 8385b17... 654598c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:34:29 2012 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path qemu-options: Fix space at EOL Fix spelling in comments and documentation Clean up pci_drive_hot_add()'s use of BlockInterfaceType arm: a9mpcore: remove un-used ptimer_iomem field target-sparc: Remove t0, t1 from CPUSPARCState target-m68k: Remove t1 from CPUM68KState target-alpha: Remove t0, t1 from CPUAlphaState s390x: Spelling fixes (endianess -> endianness, occured -> occurred) Fix comments (adress -> address, layed -> laid, wierd -> weird) Fix spelling (prefered -> preferred) configure: Remove stray debug output sd: Send debug printfery to stderr not stdout Conflicts: configure Resolve spelling conflict in configure. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8385b173a0ca4c2345434104e6cc2a7259adc4b9 Merge: 16ef55c... 3e43749... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:33:11 2012 -0600 Merge remote-tracking branch 'kraxel/acpi.1' into staging * kraxel/acpi.1: acpi: drop debug port q35: update lpc pci config space according to configured devices apci: switch piix4 pci hotplug to memory api acpi: remove acpi_gpe_blk apci: switch piix4 gpe to memory api acpi: fix piix4 smbus mapping acpi: switch smbus to memory api acpi: cleanup ich9 memory region apci: switch ich9 smi to memory api apci: switch ich9 gpe to memory api acpi: cleanup vt82c686 memory region acpi: cleanup piix4 memory region apci: switch evt to memory api apci: switch cnt to memory api apci: switch timer to memory api apci: switch vt82c686 to memory api apci: switch ich9 to memory api apci: switch piix4 to memory api Conflicts: hw/lpc_ich9.c Resolved merge conflict due to apm_init adding an argument. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 16ef55ca85ac8c8fcac46547108bd1c8b44943a2 Merge: c62adbe... 9fd2ecd... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:32:15 2012 -0600 Merge remote-tracking branch 'aneesh/for-upstream' into staging * aneesh/for-upstream: virtfs-proxy-helper: use setresuid and setresgid Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c62adbee15deae473aa02a37193ddd6b054b0c9f Merge: e49d021... 427e3aa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:31:19 2012 -0600 Merge remote-tracking branch 'kraxel/usb.74' into staging * kraxel/usb.74: usb-tablet: Allow connecting to ehci ehci: Lower timer freq when the periodic schedule is idle usb: Allow overriding of usb_desc at the device level usb: Don't allow USB_RET_ASYNC for interrupt packets usb: Call wakeup when data becomes available for all devices with int eps add pc-1.4 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e49d021e574c3ee8e443bcc84d1fb7dfb4c87c42 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Dec 7 15:39:13 2012 +0000 configure: Default to 'cc', not 'gcc' Default to 'cc' as our compiler, rather than 'gcc'. We used to have to insist on gcc when we still kept the CPU env in a fixed global register, but this is no longer necessary and we will now compile OK on clang as well as gcc. Using 'cc' should generally result in us using the most standard and maintained system compiler for the platform. (For instance on newer MacOS X 'gcc' exists but is an elderly compiler provided mostly for legacy reasons, and 'cc' (which is clang) is definitely the better choice.) On Linux there will generally be no user-visible change since cc will be gcc. This changeover necessitates a slight reworking of how we set the 'cc' variable, because GNU cross toolchains generally provide a '${cross_prefix}gcc' but not a '${cross_prefix}cc'. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 24c35a504e8b09e697d0268bbefb2a329b901611 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Oct 12 03:55:51 2012 +0000 linux-user: Merge pread/pwrite into pread64/pwrite64 The Linux syscalls underlying pread() and pwrite() take a 64 bit offset on all architectures, even if some of them name the syscall "pread/pwrite" rather than "pread64/pwrite64" for historical reasons. So move the four QEMU target architectures (arm, i386, sparc, unicore32) which were defining TARGET_NR_pread/pwrite to define TARGET_NR_pread64/pwrite64 instead, and drop the TARGET_NR_pread/pwrite implementation code completely. (Based on examination of the kernel sources for the four architectures this patch affects.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f877d09e63bd94424dab049da75bc1cd601a7609 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:27 2012 +0400 target-xtensa: use movcond where possible Use movcond for all sorts of conditional moves, ABS, CLAMPS, MIN/MAX opcodes. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5dacd229ebb46c236cb1dd0c65a4e4f2cfb55dfb Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:26 2012 +0400 target-xtensa: add s32c1i unit tests Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit efdfac94f48f8589a0d60b650c7bed989a341eaa Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:25 2012 +0400 target-xtensa: add SR accessibility unit tests Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b7909d81f7658f64bba0faed83e7c2fd6a52fcba Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:24 2012 +0400 target-xtensa: implement MISC SR The Miscellaneous Special Registers Option provides zero to four scratch registers within the processor readable and writable by RSR, WSR, and XSR. These registers are privileged. They may be useful for some application-specific exception and interrupt processing tasks in the kernel. The MISC registers are undefined after reset. See ISA, 4.7.3 for details. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 53593e90d13264dc88b3281ddf75ceaa641df05a Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:23 2012 +0400 target-xtensa: better control rsr/wsr/xsr access to SRs There are read-only (DEBUGCAUSE, PRID) and write-only (INTCLEAR) SRs, and INTERRUPT/INTSET SR allows rsr/wsr, but not xsr. Raise illeagal opcode exception on illegal access to these SRs. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fe0bd475aa31e60674f7f53b85dc293108026202 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:22 2012 +0400 target-xtensa: restrict available SRs by enabled options Beginning with the RA-2004.1 release, SR access instructions (rsr, wsr, xsr) are associated with their corresponding SR and raise illegal opcode exception in case the register is not configured for the core. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4e41d2f5830a76d3fe92b3d3b18cc9f2ee927770 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:21 2012 +0400 target-xtensa: implement CACHEATTR SR In XEA1, the Options for Memory Protection and Translation and the corresponding TLB management instructions are not available. Instead, functionality similar to the Region Protection Option is available through the cache attribute register. See ISA, A.2.14 for details. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fcc803d119a4c01a9b0ee5bda35fda1eeabffa33 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:20 2012 +0400 target-xtensa: implement ATOMCTL SR ATOMCTL SR controls s32c1i opcode behavior depending on targeted memory type. See ISA, 4.3.12.4 for details. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 536b558f5896ebbd635b57fa393e82faaa32ad52 Merge: 511c68d... 19e6c50... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Dec 8 17:50:57 2012 +0000 Merge branch 'master' of git.qemu-project.org:/pub/git/qemu * 'master' of git.qemu-project.org:/pub/git/qemu: target-mips: Fix incorrect shift for SHILO and SHILOV target-mips: Fix incorrect code and test for INSV xilinx_uartlite: Accept input after rx FIFO pop xilinx_uartlite: suppress "cannot receive message" xilinx_axienet: Implement R_IS behaviour commit 511c68d3af626cb0a39034cb77e7ac64d3a26c0c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 16:32:58 2012 -0200 finally kill cpudef config section support The external CPU models were removed on QEMU 1.2, and the support for the "cpudef" config sections was documented as deprecated, but the actual removal of the config section was pending. Now that QEMU 1.3 was released, we can finally kill the support for cpudef config sections, and support only the built-in CPU models from target-i386/cpu.c. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4cdd2e665ec4bd10c20c26432ee9ffe4db7bcc1c Merge: 4753631... 5822993... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Dec 8 14:28:13 2012 +0000 Merge branch 'memory-ioport' of git://github.com/afaerber/qemu-cpu * 'memory-ioport' of git://github.com/afaerber/qemu-cpu: hw/dma.c: Replace register_ioport_* hw/pc.c: Replace register_ioport_* serial: Replace register_ioport_* hw/cirrus_vga.c: Replace register_ioport_* hw/apm.c: Replace register_ioport_* isa: Add isa_address_space_io() commit 475363176c80feedb8feb5e335ba64de68c7b055 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Oct 31 09:30:47 2012 +0000 HACKING: List areas where we may rely on impdef C behaviour Add a section to HACKING saying which version of the C spec we use and describing the bits of implementation defined C compiler behaviour which C code in QEMU is allowed to rely on. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 288fa40736e6eb63132d01aa6dc21ee831b796ae Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Nov 27 13:19:40 2012 +0100 pixman: require 0.18.4 or newer When older versions are found the internal pixman version is prefered. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 94788f54e9deeaa2c82891a7d216fdd6e0e58749 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:07 2012 +0400 TCG: Remove unused global gen_opc_ arrays. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ab1103def476d985c08362df97ff9cb9c112adfc Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:06 2012 +0400 TCG: Use gen_opc_instr_start from context instead of global variable. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9c99c22d5f8e9cfa83260fbe236a57e7383d673 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:05 2012 +0400 TCG: Use gen_opc_icount from context instead of global variable. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 25983cad31969e3003eef77bc03a6700f46899d2 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:04 2012 +0400 TCG: Use gen_opc_pc from context instead of global variable. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c3a43607d927e6a0ecce0b61e8297c1cfe604c14 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:03 2012 +0400 tcg/tcg.h: Duplicate global TCG gen_opc_ arrays into TCGContext. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2aa1cb514cdce31ca68902d464cd03d31a76e998 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Mon Nov 19 04:22:12 2012 -0500 curses: Remove OpenBSD workaround I removed the same sort of workaround for OpenBSD within the configure script with commit 4dcc3f5876fa638d5c35bd47be3b717ea74cc2e7 but didn't bother to grep further to come across this same chunk of code in the curses code itself. So the following diff removes the same workaround chunk within the curses code. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0be4835b4932f38167b611c2b311ebaaec98a8eb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 09:20:46 2012 +1100 exec: Advise huge pages for the TCG code gen buffer After allocating 32MB or more contiguous memory, huge pages would seem to be ideal. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b34d12d153e6e5c5e5e00eac510b054a94409deb Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Oct 22 17:03:00 2012 +0200 target-i386: Postpone cpuid_level update to realize time Delay capping cpuid_level to 7 to realize time so property setters for cpuid_7_0_ebx_features and "level" could be used in any order/time between x86_cpu_initfn() and x86_cpu_realize(). Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 654598c944aa31cdbea435bd468055af9c918d16 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Nov 23 19:12:18 2012 +0100 pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path Harmless, because we the error inevitably leads to another, fatal one in pc_system_flash_init(): PC system firmware (pflash) not available. Fix it anyway. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3528a3cba1f59de520fad7b1c843759e8655ea2c Author: Michal Privoznik <mprivozn@xxxxxxxxxx> Date: Fri Nov 23 09:52:39 2012 +0100 qemu-options: Fix space at EOL There's no need to add a space at the end of line. Moreover, it can make problems in some projects that store the help output into a file (and run couple of tests based on that) and have space at EOL forbidden. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 993d46ce7e54f3d035d344ed1b145b13f9ac54b9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 23 07:26:04 2012 +0100 Fix spelling in comments and documentation These spelling bugs were found by codespell: supressing -> suppressing transfered -> transferred Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4dbd84e26f53d3283baa463f390f9623e8913e8f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Nov 22 15:16:36 2012 +0100 Clean up pci_drive_hot_add()'s use of BlockInterfaceType pci_drive_hot_add() parameter type has the wrong type: int instead of BlockInterfaceType. It's actually redundant, so we can just drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 036f0f8356936dba36b952c16f477b3f04f54e37 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Nov 19 15:13:49 2012 +1000 arm: a9mpcore: remove un-used ptimer_iomem field I'm guessing this is a hangover from a previous coreification of the mptimer sub-module. This field is completely unused - removed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dee17bf9e5d29bd08592c6fc47541aad70444bbc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 08:36:37 2012 +1100 target-sparc: Remove t0, t1 from CPUSPARCState These fields are no longer used. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d694516440ca31bbcc7ad73f5e99b45fbeb2a6e6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 08:36:36 2012 +1100 target-m68k: Remove t1 from CPUM68KState This field is no longer used. Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c47d08ceff8ac76ff857016c80a8864fcf45a7d6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 08:36:35 2012 +1100 target-alpha: Remove t0, t1 from CPUAlphaState These fields are no longer (or were never?) used. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8367a14fd3c1ecd5551c91cd3f951ffc61ad7c12 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 2 08:35:54 2012 +0100 s390x: Spelling fixes (endianess -> endianness, occured -> occurred) Replace also "write into" by "write to". Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a93cf9dfba171aa94e3c4002d58abef2a3732bfb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 2 08:29:53 2012 +0100 Fix comments (adress -> address, layed -> laid, wierd -> weird) Remove also a duplicated 'the'. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit eac29d87c883fcbb54913ae20ed2bdccb4bcf7a3 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 2 08:14:12 2012 +0100 Fix spelling (prefered -> preferred) Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bb5b5c20b7f68c79e036cd3ec5e9e6362c112670 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Oct 20 20:37:04 2012 +0100 configure: Remove stray debug output Rather than printing a message saying we're silently falling back to gthread coroutines when running on MacOS, actually do it silently. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 038d3d44598232f5aad40d1c84c215f38a21576c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Nov 15 16:32:53 2012 +1000 sd: Send debug printfery to stderr not stdout Some debug printfs for SD are coming up in stdout. Redirected them to stderr instead. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9df694eeb8447ae5a302b4d40df9a8b91dfc61da Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Oct 22 17:03:10 2012 +0200 target-i386: Use define for cpuid vendor string size Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8f961357d06a0beeb7d3efbde1d754d82ff6a300 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 17:34:39 2012 -0200 target-i386: Separate feature string parsing from CPU model lookup Instead of parsing the whole cpu_model string inside cpu_x86_find_by_name(), first split it into the CPU model name and the full feature string, then parse the feature string into pieces. When using CPU model classes, those two pieces of information will be used at different moments (CPU model name will be used to find CPU class, feature string will be used after CPU object was created), so making the split in two steps will make it easier to refactor the code later. This should also help on the CPU properties work, that will just need to replace the cpu_x86_parse_featurestr() logic (and can keep the CPU model lookup code as-is). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9f3fb5657b2133a408ccf40b4ab57dec9b4ce771 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 17:34:38 2012 -0200 target-i386/cpu.c: Coding style fixes - Use spaces instead of tabs on cpu_x86_cpuid(). - Use braces on 'if' statement cpu_x86_find_by_name(). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 23e3fbec3355e67dbf26e98bbe33ef354097df8e Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 11:19:34 2012 -0200 qdev: qdev_create(): use error_report() instead of hw_error() hw_error() is specific for fatal hardware emulation errors, not for internal errors related to the qdev object/class abstraction or object initialization. Replace it with an error_report() call, followed by abort(). This will also help reduce dependencies of the qdev code (as hw_error() is from cpus.o, and depends on the CPU list from exec.o). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bcf7930105c26d09ae83cbd8b982d01bb421f215 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:44:08 2012 -0200 sysemu.h: Include qemu-types.h instead of qemu-common.h It just needs the Monitor and DeviceState typedefs, so it doesn't need all of qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 394e1bb79591c2fbfc873e5ccc38e92a3ba992cf Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:41:52 2012 -0200 Create qemu-types.h for struct typedefs Instead of keeping all those struct typedefs in qemu-common.h, move it to a header that can be safely included by other headers, containing only the struct typedefs and not pulling in other dependencies. Also, move some of the qdev-core.h typedefs to the new file, too, so other headers don't need to include qdev-core.h only because of DeviceState and other typedefs. This will help us remove qemu-common.h dependencies from some headers later. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cad32159663c5910098e10d64f4b5b10648b0095 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:55:19 2012 -0200 qlist.h: Do not include qemu-common.h I don't know why it was including it, as I don't see any code that depends on anything from qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4d4922c339abf67e47c79068d343ed41a020b8e2 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:37:20 2012 -0200 qga/channel-posix.c: Include headers it needs Include: - <errno.h> for errno - <unistd.h> & <fcntl.h> for fcntl() - <stdlib.h> for exit() - "osdep.h" for qemu_open() Some of those headers were probably being included by accident because some other headers were including qemu-common.h, but those headers should eventually stop including qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ccff63cac4f0d391187c9ee9aa2cab754df80c41 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:35:44 2012 -0200 qapi/qmp-registry.c: Include headers it needs Include: - <glib.h> for g_malloc0() - <string.h> for strcmp() Some of those headers were probably being included by accident because some other headers were including qemu-common.h, but those headers should eventually stop including qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90f0cfa410544727ac4e9c130f9e5032e1fb9b71 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:19:18 2012 -0200 ui/vnc-palette.c: Include headers it needs Include: - <glib.h> for g_malloc0() - <string.h> for memset() Some of those headers were probably being included by accident because some other headers were including qemu-common.h, but those headers should eventually stop including qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ee9baa00f2623f1f627913f62d60f2888286319a Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 22:54:34 2012 -0200 user: Rename qemu-types.h to qemu-user-types.h The header file is specific for *-user, but I plan to introduce a more generic qemu-types.h file, so I'm renaming it. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 89e0e9c71e608f3679f30e88d988903536c6f7f3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 20:42:56 2012 -0200 user: Move *-user/qemu-types.h to main directory The bsd-user/qemu-types.h and linux-user/qemu-types.h files are almost the same, but linux-user has the additional definitions of tswapal(). This moves the linux-user file to the main directory, so the same file can be used by linux-user and bsd-user. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19e6c50d2d843220efbdd3b2db21d83c122c364a Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Dec 5 00:29:10 2012 +0100 target-mips: Fix incorrect shift for SHILO and SHILOV helper_shilo has not been shifting an accumulator value correctly for negative values in 'shift' field. Minor optimization for shift=0 case. This change also adds tests that will trigger issue and check for regressions. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 34f5606ee101f82a247d09d05644ad2a63c8e342 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Mon Nov 26 16:13:21 2012 +0100 target-mips: Fix incorrect code and test for INSV Content of register rs should be shifted for pos before applying a mask. This change contains both fix for the instruction and to the existing test. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9fd2ecdc8cb2dc1a8a7c57b6c9c60bc9947b6a73 Author: Paolo Bonzini <pbonini@xxxxxxxxxx> Date: Thu Oct 11 14:20:23 2012 +0200 virtfs-proxy-helper: use setresuid and setresgid The setfsuid and setfsgid system calls are obscure and they complicate the error checking (that glibc's warn_unused_result "feature" forces us to do). Switch to the standard setresuid and setresgid functions. Signed-off-by: Paolo Bonzini <pbonini@xxxxxxxxxx Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 80625b97b52836b944a6438e8e3e9d992e6a00b6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Dec 5 16:53:44 2012 +1000 xilinx_uartlite: Accept input after rx FIFO pop The device return false from the can receive function when the FIFO is full. This mean the device should check for buffered input whenever a byte is popped from the FIFO. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 859cc10d23e619153670fc58683373fa24d25b68 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Dec 5 16:53:43 2012 +1000 xilinx_uartlite: suppress "cannot receive message" This message is not an error condition, its just informing the user that the device is corking the uart traffic to not drop characters. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit d4d230da08918183929c7d6cb54824b391536904 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Dec 5 16:53:42 2012 +1000 xilinx_axienet: Implement R_IS behaviour The interrupt status register R_IS is the standard clear-on-write behaviour. This was unimplemented and defaulting to updating the register to the written value. Implemented clear-on-write. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 582299336879504353e60c7937fbc70fea93f3da Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:09 2012 +0100 hw/dma.c: Replace register_ioport_* Replace all register_ioport_*() with the new Memory API functions. This permits to use the new Memory stuff like listeners. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 258711c6448c44b60b0fecef1d3b09c71e23e304 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:08 2012 +0100 hw/pc.c: Replace register_ioport_* Replace all register_ioport_*() with portio_*() or a MemoryRegion. This permits to use the new Memory stuff like listeners. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 568fd159e4ca82d213706acd2cf4c94f27537096 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:07 2012 +0100 serial: Replace register_ioport_* Replace all register_ioport_*() with a MemoryRegion. This permits to use the new Memory stuff like listeners. For more flexibility, the IO address space is passed as an argument. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto serial split] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c75e6d8e354c44e76045cb0de20cda1a4ce4d575 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:06 2012 +0100 hw/cirrus_vga.c: Replace register_ioport_* Replace all register_ioport_*() with the new Memory API. This permits to use the new Memory stuff like listeners. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 42d8a3cf960659069bd2b2d9c443dafd7585607f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:03 2012 +0100 hw/apm.c: Replace register_ioport_* Replace all register_ioport_*() with a MemoryRegion. This permits to use the new Memory stuff like listeners. Moreover, the PCI device is added as an argument for apm_init(), so we can register IO inside the PCI IO address space. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr and q35] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ac10027327e27c9b360452e01af3ef2147f5a26f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:02 2012 +0100 isa: Add isa_address_space_io() This function permits to retrieve ISA IO address space. It will be usefull when we need to pass IO address space as argument. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 427e3aa151c749225364d0c30640e2e3c1756d9d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:18 2012 +0100 usb-tablet: Allow connecting to ehci Our ehci code has is capable of significantly lowering the wakeup rate for the hcd emulation while the device is idle. It is possible to add similar code ot the uhci emulation, but that simply is not there atm, and there is no reason why a (virtual) usb-tablet can not be a USB-2 device. Making usb-hid devices connect to the emulated ehci controller instead of the emulated uhci controller on vms which have both lowers the cpuload for a fully idle vm from 20% to 2-3% (on my laptop). An alternative implementation to using a property to select the tablet type, would be simply making it a new device type, ie usb-tablet2, but the downside of that is that this will require libvirt changes to be available through libvirt at all, and then management tools changes to become the default for new vms, where as using a property will automatically get any pc-1.3 type vms the lower cpuload. [ kraxel: adapt compat property for post-1.3 merge ] Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> tablet compat fixup Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8082624099bce56a3139e6b9f72016c00fd10227 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:17 2012 +0100 ehci: Lower timer freq when the periodic schedule is idle Lower the timer freq if no iso schedule packets complete for 64 frames in a row. We can safely do this, without adding latency, because: 1) If there is isoc traffic this will never trigger 2) For async handled interrupt packets (only usb-host), the completion handler will immediately schedule the frame_timer from a bh 3) All devices using NAK to signal no data for interrupt endpoints now use wakeup, which will immediately schedule the frame_timer from a bh The advantage of this is that when we only have interrupt packets in the periodic schedule, async_stepdown can do its work and significantly lower the frequency at which the frame_timer runs. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 386ab487ebc25d780ddfc4a9aea0b21c4a9aaa94 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:16 2012 +0100 usb: Allow overriding of usb_desc at the device level This allows devices to present a different set of descriptors based on device properties. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit be41efde3ca0372dbf7543e09ff473b4eec25057 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:15 2012 +0100 usb: Don't allow USB_RET_ASYNC for interrupt packets It is tempting to use USB_RET_ASYNC for interrupt packets, rather then the current NAK + polling approach, but this causes issues for migration, as an async completed packet will not getting written back to guest memory until the next poll time, and if a migration happens in between it will get lost! Make an exception for host devices, because: 1) host-linux actually uses async completion for interrupt endpoints 2) host devices don't migrate anyways Ideally we would convert host-linux.c to handle (input) interrupt endpoints in a buffered manner like it does for isoc endpoints, keeping multiple urbs submitted to ensure the devices timing requirements are met, as well as making its interrupt ep handling the same as other usb-devices. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8beba9304391189666df1b62b23a5101b3831317 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:14 2012 +0100 usb: Call wakeup when data becomes available for all devices with int eps This is necessary for proper interaction with the xhci controller, and it will allow other hcds to lower there frame timer while waiting for interrupt data. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f1ae2e3883c4ee3a9f91f484690abe42f5063d64 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 4 14:39:16 2012 +0100 add pc-1.4 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3e43749882c558875f70ac5deda39cdc9797e245 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Nov 27 08:24:42 2012 +0100 acpi: drop debug port I'm pretty sure this isn't needed any more. I think this predates the switch to seabios, and the seabios DSDT table has a DBUG() aml macro which writes stuff to the seabios debug port (0x402). Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3f5bc9e8af8c9ee617b143e42ad4bd2feb379a19 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 15:02:18 2012 +0100 q35: update lpc pci config space according to configured devices Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c177684c753a0b1337acebb7dbc6f3f3a9700321 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 16:03:19 2012 +0100 apci: switch piix4 pci hotplug to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c84649ca66a32aadba20a8202062b02247270ee5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 15:37:05 2012 +0100 acpi: remove acpi_gpe_blk With gpe being switched to memory api this is no longer needed. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b65b93f24cb84923d2d7d43cf87d40bc88b6bdcd Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 15:35:13 2012 +0100 apci: switch piix4 gpe to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 24fe083de67e0f736c54da4abda05f23ec37c51d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 14:58:04 2012 +0100 acpi: fix piix4 smbus mapping Make write to the smbus base register and enable bit actually work. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 798512e5522685163c8d5fc5093aea19ae9cce06 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 14:57:01 2012 +0100 acpi: switch smbus to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4a522de0905c88160b6f93eb5d35883382a0c333 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 14:01:20 2012 +0100 acpi: cleanup ich9 memory region Nothing left to do, everything handled by subregions, we can zap the reaw/write handlers now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 10cc69b0de8e1756e6fbda4592c9d0ba3bce58fc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:51:35 2012 +0100 apci: switch ich9 smi to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 76a7daf97458c55b8d8e6d4eadc5c46b16c705ce Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:43:17 2012 +0100 apci: switch ich9 gpe to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a0f95659da77c8818ebd146bb1546ad152d0833e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 09:00:25 2012 +0100 acpi: cleanup vt82c686 memory region Nothing left to do, everything handled by subregions, we can zap the reaw/write handlers now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ca5d64b4b4fbb01e403f89ec9b399aaa69104b1e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:27:04 2012 +0100 acpi: cleanup piix4 memory region Nothing left to do, everything handled by subregions, we can zap the reaw/write handlers now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b5a7c024d2606e84e0bbe4a0e87d252dfda41479 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:25:10 2012 +0100 apci: switch evt to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:17:57 2012 +0100 apci: switch cnt to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 77d58b1e47c8d1c661f98f12b47ab519d3561488 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 12:12:30 2012 +0100 apci: switch timer to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a29028214c1d5d3571b27e6745f14534e6d8a662 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 08:29:27 2012 +0100 apci: switch vt82c686 to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cacaab8bdd74608361a488aac600d609dafd53e5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 12:08:22 2012 +0100 apci: switch ich9 to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit af11110bb83166473064389faa27e8c6703b2008 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 11:34:44 2012 +0100 apci: switch piix4 to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 16c6c80ac3a772b42a87b77dfdf0fdac7c607b0e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 3 14:08:40 2012 -0600 Open up 1.4 development branch Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 52a71bff6085398fbb8602718af228cd6339c02d Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat Apr 14 22:48:36 2012 +0200 prep: Use pc87312 device instead of collection of random ISA devices We can't however replace the built-in IDE controller, as the one in pc87312 is only single-channel and can use only IRQ 14. Therefore the pc87312's IDE function gets disabled via the config property. PReP emulation also gains a parallel port emulation this way. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: Use TYPE_PC87312 constant, add to ppc64-softmmu and to MAINTAINERS] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 1ae41f447d1467172b0f8290ca1b83726ea9942a Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat Apr 14 22:48:35 2012 +0200 prep: Add pc87312 Super I/O emulation This provides floppy and IDE controllers as well as serial and parallel ports. However, dynamic configuration of devices is not yet supported. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: QOM'ify, split out header, create CharDriverState if absent] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit acbb090b2400f627a801074c4e3e006c7501bb26 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Aug 15 14:15:41 2012 +0200 prep: Include devices for ppc64 as well Allows running qemu-system-ppc64 -M prep for consistency. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Acked-by: Hervé Poussineau <hpoussineau@xxxxxxxxxxx> For bisection revision-tuple graph see: http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.qemu-upstream-unstable.test-amd64-i386-qemuu-rhel6hvm-intel.redhat-install.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Searching for failure / basis pass: 20844 fail [host=gall-mite] / 20054 [host=rice-weevil] 18243 [host=itch-mite] 18200 [host=field-cricket] 18112 [host=earwig] 18085 ok. Failure / basis pass flights: 20844 / 18085 Tree: linux git://xenbits.xen.org/linux-pvops.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git Latest 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 1a510f3c447452006fa2a661b387fdc5410c41d5 Basis pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 70992304dc8c5fc67d876e0f8e3dfaa82be955a1 4597594c61add43725bd207bb498268a058f9cfb 365c95f7de789e1dca03f119eab7dc61fe0f77c9 Generating revisions with ./adhoc-revtuple-generator git://xenbits.xen.org/linux-pvops.git#a938a246d34912423c560f475ccf1ce0c71d9d00-5602328b0d66cd6c5ef0dd7be081fd779c49c27e git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/staging/qemu-xen-unstable.git#70992304dc8c5fc67d876e0f8e3dfaa82be955a1-84411871262363200e70fa087d7b21647091a450 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#4597594c61add43725bd207bb498268a058f9cfb-b97307ecaad98360f41ea36cd9674ef810c4f8cf git://xenbits.xen.org/xen.git#365c95f7de789e1dca03f119eab7dc61fe0f77c9-1a510f3c447452006fa2a661b387fdc5410c41d5 using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/linux-pvops.git /export/home/osstest/repos/linux-pvops... Initialized empty Git repository in /export/home/osstest/repos/linux-pvops/ updating cache /export/home/osstest/repos/git-cache linux-pvops... adhoc-revtuple-generator: tree discontiguous: linux-pvops using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/staging/qemu-xen-unstable.git /export/home/osstest/repos/qemu-xen-unstable... Initialized empty Git repository in /export/home/osstest/repos/qemu-xen-unstable/ updating cache /export/home/osstest/repos/git-cache qemu-xen-unstable... using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/staging/qemu-upstream-unstable.git /export/home/osstest/repos/qemu-upstream-unstable... Initialized empty Git repository in /export/home/osstest/repos/qemu-upstream-unstable/ updating cache /export/home/osstest/repos/git-cache qemu-upstream-unstable... adhoc-revtuple-generator: tree discontiguous: qemu-upstream-unstable using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/xen.git /export/home/osstest/repos/xen... Initialized empty Git repository in /export/home/osstest/repos/xen/ updating cache /export/home/osstest/repos/git-cache xen... using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/staging/qemu-xen-unstable.git /export/home/osstest/repos/qemu-xen-unstable... Initialized empty Git repository in /export/home/osstest/repos/qemu-xen-unstable/ updating cache /export/home/osstest/repos/git-cache qemu-xen-unstable... using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/xen.git /export/home/osstest/repos/xen... Initialized empty Git repository in /export/home/osstest/repos/xen/ updating cache /export/home/osstest/repos/git-cache xen... Loaded 3005 nodes in revision graph Searching for test results: 18079 [host=itch-mite] 18085 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 70992304dc8c5fc67d876e0f8e3dfaa82be955a1 4597594c61add43725bd207bb498268a058f9cfb 365c95f7de789e1dca03f119eab7dc61fe0f77c9 18112 [host=earwig] 18197 [] 18200 [host=field-cricket] 18243 [host=itch-mite] 20054 [host=rice-weevil] 20100 blocked irrelevant 20101 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 70992304dc8c5fc67d876e0f8e3dfaa82be955a1 4597594c61add43725bd207bb498268a058f9cfb 365c95f7de789e1dca03f119eab7dc61fe0f77c9 20102 blocked irrelevant 20177 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 6349b01651c4c915a7e9600fcf3f6f77cb5cf9bb 20115 blocked a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 255d252c0afafd0d2b6a9e4c2ad4dadbd2f00051 20181 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 13c144d96e825f145e5b37f97e5f6210c2c645e9 4597594c61add43725bd207bb498268a058f9cfb 7d413e38c7ad250a5163ce64358917a84aa8bfbf 20139 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb d7f056a32e0906c2ef43e23801c621ec897a238c 20141 blocked irrelevant 20167 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 70992304dc8c5fc67d876e0f8e3dfaa82be955a1 4597594c61add43725bd207bb498268a058f9cfb 365c95f7de789e1dca03f119eab7dc61fe0f77c9 20168 blocked irrelevant 20180 blocked irrelevant 20363 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb a52f6c65d3e2bf7c6f16edbac62437327fbeb565 20367 blocked irrelevant 20364 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 57e835e51420bf1ff793524bbd815a85291c51e4 20369 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 1a0f10a8c8673ed62c7b0cff8f8de5b97c402b7d 20668 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 5fbc4c343e52777e636439e2afcdfb3f100211c3 20678 blocked irrelevant 20670 blocked irrelevant 20816 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 4c37ed562224295c0f8b00211287d57cae629782 20844 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 1a510f3c447452006fa2a661b387fdc5410c41d5 20820 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 1dc5178097e62fc7137cf17cd16628675f0b5ee1 20829 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 0771faba163769089c9f05f7f76b63e397677613 20809 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 70992304dc8c5fc67d876e0f8e3dfaa82be955a1 4597594c61add43725bd207bb498268a058f9cfb 365c95f7de789e1dca03f119eab7dc61fe0f77c9 20822 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb c4d3ccbfb50fa7603595b9bc16b1bba4647d21f1 20810 blocked irrelevant 20830 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 1a510f3c447452006fa2a661b387fdc5410c41d5 20811 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb b685c64be7a8d870313c9a652a15eadf9f25f195 20821 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 4c37ed562224295c0f8b00211287d57cae629782 20814 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb c6f92aed0e209df823d2cb5780dbb1ea12fc6d4a 20808 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 4c37ed562224295c0f8b00211287d57cae629782 20815 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb fe06795e82922f8d8c8910da545ef1215cbb1b8c 20823 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 5814c599256907d53a3c99ad530bad2ed2565d9e 20817 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 4c37ed562224295c0f8b00211287d57cae629782 20827 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 0771faba163769089c9f05f7f76b63e397677613 20841 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 0771faba163769089c9f05f7f76b63e397677613 20838 pass a938a246d34912423c560f475ccf1ce0c71d9d00 c530a75c1e6a472b0eb9558310b518f0dfcd8860 70992304dc8c5fc67d876e0f8e3dfaa82be955a1 4597594c61add43725bd207bb498268a058f9cfb 365c95f7de789e1dca03f119eab7dc61fe0f77c9 20828 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb e9ee35826e46e4f9a40f9fdafcc609016cb2a23b 20825 [] 20845 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 0771faba163769089c9f05f7f76b63e397677613 20837 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 1a510f3c447452006fa2a661b387fdc5410c41d5 20839 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 1a510f3c447452006fa2a661b387fdc5410c41d5 20840 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 1a510f3c447452006fa2a661b387fdc5410c41d5 20843 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 0771faba163769089c9f05f7f76b63e397677613 20847 fail 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 b97307ecaad98360f41ea36cd9674ef810c4f8cf 0771faba163769089c9f05f7f76b63e397677613 20846 pass 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 0771faba163769089c9f05f7f76b63e397677613 Searching for interesting versions Result found: flight 18085 (pass), for basis pass Result found: flight 20830 (fail), for basis failure Repro found: flight 20838 (pass), for basis pass Repro found: flight 20839 (fail), for basis failure 0 revisions at 5602328b0d66cd6c5ef0dd7be081fd779c49c27e c530a75c1e6a472b0eb9558310b518f0dfcd8860 84411871262363200e70fa087d7b21647091a450 4597594c61add43725bd207bb498268a058f9cfb 0771faba163769089c9f05f7f76b63e397677613 No revisions left to test, checking graph state. Result found: flight 20829 (pass), for last pass Result found: flight 20841 (fail), for first failure Repro found: flight 20843 (pass), for last pass Repro found: flight 20845 (fail), for first failure Repro found: flight 20846 (pass), for last pass Repro found: flight 20847 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Bug introduced: b97307ecaad98360f41ea36cd9674ef810c4f8cf Bug not present: 4597594c61add43725bd207bb498268a058f9cfb using cache /export/home/osstest/repos/git-cache... using cache /export/home/osstest/repos/git-cache... locked cache /export/home/osstest/repos/git-cache... processing ./cacheing-git clone --bare git://xenbits.xen.org/staging/qemu-upstream-unstable.git /export/home/osstest/repos/qemu-upstream-unstable... Initialized empty Git repository in /export/home/osstest/repos/qemu-upstream-unstable/ updating cache /export/home/osstest/repos/git-cache qemu-upstream-unstable... commit b97307ecaad98360f41ea36cd9674ef810c4f8cf Author: Matthew Daley <mattjd@xxxxxxxxx> Date: Thu Oct 10 14:10:48 2013 +0000 xen_disk: mark ioreq as mapped before unmapping in error case Commit 4472beae modified the semantics of ioreq_{un,}map so that they are idempotent if called when they're not needed (ie., twice in a row). However, it neglected to handle the case where batch mapping is not being used (the default), and one of the grants fails to map. In this case, ioreq_unmap will be called to unwind and unmap any mappings already performed, but ioreq_unmap simply returns due to the aforementioned change (the ioreq has not already been marked as mapped). The frontend user can therefore force xen_disk to leak grant mappings, a per-domain limited resource. Fix by marking the ioreq as mapped before calling ioreq_unmap in this situation. Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit d84e4524e30413b2a1d724754e76a7d2480466f3 Merge: e381cca... 62ecc3a... Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 10 11:02:48 2013 +0000 Merge remote branch 'origin/stable-1.6' into xen-staging-master-9 Conflicts: xen-all.c commit 62ecc3a0e3c77a4944c92a02dd7fae2ab1f2290d Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 4 10:21:43 2013 -0500 Update VERSION for 1.6.1 release Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit fdcbe7d587a64dec0db0d3c9a3b230c39efbfeef Author: Asias He <asias@xxxxxxxxxx> Date: Fri Sep 13 14:56:55 2013 +0800 scsi: Allocate SCSITargetReq r->buf dynamically BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1007330 Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=6282465 This is the backport of the following commit. The patch is not sent public since it is a embargoed bug. r->buf is hardcoded to 2056 which is (256 + 1) * 8, allowing 256 luns at most. If more than 256 luns are specified by user, we have buffer overflow in scsi_target_emulate_report_luns. To fix, we allocate the buffer dynamically. Signed-off-by: Asias He <asias@xxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> *s/&r->buf/r->buf/ due to type change Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit e381ccab5afe6b5e808aa550d8bd22b1d0757fde Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Sep 25 16:43:12 2013 +0000 xen: Enable cpu-hotplug on xenfv machine. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> (cherry picked from commit 594278d9f251222675f1c24f5fbb1b05560b8711) commit c1f3f10d8d3e6498b8c55b1e0908e4a1b7adae12 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Sep 25 16:41:48 2013 +0000 xen: Fix vcpu initialization. Each vcpu need a evtchn binded in qemu, even those that are offline at QEMU initialisation. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> (cherry picked from commit 1cd25a889687ab199944b98c1bdc59216ea81487) commit b40187fc0ce1c0ffad51cd0f149a4e5bed332653 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:53 2013 +0000 pc_q35: Initialize Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511) commit 7c2ab9e2ef5a00395fa770ed61084f47001bb35f Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:52 2013 +0000 pc: Initializing ram_memory under Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx (cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d) commit 2c7d76d1a7e15b4c0de1a5c2852d6615aa336c52 Merge: dfe0055... 1ee2dae... Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:17:01 2013 +0100 Merge tag 'v1.6.0' into merging-1.6 commit dfe0055e38e3e328f19d4d67f0f4ae049436d3c8 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:31 2013 +0100 Revert "Fix semaphores fallback code" This reverts commit 0a7ad69a0f012d5d70142f775f99405500d4d38e. commit aad0677c3aae5ab84852210ff48361924bd7aa2d Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:30 2013 +0100 Revert "cpu: Introduce get_arch_id() method and override it for X86CPU" This reverts commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820. commit 88f78193a97df8512c6392777cfcd979f095d483 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:29 2013 +0100 Revert "cpu: Add qemu_for_each_cpu()" This reverts commit 0170b3ce88cb87346afa369a89ce9b197389058b. commit 4e310e13c93c48a0f5fc8558d56830d58713202a Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:29 2013 +0100 Revert "xen: Fix vcpus initialisation." This reverts commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b. commit dc8500fb733093a46bbec0ac33ddea63d509c7a9 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Wed Oct 2 17:16:27 2013 +0100 Revert "qga: set umask 0077 when daemonizing (CVE-2013-2007)" This reverts commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3. commit 1b5f7709411a412ec8ce21004a47f51ab6c3f3ad Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx> Date: Wed Sep 25 16:40:23 2013 +0000 qemu: Add qemu xen logic for Xen HVM S3 resume This patch is qemu patch 2 to fix Xen HVM S3 bug, adding qemu xen logic. When qemu wakeup, qemu xen logic is notified and hypercall to xen hypervisor to unpause domain. Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> (cherry picked from commit 11addd0ab9371af2b6ec028c7fe4e4c4992252fc) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit bc05a488b49f903e404323b76ca9b675318393fc Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx> Date: Wed Sep 25 16:38:29 2013 +0000 qemu: Adjust qemu wakeup Currently Xen hvm s3 has a bug coming from the difference between qemu-traditioanl and qemu-xen. For qemu-traditional, the way to resume from hvm s3 is via 'xl trigger' command. However, for qemu-xen, the way to resume from hvm s3 inherited from standard qemu, i.e. via QMP, and it doesn't work under Xen. The root cause is, for qemu-xen, 'xl trigger' command didn't reset devices, while QMP didn't unpause hvm domain though they did qemu system reset. We have two qemu patches and one xl patch to fix Xen hvm s3 bug. This patch is the qemu patch 1. It adjusts qemu wakeup so that Xen s3 resume logic (which will be implemented at qemu patch 2) will be notified after qemu system reset. Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> (cherry picked from commit 4bc78a877252d772b983810a7d2c0be00e9be70e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 8a4bd762aa01b21c43aa24c5b743f4bd7c9db3e3 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Oct 1 15:13:33 2013 +0000 qga: set umask 0077 when daemonizing (CVE-2013-2007) The qemu guest agent creates a bunch of files with insecure permissions when started in daemon mode. For example: -rw-rw-rw- 1 root root /var/log/qemu-ga.log -rw-rw-rw- 1 root root /var/run/qga.state -rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log In addition, at least all files created with the "guest-file-open" QMP command, and all files created with shell output redirection (or otherwise) by utilities invoked by the fsfreeze hook script are affected. For now mask all file mode bits for "group" and "others" in become_daemon(). Temporarily, for compatibility reasons, stick with the 0666 file-mode in case of files newly created by the "guest-file-open" QMP call. Do so without changing the umask temporarily. upstream-commit-id: c689b4f1bac352dcfd6ecb9a1d45337de0f1de67 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 6dc71da698bfdc5297f8719e78eba26b1f15ff2c Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Tue Oct 1 14:50:32 2013 +0000 Add -f FMT / --format FMT arg to qemu-nbd Currently the qemu-nbd program will auto-detect the format of any disk it is given. This behaviour is known to be insecure. For example, if qemu-nbd initially exposes a 'raw' file to an unprivileged app, and that app runs 'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0' then the next time the app is started, the qemu-nbd will now detect it as a 'qcow2' file and expose /etc/shadow to the unprivileged app. The only way to avoid this is to explicitly tell qemu-nbd what disk format to use on the command line, completely disabling auto-detection. This patch adds a '-f' / '--format' arg for this purpose, mirroring what is already available via qemu-img and qemu commands. qemu-nbd --format raw -p 9000 evil.img will now always use raw, regardless of what format 'evil.img' looks like it contains upstream-commit-id: e6b636779b51c97e67694be740ee972c52460c59 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> [Use errx, not err. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit ba20326a937421c50a775907dc9ac726bb9a9b50 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Sep 11 16:42:35 2013 +0200 coroutine: add ./configure --disable-coroutine-pool The 'gthread' coroutine backend was written before the freelist (aka pool) existed in qemu-coroutine.c. This means that every thread is expected to exit when its coroutine terminates. It is not possible to reuse threads from a pool. This patch automatically disables the pool when 'gthread' is used. This allows the 'gthread' backend to work again (for example, tests/test-coroutine completes successfully instead of hanging). I considered implementing thread reuse but I don't want quirks like CPU affinity differences due to coroutine threads being recycled. The 'gthread' backend is a reference backend and it's therefore okay to skip the pool optimization. Note this patch also makes it easy to toggle the pool for benchmarking purposes: ./configure --with-coroutine-backend=ucontext \ --disable-coroutine-pool Reported-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> (cherry picked from commit 70c60c089fdc6bf8a79324e492c13e8c08d55942) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit ae00a27feab0ca12d2a802cfae9ee65ba3d43602 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Sep 11 13:33:31 2013 +0300 piix4: disable io on reset io base register at 0x40 is cleared on reset, but io is not disabled until some other event happens to call pm_io_space_update. Invoke pm_io_space_update directly to make this consistent. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit c046e8c4a26c902ca1b4f5bdf668a2da6bc75f54) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 61fbeb6e81f648d25c2d3ba5f0d663d54abed1c1 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Mon Sep 23 17:18:29 2013 +0800 vmdk: fix cluster size check for flat extents We use the extent size as cluster size for flat extents (where no L1/L2 table is allocated so it's safe) reuse sector calculating code with sparse extents. Don't pass in the cluster size for adding flat extent, just set it to sectors later, then the cluster size checking will not fail. The cluster_sectors is changed to int64_t to allow big flat extent. Without this, flat extent opening is broken: # qemu-img create -f vmdk -o subformat=monolithicFlat /tmp/a.vmdk 100G Formatting '/tmp/a.vmdk', fmt=vmdk size=107374182400 compat6=off subformat='monolithicFlat' zeroed_grain=off # qemu-img info /tmp/a.vmdk image: /tmp/a.vmdk file format: raw virtual size: 0 (0 bytes) disk size: 4.0K Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> (cherry picked from commit 301c7d38a0c359b91526391d13617386f3d9bb29) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit fc06b430942e84a2a69e2a80a6d5b376a8064020 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Sep 25 16:00:48 2013 +0200 rbd: avoid qemu_rbd_snap_list() memory leaks When there are no snapshots qemu_rbd_snap_list() returns 0 and the snapshot table pointer is NULL. Don't forget to free the snaps buffer we allocated for librbd rbd_snap_list(). When the function succeeds don't forget to free the snaps buffer after calling rbd_snap_list_end(). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> (cherry picked from commit 9e6337d0818650362149b734d53edf9489f3acaa) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6bbb9d8100c90deb4843bfa3cf36e75b843c495b Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Sat Aug 3 22:20:41 2013 -0400 tap: Use numbered tap/tun devices on all *BSD OS's The following patch simplifies the *BSD tap/tun code and makes use of numbered tap/tun interfaces on all *BSD OS's. NetBSD has a patch in their pkgsrc tree to make use of this feature and DragonFly also supports this as well. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit aa4f082f7526d39dac8e2ca64d192d858014ee10) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b314120afdbab3d29885f47fc83bc55f43765968 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Sep 14 13:11:36 2013 +0400 iov: avoid "orig_len may be used unitialized" warning Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit 2be178a475289286db80de5ddd7830e67e112bdd) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit dc6fbaa8322ca53f46d9a6cc7e2f82de5362ea83 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 28 11:38:44 2013 +0200 xhci: emulate intr endpoint intervals correctly Respect the interval for interrupt endpoints, so we don't finish transfers as fast as possible but at the rate configured by the guest. Fixes guest deadlocks triggered by interrupt storms. Cc: Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit 4d7a81c06f5f17e019a2d3a18300500bd64f6f40) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c8adc0db7e76e804692372a06ca02cc5a80b67d5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 20 17:31:55 2013 +0200 virtio-blk: do not relay a previous driver's WCE configuration to the current The following sequence happens: - the SeaBIOS virtio-blk driver does not support the WCE feature, which causes QEMU to disable writeback caching - the Linux virtio-blk driver resets the device, finds WCE is available but writeback caching is disabled; tells block layer to not send cache flush commands - the Linux virtio-blk driver sets the DRIVER_OK bit, which causes writeback caching to be re-enabled, but the Linux virtio-blk driver does not know of this side effect and cache flushes remain disabled The bug is at the third step. If the guest does know about CONFIG_WCE, QEMU should ignore the WCE feature's state. The guest will control the cache mode solely using configuration space. This change makes Linux do flushes correctly, but Linux will keep SeaBIOS's writethrough mode. Hence, whenever the guest is reset, the cache mode of the disk should be reset to whatever was specified in the "-drive" option. With this change, the Linux virtio-blk driver finds that writeback caching is enabled, and tells the block layer to send cache flush commands appropriately. Reported-by: Rusty Russell <rusty@xxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit ef5bc96268ceec64769617dc53b0ac3a20ff351c) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit aeab582580fa057dbe646fc3277570af6a8d5ce8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 19 18:48:53 2013 +0200 blockdev: do not default cache.no-flush to true That's why all my VMs were so fast lately. :) This changed in 1.6.0 by mistake in patch 29c4e2b (blockdev: Split up 'cache' option, 2013-07-18). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit 1df6fa4bc6754a170cf511a78e2e6fef84eb5228) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5c20c1ffe791ca29840fd9607ea034ea24ad7bdd Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Sep 12 20:17:50 2013 +0200 tci: Fix qemu-alpha on 32 bit hosts (wrong assertions) Debian busybox-static for alpha has a load address of 0x0000000120000000 which is mapped to 0x0000000020000000 for 32 bit hosts. qemu-alpha uses the TCG opcodes qemu_ld32, qemu_ld64, qemu_st32 and qemu_st64 which all raise the assertion (taddr == host_addr). Remove all assertions of this type because they are either wrong or unnecessary (when sizeof(tcg_target_ulong) >= sizeof(target_ulong)). Cc: qemu-stable <qemu-stable@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit 07ac4dc5db22a31e47b149abdbc5ea99013cf4de) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5d2de77798cacf1dadf6a4211972473e057cc6e5 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Sep 3 18:08:52 2013 +0200 kvmvapic: Clear also physical ROM address when entering INACTIVE state To avoid misinterpreting INACTIVE after migration as old qemu-kvm's STANDBY, also clear rom_state_paddr when going back to this state. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 4357930b8a7d2fcff2d8121ec518117428a781e7) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7ea8a3c12aa49efc8f503a019dd764f8a0add2cb Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Sep 3 18:08:51 2013 +0200 kvmvapic: Enter inactive state on hardware reset ROM layout may change after reset of devices are hotplugged, so we have to pick up the physical address again when the ROM is initialized. This is best achieved by resetting the state to INACTIVE. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit c056bc3f3464cfae1c94b7dd633d3ec13b13b655) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 50b31e80525d03ef406a8c9f55ff2ae1655a3b66 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Sep 3 18:08:50 2013 +0200 kvmvapic: Catch invalid ROM size If not caught early, a zero-length ROM will cause a NULL-pointer access later on in patch_hypercalls when allocating a zero-length ROM copy and trying to read from it. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 18e5eec4db96a00907eb588a2b803401637c7f67) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 4b5b4721464495fe76fe6e2e033cbb61dce78eef Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Aug 22 11:43:58 2013 +0200 chardev: fix pty_chr_timer pty_chr_timer first calls pty_chr_update_read_handler(), then clears timer_tag (because it is a one-shot timer). This is the wrong order though. pty_chr_update_read_handler might re-arm time timer, and the new timer_tag gets overwitten in that case. This leads to crashes when unplugging a pty chardev: pty_chr_close thinks no timer is running -> timer isn't canceled -> pty_chr_timer gets called with stale CharDevState -> BOOM. This patch fixes the ordering. Kill the pointless goto while being at it. https://bugzilla.redhat.com/show_bug.cgi?id=994414 Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit b0d768c35e08d2057b63e8e77e7a513c447199fa) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 76f698948781a148d336ff9032159f6c7c9eccd2 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Wed Aug 28 14:17:39 2013 +0200 pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN Now that the memory subsystem is propagating the endianness correctly, the pcnet-pci device should have its I/O ports and MMIO memory marked as LITTLE_ENDIAN, as PCI devices are little endian. This makes the pcnet-pci NIC to work again on big endian MIPS Malta (default NIC). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit a26405b350c0d31d5ef53f3b459aeb6eaaf50db0) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 8b4b3a71fd35d67c5c30652a120c0a59dfab7182 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Sat Aug 31 18:36:17 2013 -0400 qapi-types.py: Fix enum struct sizes on i686 Unlike other list types, enum wasn't adding any padding, which caused a mismatch between the generated struct size and GenericList struct size. More details in a678e26cbe89f7a27cbce794c2c2784571ee9d21 This crashed qemu if calling qmp query-tpm-types for example, which upsets libvirt capabilities probing. Reproducer on i686: (sleep 5; printf '{"execute":"qmp_capabilities"}\n{"execute":"query-tpm-types"}\n') | ./i386-softmmu/qemu-system-i386 -S -nodefaults -nographic -M none -qmp stdio https://bugs.launchpad.net/qemu/+bug/1219207 Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> (cherry picked from commit 02dc4bf5684d3fb46786fab2ecff98214b1df9fe) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 41900b0857df9bd33e465a6c72d7a3072dc448f4 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:53 2013 +0000 pc_q35: Initialize Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 254c12825f93f405658ca3366cd34f8a8ad23511) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 755ec4ca0f92188458ad7ca549a75161cbdcf6ff Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Sep 9 16:15:52 2013 +0000 pc: Initializing ram_memory under Xen. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx (cherry picked from commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit dc0973b5883df7d822b285119691ade8c84dda9c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Sep 5 21:57:19 2013 +0200 qxl: fix local renderer The local spice renderer assumes the primary surface is located at the start of the "ram" bar. This used to be a requirement in qxl hardware revision 1. In revision 2+ this is relaxed. Nevertheless guest drivers continued to use the traditional location, for historical and backward compatibility reasons. The qxl kms driver doesn't though as it depends on qxl revision 4+ anyway. Result is that local rendering is hosed for recent linux guests, you'll get pixel garbage with non-spice ui (gtk, sdl, vnc) and when doing screendumps. Fix that by doing a proper mapping of the guest-specified memory location. https://bugzilla.redhat.com/show_bug.cgi?id=948717 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit c58c7b959b93b864a27fd6b3646ee1465ab8832b) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b6d163fdd8131285a01fe46e6afdba727e4df9ca Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Sep 9 10:18:17 2013 +0200 ehci: save device pointer in EHCIState We'll need a pointer to the actual pci/sysbus device, stick a pointer to it into the EHCIState struct. https://bugzilla.redhat.com/show_bug.cgi?id=1005495 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit adbecc89731cf3e0ae656d50ea9fa58c589c4bdc) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a1991d05d37ac9054d772b32d8fac70bc31be81a Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Sep 2 13:10:34 2013 +0200 ne2000: mark I/O as LITTLE_ENDIAN Now that the memory subsystem is propagating the endianness correctly, the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as PCI devices are little endian. This makes the ne2000 NIC to work again on PowerPC. Cc: qemu-stable@xxxxxxxxxx Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit 45d883dcf208160e2db308d1b368beb74f37dc7e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 1110014801d368388bca2ed7c28aa695560c4991 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Thu Aug 29 18:21:16 2013 +0800 exec: check offset_within_address_space for register subpage If offset_within_address_space falls in a page, then we register a subpage. So check offset_within_address_space rather than offset_within_region. Cc: qemu-stable@xxxxxxxxxx Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: "Andreas Färber" <afaerber@xxxxxxx> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 88266249701032211c1d7449460d063fbc01bf12) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 2a93d3dd32386c3522cfa2ee60c9e06a298d1f52 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Sep 2 18:43:31 2013 +0200 Revert "memory: Return -1 again on reads from unsigned regions" This reverts commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71. The commit was wrong: We only return -1 on invalid accesses, not on valid but unbacked ones. This broke various corner cases. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 68a7439a150d6b4da99082ab454b9328b151bc25) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7ab1044eb1ac2cbc7e65769edf44ced92b85b038 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Sep 2 18:43:30 2013 +0200 memory: Provide separate handling of unassigned io ports accesses Accesses to unassigned io ports shall return -1 on read and be ignored on write. Ensure these properties via dedicated ops, decoupling us from the memory core's handling of unassigned accesses. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit e8601a4e3102321d054ce3d641c03ebcd0519357 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Sep 1 22:59:25 2013 +0200 w32: Fix access to host devices (regression) QEMU failed to open host devices like \\.\PhysicalDrive0 (first hard disk) since some time (commit 8a79380b8ef1b02d2abd705dd026a18863b09020?). Those devices use hdev_open which did not use the latest API for options. This resulted in a fatal runtime error: Block protocol 'host_device' doesn't support the option 'filename' Duplicate code from raw_open to fix this. Cc: qemu-stable@xxxxxxxxxx Reported-by: David Brenner <david.brenner3@xxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit 68dc036488dfea170627a55e6ee3dfd7f2c2063e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 96b14d0db19b2b80ab3dc35d522671da82101e72 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Aug 27 15:25:24 2013 +0200 usb: parallelize usb3 streams usb3 bulk endpoints with streams are implicitly pipelined now, so the requests will actually be processed in parallel. Also allow them to complete out-of-order. Fixes stalls in the uas driver. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit c96c41ed0d38d68a6c8b6f84751afebafeae31be) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9dbfbb89b204e098f283aca310e4d6f6651d88f4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 28 11:47:09 2013 +0200 xhci: reset port when disabling slot Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit 5c67dd7b4884979a2613a4702ac1ab68b0e6a16e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 57ea2d21ae1863fd4002b2aea8ea8db8e206d464 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Jul 25 12:11:15 2013 +0200 exec: always use MADV_DONTFORK MADV_DONTFORK prevents fork to fail with -ENOMEM if the default overcommit heuristics decides there's too much anonymous virtual memory allocated. If the KVM secondary MMU is synchronized with MMU notifiers or not, doesn't make a difference in that regard. Secondly it's always more efficient to avoid copying the guest physical address space in the fork child (so we avoid to mark all the guest memory readonly in the parent and so we skip the establishment and teardown of lots of pagetables in the child). In the common case we can ignore the error if MADV_DONTFORK is not available. Leave a second invocation that errors out in the KVM path if MMU notifiers are missing and KVM is enabled, to abort in such case. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> (cherry picked from commit 3e469dbfe413c25d48321c3a19ddfae0727dc6e5) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 1cd7138d492304a76f3b8ae89fc61e05b18205a7 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Sep 1 11:03:45 2013 +0300 virtio_pci: fix level interrupts with irqfd commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd virtio-pci: fix level interrupts only helps systems without irqfd: on systems with irqfd support we passed in flag requesting irqfd even when msix is disabled. As a result, for level interrupts we didn't install an fd handler so unmasking an fd had no effect. Fix this up. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9fab8e1fe15014a4bd147eeedd2491bcfbba4e59 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 29 14:27:39 2013 +0200 exec: fix writing to MMIO area with non-power-of-two length The problem is introduced by commit 2332616 (exec: Support 64-bit operations in address_space_rw, 2013-07-08). Before that commit, memory_access_size would only return 1/2/4. Since alignment is already handled above, reduce l to the largest power of two that is smaller than l. Cc: qemu-stable@xxxxxxxxxx Reported-by: Oleksii Shevchuk <alxchk@xxxxxxxxx> Tested-by: Oleksii Shevchuk <alxchk@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit 098178f2749a63fbbb1a626dcc7d939d5cb2bde7) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 2ffbe03e8bc8f330581e31537190949a9aba80c3 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Wed Aug 14 11:49:04 2013 +0200 adlib: sort offsets in portio registration This fixes the following assert when -device adlib is used: ioport.c:240: portio_list_add: Assertion `pio->offset >= off_last' failed. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit 2b21fb57af305f17841d79e7e2e02ad1aec3f5ca) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit f9fd82ee939d6ee5bff126b125020021e18ce330 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 30 11:58:45 2013 +0200 target-i386: fix disassembly with PAE=1, PG=0 CR4.PAE=1 will not enable paging if CR0.PG=0, but the "if" chain in x86_cpu_get_phys_page_debug says otherwise. Check CR0.PG before everything else. Fixes "-d in_asm" for a code section at the beginning of OVMF. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (cherry picked from commit f2f8560c7a5303065a2a3207ec475dfb3a622a0e) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit da4e203efa76f2d2ee0a17670c241881963d033d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 4 19:00:25 2013 +0200 block: expect errors from bdrv_co_is_allocated Some bdrv_is_allocated callers do not expect errors, but the fallback in qcow2.c might make other callers trip on assertion failures or infinite loops. Fix the callers to always look for errors. Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit d663640c04f2aab810915c556390211d75457704) Conflicts: block/cow.c *modified to avoid dependency on upstream's e641c1e8 Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c09a4634d945df5d7e1fbc394646e78d7d713c67 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Aug 27 17:00:04 2013 +0200 Revert "usb-hub: report status changes only once" This reverts commit a309ee6e0a256f690760abfba44fceaa52a7c2f3. This isn't in line with the usb specification and adds regressions, win7 fails to drive the usb hub for example. Was added because it "solved" the issue of hubs interacting badly with the xhci host controller. Now with the root cause being fixed in xhci (commit <FIXME>) we can revert this one. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit bdebd6ee81f4d849aa8541c289203e3992450db0) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c0a5eb81b43e56569cfdb9c86fd78930b2765b96 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 28 11:39:02 2013 +0200 xhci: fix endpoint interval calculation Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit ca7162782a293f525633e5816470498dd86a51cf) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 358bb0daa1ce332a18cc996fcd078a3989f77d36 Author: yinyin <yin.yin@xxxxxxxxxxx> Date: Thu Aug 22 14:47:16 2013 +0800 virtio: virtqueue_get_avail_bytes: fix desc_pa when loop over the indirect descriptor table virtqueue_get_avail_bytes: when found a indirect desc, we need loop over it. /* loop over the indirect descriptor table */ indirect = 1; max = vring_desc_len(desc_pa, i) / sizeof(VRingDesc); num_bufs = i = 0; desc_pa = vring_desc_addr(desc_pa, i); But, It init i to 0, then use i to update desc_pa. so we will always get: desc_pa = vring_desc_addr(desc_pa, 0); the last two line should swap. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Yin Yin <yin.yin@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 1ae2757c6c4525c9b42f408c86818f843bad7418) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 3fe494efc5eb107c4c90e96df3e6131f9960f4b9 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Aug 13 14:10:04 2013 +1000 pseries: Fix stalls on hypervisor virtual console A number of users are reporting stalls when using the pseries hypervisor virtual console. A simple test case is to paste 15 or 17 characters at a time into the console. Pasting 15 characters at a time works fine but pasting 17 characters hangs for a random amount of time. Other activity (network, qemu monitor etc) unblocks it. If qemu-char tries to send more than 16 characters at once, vty_can_receive returns false. At this point we have to wait for the guest to consume that output. Everything is good so far. The problem occurs when the the guest does consume the output. We need to signal back to the qemu-char layer that we are ready for more input. Without this we block until something else kicks us (eg network activity). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> (cherry picked from commit 7770b6f78a2d655e03852a5de238f5926c92be6a) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a73c74f63aa8f977ece88c97280a03ea9b1ca395 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Aug 27 08:37:26 2013 +0300 pc: fix regression for 64 bit PCI memory commit 398489018183d613306ab022653552247d93919f pc: limit 64 bit hole to 2G by default introduced a way for management to control the window allocated to the 64 bit PCI hole. This is useful, but existing management tools do not know how to set this property. As a result, e.g. specifying a large ivshmem device with size > 4G is broken by default. For example this configuration no longer works: -device ivshmem,size=4294967296,chardev=cfoo -chardev socket,path=/tmp/sock,id=cfoo,server,nowait Fix this by detecting that hole size was not specified and defaulting to the backwards-compatible value of 1 << 62. Cc: qemu-stable@xxxxxxxxxx Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> (cherry picked from commit 1466cef32dd5e7ef3c6477e96d85d92302ad02e3) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 964e0d4ec52ea7400ccc69de69b05ac913bbfff8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Aug 23 18:01:58 2013 +0200 scsi: Fix scsi_bus_legacy_add_drive() scsi-generic with serial scsi_bus_legacy_add_drive() creates either a scsi-disk or a scsi-generic device. It sets property "serial" to argument serial unless null. Crashes with scsi-generic, because it doesn't have such the property. Only usb_msd_initfn_storage() passes non-null serial. Reproducer: $ qemu-system-x86_64 -nodefaults -display none -S -usb \ -drive if=none,file=/dev/sg1,id=usb-drv0 \ -device usb-storage,id=usb-msd0,drive=usb-drv0,serial=123 qemu-system-x86_64: -device usb-storage,id=usb-msd0,drive=usb-drv0,serial=123: Property '.serial' not found Aborted (core dumped) Fix by handling exactly like "removable": set the property only when it exists. Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (cherry picked from commit c24e7517ee4a98e90eee5f0f07708a1fa12326b3) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 11b0ab70a58e3e6c06dc1fd1ea318b1c5806d955 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Thu Aug 22 20:11:36 2013 +0300 usb/dev-hid: Modified usb-tablet category from Misc to Input usb-tablet device was wrongly assigned to Misc category Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> (cherry picked from commit 31efd2e883018b4c079ad082105bc161fbb3fef8) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d6dcfd69f8b2aa2cad79486bbadef7d51f7f4e7d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Aug 20 15:50:15 2013 +0100 scripts/qapi.py: Avoid syntax not supported by Python 2.4 The Python "except Foo as x" syntax was only introduced in Python 2.6, but we aim to support Python 2.4 and later. Use the old-style "except Foo, x" syntax instead, thus fixing configure/compile on systems with older Python. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> (cherry picked from commit 21e0043bada1a24ae2ba6cd0051e104c0cbf9634) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 260790645e95891cb264c2d657648f43401ac915 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sun Aug 18 22:27:08 2013 -0400 rdma: silly ipv6 bugfix My bad - but it's very important for us to warn the user that IPv6 is broken on RoCE in linux right now, until linux releases a fixed version. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> (cherry picked from commit c89aa2f1851b08c3efa8a1070c0a6b9a36e1227f) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 52f99b02e5ff1004fb3b41846d2c34f190127456 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Thu Aug 15 13:32:38 2013 +0200 target-ppc: fix bit extraction for FPBF and FPL Bit extraction for the FP BF and L field of the MTFSFI and MTFSF instructions is wrong and doesn't match the reference manual (which explain the bit number in big endian format). It has been broken in commit 7d08d85645def18eac2a9d672c1868a35e0bcf79. This patch fixes this, which in turn fixes the problem reported by Khem Raj about the floor() function of libm. Reported-by: Khem Raj <raj.khem@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx (1.6) Signed-off-by: Alexander Graf <agraf@xxxxxxx> (cherry picked from commit 779f659021d1754117bce1aab9370dc22f37ae07) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c0c080c5d1ce6c236ba8ab5db3a17043c665d0f6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Aug 12 18:09:47 2013 +0200 gdbstub: Fix gdb_register_coprocessor() register counting Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register counting for GDB. While it seems correct not to let the total number of registers skyrocket in an SMP scenario through a static variable, the distinction between total register count and 'g' packet register count (last_reg vs. num_g_regs) got lost among the way. Fix this by introducing CPUState::gdb_num_g_regs and using that in gdb_handle_packet(). Reported-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx (stable-1.6) Tested-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Tested-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from commit 35143f0164e6933a85c7c2b8a89a040d881a9151) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 670599a08c052f6ef841743731a8f06d4b50ec99 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Jun 27 15:32:26 2013 +0200 block: ensure bdrv_drain_all() works during bdrv_delete() In bdrv_delete() make sure to call bdrv_make_anon() *after* bdrv_close() so that the device is still seen by bdrv_drain_all() when iterating bdrv_states. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> (cherry picked from commit e1b5c52e04d04bb93546c6e37e8884889d047cb1) Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 1ee2daeb6448312d6d0e22175f5c1b9b01f8974c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 15 10:40:51 2013 -0500 Update version for 1.6.0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc413a39355ed910f22f8f0be5e233c08a0773a0 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Aug 12 21:34:53 2013 +0200 mips_malta: do not raise exceptions when accessing invalid memory Since commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c, MIPS raises exceptions when accessing invalid memory. This is not the correct behaviour for MIPS Malta Core LV, as the GT-64120A system controller just ignore undecoded access. This feature is used by the Linux kernel to probe for some devices. Emulate the correct behaviour in QEMU by adding an empty slot covering the entire memory space decoded by the GT-64120A. Tested-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8b7a5415f9297c1fbae5bff28dcb059d50c1b045 Author: M. Mohan Kumar <mohan@xxxxxxxxxx> Date: Wed Aug 14 17:56:41 2013 +0530 block: Dont ignore previously set bdrv_flags bdrv_flags is set by bdrv_parse_discard_flags(), but later it is reset to zero. Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Message-id: 1376483201-13466-1-git-send-email-mohan@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3a3567d337d3ee6fb2e2fcc1d27cd045ed97ae9b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Aug 8 12:09:38 2013 +0100 qemu-char: fix infinite recursion connecting to monitor pty Since commit bd5c51e (qemu-char: don't issue CHR_EVENT_OPEN in a BH), an infinite recursion occurs when putting the monitor on a pty (-monitor pty) and connecting a terminal to the slave port. This is because of the qemu_chr_be_event(s, CHR_EVENT_OPENED) added to qemu_chr_be_generic_open(). This event is captured by monitor_event() which prints a welcome message to the character device. The flush of that welcome message retriggers another open event in pty_chr_state() because it checks s->connected, but only sets it to 1 after calling qemu_chr_be_generic_open(). I've fixed this by setting s->connected = 1 before the call to qemu_chr_be_generic_open() instead of after, so that the recursive pty_chr_state() doesn't call it again. An example snippet of repeating backtrace: ... #107486 0x007aec58 in monitor_flush (mon=0xf418b0) at qemu/monitor.c:288 #107487 0x007aee7c in monitor_puts (mon=0xf418b0, str=0x1176d07 "") at qemu/monitor.c:322 #107488 0x007aef20 in monitor_vprintf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s monitor - type 'help' for more information\n", ap=0x7f432be0) at qemu/monitor.c:339 #107489 0x007aefac in monitor_printf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s monitor - type 'help' for more information\n") at qemu/monitor.c:347 #107490 0x007ba4bc in monitor_event (opaque=0xf418b0, event=2) at qemu/monitor.c:4699 #107491 0x00684c28 in qemu_chr_be_event (s=0xf37788, event=2) at qemu/qemu-char.c:108 #107492 0x00684c70 in qemu_chr_be_generic_open (s=0xf37788) at qemu/qemu-char.c:113 #107493 0x006880a4 in pty_chr_state (chr=0xf37788, connected=1) at qemu/qemu-char.c:1145 #107494 0x00687fa4 in pty_chr_update_read_handler (chr=0xf37788) at qemu/qemu-char.c:1121 #107495 0x00687c9c in pty_chr_write (chr=0xf37788, buf=0x70b3c008 <Address 0x70b3c008 out of bounds>, len=538720) at qemu/qemu-char.c:1063 #107496 0x00684cc4 in qemu_chr_fe_write (s=0xf37788, buf=0x70b3c008 <Address 0x70b3c008 out of bounds>, len=538720) at qemu/qemu-char.c:118 ... Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1375960178-10882-1-git-send-email-james.hogan@xxxxxxxxxx Cc: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 02653c5ea77bc3837376232ce508b7dd3e358ca1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Aug 13 09:02:52 2013 -0500 pvpanic: fix bad merge Context matching caused the 'has_pvpanic = true' to be applied to the 1.6 machine type instead of the 1.5 machine type. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 328465fd9f3a628ab320b5959d68d3d49df58fa6 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 15:03:36 2013 -0500 Update version for 1.6.0-rc3 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9d054ea543c2f94ddea5db29cc908899a188c07d Merge: 9fb7aaa... 5638370... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 15:03:20 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix X86CPU Westmere CPUID for pc-*-1.4 and older * afaerber/tags/qom-cpu-for-anthony: pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older Conflicts: hw/i386/pc_piix.c hw/i386/pc_q35.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9fb7aaaf4c58c9108327f0ae4766087e3e496b47 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 09:01:44 2013 -0500 pc: drop external DSDT loading This breaks migration and is unneeded with modern SeaBIOS. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1376316104-11269-1-git-send-email-aliguori@xxxxxxxxxx commit a5d3f640a0fa56eaed712c9361150568e32e1d08 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Sun Aug 11 18:10:43 2013 +0300 hw/misc: make pvpanic known to user This patch is based on Hu Tao's: http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00125.html The pvpanic device may be enabled now with "-device pvpanic" from command line. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Message-id: 1376233843-19410-3-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7f3e341a008c585deed174eaf1f826c88c67948a Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Sun Aug 11 18:10:42 2013 +0300 hw/misc: don't create pvpanic device by default This patch is based on Hu Tao's: http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00124.html No need to hard-code pvpanic as part of the machine. It can be added with "-device pvpanic" from command line (The next patch). Anyway, for backport compatibility it is still part of 1.5 machine. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Message-id: 1376233843-19410-2-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 56383703c060777fd01aaf8d63d5f46d660e9fb9 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Aug 9 11:11:36 2013 -0300 pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older Commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible change by adding the PCLMULQDQ bit to Westmere without adding compatibility code to keep the ABI for older machine-types. Fix it by adding the missing compat code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8f3067bd86485f8cd03abc940ddb2b8467ef3627 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Fri Aug 9 16:05:45 2013 -0400 rdma: remaining documentation fixes Was missing 'setup-time' in some of the QMP documentation... Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1376078746-24948-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7fc5b13fd7b05babc7bcad9dcb8281ae202a9494 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Fri Aug 9 16:05:44 2013 -0400 rdma: IPv6 over Ethernet (RoCE) is broken in linux - workaround We've gotten reports from multiple testers (including Frank Yangjie and myself) that RDMA IPv6 support over RocE (Ethernet) is broken in linux. A patch to Linux is still in review: http://comments.gmane.org/gmane.linux.drivers.rdma/16448 If the user is listening on '[::]', then we will not have a opened a device yet and have no way of verifying if the device is RoCE or not. In this case, the source VM will throw an error for ALL types of connections (both IPv4 and IPv6) if the destination machine does not have a regular infiniband network available for use. The only way to gaurantee that an error is thrown for broken kernels is for the management software to choose a *specific* interface at bind time and validate what time of hardware it is. Unfortunately, this puts the user in a fix: If the source VM connects with an IPv4 address without knowing that the destination has bound to '[::]' the migration will unconditionally fail unless the management software is not explicitly listening on the the IPv4 address while using a RoCE-based device. If the source VM connects with an IPv6 address, then we're OK because we can throw an error on the source (and similarly on the destination). But in mixed environments, this will be broken for a while until it is fixed inside linux. We do provide a *tiny* bit of help in mixed environments, though in this patch: We can list all of the devices in the system and check to see if all the devices are RoCE or Infiniband. If we detect that we have a *pure* RoCE environment, then we can safely thrown an error even if the management sofware has specified '[::]' as the bind address. However, if there is are multiple hetergeneous devices, then we cannot make this assumption and the user just has to be sure they know what they are doing. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6470215b794d6d9f9ffbd82f669645715eb014f8 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Fri Aug 9 16:05:43 2013 -0400 rdma: proper getaddrinfo() handling getaddrinfo() already knows what it's doing, but it can potentially return multiple addresses. We need to handle that... Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 88571882516a7cb4291a329c537eb79fd126e1f2 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 9 16:05:42 2013 -0400 rdma: check if RDMAControlHeader::len match transferred byte RDMAControlHeader::len is provided from remote, so check if the value match the actual transferred byte_len. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6f1484edadba57f2800dc04ae3527ee4b6dac7ef Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 9 16:05:41 2013 -0400 rdma: validate RDMAControlHeader::len RMDAControlHeader::len is provided from remote, so validate it. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 885e8f984ea846e79a39ddc4f066f4dd3d04b264 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 9 16:05:40 2013 -0400 rdma: use resp.len after validation in qemu_rdma_registration_stop resp.len is given from remote host. So should be validated before use. Otherwise memcpy can access beyond the buffer. Cc: Michael R. Hines <mrhines@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1376078746-24948-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6dd2a5c98a6b1c9189d342bcc3493c9b5dd1217e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 9 12:35:02 2013 -0500 pc_sysfw: do not make it a device anymore Move the code to hw/i386, the sole remaining property is available as !pci_enabled. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1376069702-22330-4-git-send-email-aliguori@xxxxxxxxxx Rebased. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a904410af5f1ed6ff031e9e4119ca2f5d99647ce Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 9 12:35:01 2013 -0500 pc_sysfw: remove the rom_only property With the new semantics of pc_sysfw (no -pflash implies "old-style" ROM setup, -pflash implies "new-style" ROM setup), there is no need anymore for a compat property. Old machines simply will never use -pflash, and thus will always use old-style setup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1376069702-22330-3-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 133bb095acf536f85e7e57821596c8c844aaa583 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 9 12:35:00 2013 -0500 sysfw: remove read-only pc_sysfw_flash_vs_rom_bug_compatible The variable is not written anymore. This cleans up after 9e1c2ec (which accidentally left variable pc_sysfw_flash_vs_rom_bug_compatible behind, value always zero), and buries dead code from commit dafb82e (which resurrected the pc_sysfw code for pc_sysfw_flash_vs_rom_bug_compatible by mistake). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1376069702-22330-2-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Aug 8 20:18:07 2013 +0200 w32: Add missing version.o to all executables (fix regression) QEMU executables for w32, w64 had included meta information built from version.rc. These rules were changed several times some months ago. The latest version added version.o to the tools, but not to the system emulations. This patch adds the meta information to all system emulations again. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1375985887-3984-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cb77d1925ac4d673e19be58aa39fc53c5d2fed10 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Aug 2 09:34:00 2013 +0200 qemu-option: Guard against qemu_opts_set_defaults() misuse Commit 6d4cd40 fixed qemu_opts_set_defaults() for an existing corner case, but broke it for another one that can't be reached in current code. Quote from its commit message: I believe [opts_parse()] attempts to do the following: If options don't yet exist, create new options Else, if defaults, modify the existing options Else, if list->merge_lists, modify the existing options Else, fail The only caller that passes true for defaults is qemu_opts_set_defaults(). The commit message then claims: A straightforward call of qemu_opts_create() does exactly that. Wrong. When !list->merge_lists, and the option string doesn't contain id=, and options without ID exist, then we don't actually modify the existing options, we create new ones. Not reachable, because we never pass lists with !list->merge_lists to qemu_opts_set_defaults(). Guard against possible (if unlikely) future misuse with assert(). Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1375428840-5275-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8571fa57cd0426f40629ab77444704745631f168 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 31 08:19:52 2013 +0200 LICENSE: clarify 1) The GPL says that "if the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation". This is not true, QEMU includes parts that are v2-only. 2) Provide a default for files with no licensing information. 3) It is not just hardware emulation that is under BSD license. 4) Restrict GPLv2-only contributions to user mode emulation (due to code from Linux) and PCI passthrough (due to code from Neocleus). 5) The rules were initially set by Fabrice but are being amended by other people (already in commit ee12e1f, LICENSE: There is no libqemu.a anymore, 2011-11-15). Do not put words in his mouth. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375251592-2537-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7748c1bd50bd1b7f2b414acc2cf2e975be92deff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 31 08:19:51 2013 +0200 raw: add license header Most of the block layer is under the BSD license, thus it is reasonable to license block/raw.c the same way. CCed people should ACK by replying with a Signed-off-by line. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Jeff Cody <jcody@xxxxxxxxxx> Cc: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1375251592-2537-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ee1ee80d22b3153dd6cbd3bec6d48a026eac31c Merge: 6624fec... 3561ba1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:32:55 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,virtio fixes for 1.6 This includes some last-minute bugfixes for 1.6. All very small patches that also look very safe to me. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Mon 12 Aug 2013 04:28:57 AM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: vhost: clear signalled_used_valid on vhost stop virtio: clear signalled_used_valid when switching from dataplane i82801b11: Fix i82801b11 PCI host bridge config space pc: disable pci-info for 1.6 Message-id: 1376308831-19978-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6624fecd8e4df6be13f86846abce979702917931 Merge: 3bba9c1... f7b803b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:32:43 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130812' into staging arm-devs queue # gpg: Signature made Mon 12 Aug 2013 05:58:14 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Peter Maydell # Via Peter Maydell * pmaydell/tags/pull-arm-devs-20130812: hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues hw/virtio/virtio: Don't allow guests to add/remove queues Message-id: 1376305261-29561-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3bba9c115ba31f53fb9fc0a2711bf36c0ed6f031 Merge: 4a9a887... 6db5f5d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:32:36 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Mike Qiu # Via Kevin Wolf * kwolf/for-anthony: block: Bugfix 'format' and 'snapshot' used in drive option Message-id: 1376071141-3214-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a9a8876a14653fd03918945dbb96de3e84b3e3f Merge: 283c873... 56c4bfb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:30:49 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Laszlo Ersek # Via Luiz Capitulino * luiz/queue/qmp: dump: rebase from host-private RAMBlock offsets to guest-physical addresses dump: populate guest_phys_blocks dump: introduce GuestPhysBlockList dump: clamp guest-provided mapping lengths to ramblock sizes Message-id: 1375974809-1757-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 283c8733b5a2e7ecd9a681656690ffef8dd675ae Merge: 2aa09da... dad5b9e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:30:39 2013 -0500 Merge remote-tracking branch 'kraxel/usb.87' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.87: xhci: implement warm port reset Message-id: 1375961495-20970-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2aa09da823c258b3636d0e73527510cd196c68e4 Merge: 9b9734e... 2e985fe... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 12 08:28:56 2013 -0500 Merge remote-tracking branch 'origin/master' into staging * origin/master: mips: revert commit b332d24a8e1290954029814d09156b06ede358e2 tcg/mips: fix invalid op definition errors Necessary because patches got pushed by Aurelien before I pushed the -rc2 tag. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7b803b377f74f7e109559e8e64f04c4c1fcd86b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jul 26 16:41:28 2013 +0100 hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues The virtio-mmio spec says that QueueNumMax must read zero for queues which are unavailable; implement this, rather than always returning VIRTQUEUE_MAX_SIZE. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1374853288-9912-3-git-send-email-peter.maydell@xxxxxxxxxx Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 3561ba14188b3c1e54246ed6db97896bbc082d2f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Aug 12 12:21:36 2013 +0300 vhost: clear signalled_used_valid on vhost stop When vhost device stops, its implementation synchronizes kernel state back to virtio.c so we can continue emulating the device in userspace. This patch ensures that virtio.c's signalled_used_valid flag is reset so that userspace does not suppress guest notifications due to stale signalled_used values. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6793dfd1b6a99a79b9f2e3c4d6625ccd6513f240 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Aug 12 11:08:09 2013 +0200 virtio: clear signalled_used_valid when switching from dataplane When the dataplane thread stops, its vring.c implementation synchronizes vring state back to virtio.c so we can continue emulating the virtio device. This patch ensures that virtio.c's signalled_used_valid flag is reset so that we do not suppress guest notifications due to stale signalled_used values. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4965b7f056177ddfb816319e9ff5e766898d0bc5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Aug 5 16:36:40 2013 +0200 i82801b11: Fix i82801b11 PCI host bridge config space pci_bridge_write_config() was not being used. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 9604f70fdf8e21ec0dbf6eac5e59a0eb8beadd64 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Aug 1 15:39:11 2013 +0300 pc: disable pci-info for 1.6 The BIOS that we ship in 1.6 does not use pci info from host (yet). Several issues turned up (e.g. around winXP boot crashes). So it's safest to disable that interface for 1.6 machine types for now, leave it on for 1.7 as we have enough time to fix issues if any. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6db5f5d68e2ffc430ba0511e23fc36c7363510f1 Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 8 10:45:16 2013 -0400 block: Bugfix 'format' and 'snapshot' used in drive option When use -drive file='xxx',format=qcow2,snapshot=on the error message "Can't use snapshot=on with driver-specific options" can be show, and fail to start the qemu. This should not be happened, and there is no file.driver option in qemu command line. It is because the commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4, it puts 'driver' option if the command line use 'format' option. This patch is to solve this bug. Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f6049f4483d61fa911a0693c2c48ce8308451d33 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jul 26 16:41:27 2013 +0100 hw/virtio/virtio: Don't allow guests to add/remove queues A queue size of 0 is used to indicate a nonexistent queue, so don't allow the guest to flip a queue between zero-size and non-zero-size. Don't permit setting of negative queue sizes either. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1374853288-9912-2-git-send-email-peter.maydell@xxxxxxxxxx Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2e985fe000e73097e325e18b943e8babfa96c35c Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Aug 3 16:03:18 2013 +0200 mips: revert commit b332d24a8e1290954029814d09156b06ede358e2 Now that this code path is not triggered anymore during the tests, revert commit b332d24a8e1290954029814d09156b06ede358e2. Booting a MIPS target without kernel nor bios doesn't really make sense. At the same time replace fprintf(stderr, ...) by error_report(). Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 85711e6bafb1910b50ff181e8507cb904ef7e84d Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Aug 8 15:40:23 2013 +0100 tcg/mips: fix invalid op definition errors tcg/mips/tcg-target.h defines various operations conditionally depending upon the isa revision, however these operations are included in mips_op_defs[] unconditionally resulting in the following runtime errors if CONFIG_DEBUG_TCG is defined: Invalid op definition for movcond_i32 Invalid op definition for rotl_i32 Invalid op definition for rotr_i32 Invalid op definition for deposit_i32 Invalid op definition for bswap16_i32 Invalid op definition for bswap32_i32 tcg/tcg.c:1196: tcg fatal error Fix with ifdefs like the i386 backend does for movcond_i32. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 56c4bfb3f07f3107894c00281276aea4f5e8834d Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:11 2013 +0200 dump: rebase from host-private RAMBlock offsets to guest-physical addresses RAMBlock.offset --> GuestPhysBlock.target_start RAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_end RAMBlock.length --> GuestPhysBlock.target_end - GuestPhysBlock.target_start "GuestPhysBlock.host_addr" is only used when writing the dump contents. This patch enables "crash" to work with the vmcore by rebasing the vmcore from the left side of the following diagram to the right side: host-private offset relative to ram_addr RAMBlock guest-visible paddrs 0 +-------------------+.....+-------------------+ 0 | ^ | | ^ | | 640 KB | | 640 KB | | v | | v | 0x0000a0000 +-------------------+.....+-------------------+ 0x0000a0000 | ^ | |XXXXXXXXXXXXXXXXXXX| | 384 KB | |XXXXXXXXXXXXXXXXXXX| | v | |XXXXXXXXXXXXXXXXXXX| 0x000100000 +-------------------+.....+-------------------+ 0x000100000 | ^ | | ^ | | 3583 MB | | 3583 MB | | v | | v | 0x0e0000000 +-------------------+.....+-------------------+ 0x0e0000000 | ^ |. |XXXXXXXXXXXXXXXXXXX| | above_4g_mem_size | . |XXXX PCI hole XXXXX| | v | . |XXXX XXXXX| ram_size +-------------------+ . |XXXX 512 MB XXXXX| . .|XXXXXXXXXXXXXXXXXXX| . +-------------------+ 0x100000000 . | ^ | . | above_4g_mem_size | .| v | +-------------------+ ram_size + 512 MB Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c5d7f60f0614250bd925071e25220ce5958f75d0 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:10 2013 +0200 dump: populate guest_phys_blocks While the machine is paused, in guest_phys_blocks_append() we register a one-shot MemoryListener, solely for the initial collection of the valid guest-physical memory ranges that happens at listener registration time. For each range that is reported to guest_phys_blocks_region_add(), we attempt to merge the range with the preceding one. Ranges can only be joined if they are contiguous in both guest-physical address space, and contiguous in host virtual address space. The "maximal" ranges that remain in the end constitute the guest-physical memory map that the dump will be based on. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5ee163e8ea2fb6610339f494e039159e08a69066 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:09 2013 +0200 dump: introduce GuestPhysBlockList The vmcore must use physical addresses that are visible to the guest, not addresses that point into linear RAMBlocks. As first step, introduce the list type into which we'll collect the physical mappings in effect at the time of the dump. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 2cac260768b9d4253737417ea7501cf2950e257f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Aug 6 12:37:08 2013 +0200 dump: clamp guest-provided mapping lengths to ramblock sizes Even a trusted & clean-state guest can map more memory than what it was given. Since the vmcore contains RAMBlocks, mapping sizes should be clamped to RAMBlock sizes. Otherwise such oversized mappings can exceed the entire file size, and ELF parsers might refuse even the valid portion of the PT_LOAD entry. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit dad5b9ea0895c227bc9d48b7f0a6fa51eaaa8661 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Aug 1 15:51:08 2013 +0200 xhci: implement warm port reset Without this patch windows can't do port resets for usb3 devices. https://bugzilla.redhat.com/show_bug.cgi?id=949514 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9b9734ef820d9035ac5d254e2b5962cd0b89f4e1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Aug 7 15:38:31 2013 -0500 Update version for 1.6.0-rc2 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jul 28 14:35:54 2013 +0200 fw_cfg: the I/O port variant expects little-endian The I/O port variant of fw_cfg is used by sparc64, which is a big-endian machine. Firmware swaps bytes before sending them to fw_cfg, so we need to unswap them in the device. This is only used on sparc64 and on (little-endian) x86, so it does not affect any other target. 32-bit Sparc and PPC all use memory-mapped fw_cfg. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Message-id: 1375014954-31916-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9a72359a54978f7364f6486973cea50ceb52173 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Aug 5 21:45:22 2013 +0200 po: Update all *.po files Running "make install" modified the *.po files because they were no longer up to date. Synchronize them with latest ui/gtk.c and modified build rules which use paths relative to the project root. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1375731922-24259-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f71d4c4673d0b2b92bccd46eb06f6c1723d6bb0f Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:03 2013 +0200 target-ppc: Add POWER5+ v2.1 CPU model Let's avoid -cpu host barfing at this PVR. Linux recognizes it as "POWER5+ (gs) v2.1". Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-5-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 35ebcb2b7a469739e6452d27379181bfbfc0388d Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:02 2013 +0200 target-ppc: Prepare POWER5P CPU family It is ISA 2.03. Modelled as 970FX minus AltiVec flag. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-4-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 469296f1578e1e7b69c267de39d17134b950b93a Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:01 2013 +0200 target-ppc: Turn POWER5gr CPU into alias for POWER5 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 171777a4b38a0f6331ae60c2546a5baf84c4b359 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 03:42:00 2013 +0200 target-ppc: Turn POWER5gs CPU into alias for POWER5+ Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375321323-29954-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a7d6b9f084765a834110bb9a2a0329b1a96de792 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Aug 5 22:59:46 2013 +0200 target-ppc: Fix POWER7+ model Commit 03a15a5436ed7723f406f15cc3798aa9991e75b5 claimed to add a POWER7+ model but instead added a "POWER7P" model, with an unhelpful "POWER7P" description on top. Fix this to "POWER7+" as we already have "POWER3+", "POWER4+" and "POWER5+" and there being no reason to deviate with the user-visible command line -cpu POWER7P from the marketing name POWER7+. Further, don't needlessly deviate from the scheme of naming PVR constant, QOM type and device description after the exact revision that is in fact encoded in the PVR used. That way, we can change the user-friendly alias -cpu POWER7+ to point to a different revision if we so desire, while not polluting the type namespace. This naming scheme is sensible and completely orthogonal to how PVRs may or may not get matched to CPU types. Cc: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375736387-8429-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0dd5ce38fbeb2fb97b01cc8c1c97292211e48ee6 Author: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx> Date: Tue Aug 6 20:45:39 2013 +0200 Bugfix for loading multiboot kernels This patch fixes a bug in rom_copy introduced by commit d60fa42e8bae39440f997ebfe8fe328269a57d16. rom_copy failed to load roms with a "datasize" of 0. As a result, multiboot kernels were not loaded correctly when they contain a segment with a "file size" of 0. https://bugs.launchpad.net/qemu/+bug/1208944 Signed-off-by: Martijn van den Broek <martijn.vdbrk@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: CAG1x_oET1u3TMPu3r_zzd3ZXsTWQLiaM0zAc+RkHFCwvJjGOvg@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c0f48f5b6c4cf3e1ec8ec6fa7bfe1b97dc92a9c Merge: cafffa5... cd7b87f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Aug 7 12:43:34 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Clean up X86CPU error handling # gpg: Signature made Tue 06 Aug 2013 01:57:34 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: target-i386: Fix X86CPU error handling commit cafffa545420a2c6dc33f9cb58401c606af59572 Merge: a1fc624... ca8804c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Aug 7 12:43:27 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Fam Zheng (8) and others # Via Kevin Wolf * kwolf/for-anthony: vmdk: rename num_gtes_per_gte to num_gtes_per_gt vmdk: use heap allocation for whole_grain vmdk: check l1 size before opening image vmdk: check l2 table size when opening vmdk: check granularity field in opening qemu-iotests: add empty test case for vmdk qemu-iotests: add poke_file utility function vmdk: use unsigned values for on disk header fields vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED sheepdog: add missing .bdrv_has_zero_init qemu-iotests: filter QEMU version in monitor banner iov: handle EOF in iov_send_recv ignore SIGPIPE in qemu-img and qemu-io qemu-img: Error out for excess arguments Message-id: 1375799990-995-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cd7b87ffe9b6b7b0089ec8c71555f3b942bc6daf Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Aug 2 18:56:05 2013 +0200 target-i386: Fix X86CPU error handling Error **errp argument is not for emitting warnings, it means an error has occurred and the caller should not make any assumptions about the state of other return values (unless otherwise documented). Therefore cpu_x86_create() must unref the new X86CPU itself, and pc_new_cpu() must check for an Error rather than NULL return value. While at it, clean up a superfluous NULL check. Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca8804ced9fdba7a1925ed81084dfb7a5b6ffa9f Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:55 2013 +0800 vmdk: rename num_gtes_per_gte to num_gtes_per_gt num_gtes_per_gte is a historical typo, rename it to a more sensible name. It means "number of GrainTableEntries per GrainTable". Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bf81507de38fdfa4cb6e9b46fb38691a25cb1499 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:54 2013 +0800 vmdk: use heap allocation for whole_grain We should never grow the stack beyond 1 MB, otherwise we'll fall off the end. Thread stacks and coroutine stacks (1 MB) do not grow. get_cluster_offset() allocates a big stack offset, it will fail for big cluster images, change to heap allocated buffer. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2c43e43c8cec130fff95ef720a860e91efb36685 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:53 2013 +0800 vmdk: check l1 size before opening image L1 table size is calculated from capacity, granularity and l2 table size. If capacity is too big or later two are too small, the L1 table will be too big to allocate in memory. Limit it to a reasonable range. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f8ce04036e333aae480b1d06d969f6436652633d Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:52 2013 +0800 vmdk: check l2 table size when opening header.num_gtes_per_gte determines size for L2 table. Check for too big value before using it. Limit to 512M entries (2GB per one L2 table). Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8aa1331c09a9b899f48d97f097bb49b7d458be1c Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:51 2013 +0800 vmdk: check granularity field in opening Granularity is used to calculate the cluster size and allocate r/w buffer. Check the value from image before using it, so we don't abort() for unbounded memory allocation. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ca6cbb657d66a7beb70f9d91848c80d1a72b1674 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:50 2013 +0800 qemu-iotests: add empty test case for vmdk Will add vmdk specific tests later here. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 23ea2ecc2a43d850bc9482068201ece5da36a448 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Aug 6 15:44:49 2013 +0800 qemu-iotests: add poke_file utility function The new poke_file function sets bytes at an offset in a file given a printf-style format string. It can be used to corrupt an image file for test coverage of error paths. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e98768d43799cd3f00b358bfbe455fdae793d3e8 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:48 2013 +0800 vmdk: use unsigned values for on disk header fields The size and offset fields are all non-negative values, use uint64_t for them to avoid getting negative in memory value by int overflow. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5d8caa543c9714bee36b04899797a3721dff4090 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Aug 6 15:44:47 2013 +0800 vmdk: Make VMDK3Header and VmdkGrainMarker QEMU_PACKED It's best to make it consistent that all on disk structures are QEMU_PACKED. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a1fc6246b3964e74ddb3a7e0b8bba03af1c6ac38 Author: Leon Alrae <leon.alrae@xxxxxxxxxx> Date: Tue Aug 6 11:59:25 2013 +0100 target-mips: fix decoding of microMIPS POOL32Axf instructions Fix incorrect assumption that DSP and non-DSP versions of the following instructions have the same encoding: MULT, MULTU, MADD, MADDU, MSUB, MSUBU, MFHI, MFLO, MTHI, MTLO. Correct the existing (non-DSP) instructions and add DSP equivalents. Reference: MIPS Architecture for Programmers Volume II-B: The microMIPS32 Instruction Set MIPS Architecture for Programmers Volume IV-e: The MIPS DSP Module for the microMIPS32 Architecture Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e4f5c1bf8f6f6fe0bb4c743452bf8288033e80ba Author: Liu Yuan <namei.unix@xxxxxxxxx> Date: Tue Aug 6 14:44:37 2013 +0800 sheepdog: add missing .bdrv_has_zero_init Commit 3ac21627 changed the behaviour of bdrv_has_zero_init() to default to 0. In the review for Sheepdog it turned out that enabling it is safe, so that commit updated one BlockDriver definition of sheepdog to use bdrv_has_zero_init_1, missed however that there are more BlockDrivers in the driver. Fix these now. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9580498b9a599b38c3a28599dcd40bd59f12af2c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Aug 5 14:40:34 2013 +0200 qemu-iotests: filter QEMU version in monitor banner Filter out the QEMU monitor version banner so that tests do not break when the QEMU version number is changed. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 840042901710c2dc1a3ac3e5af9bed449c339701 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Jul 23 17:30:12 2013 +0900 iov: handle EOF in iov_send_recv Without this patch, iov_send_recv() never returns when do_send_recv() returns zero. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 526eda14a68d5b3596be715505289b541288ef2a Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Jul 23 17:30:11 2013 +0900 ignore SIGPIPE in qemu-img and qemu-io This prevents the tools from being stopped when they write data to a closed connection in the other side. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit fc11eb26cee7e3621645dd40cd9de944201f590b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Aug 5 10:53:04 2013 +0200 qemu-img: Error out for excess arguments Don't silently ignore excess arguments at the end of the command line, but error out instead. This can catch typos like 'resize test.img + 1G', which doesn't increase the image size by 1G as intended, but truncates the image to 1G. Even for less dangerous commands, the old behaviour is confusing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 79761c6681f0d1cc1c027116fcb4382d41ed3ece Author: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx> Date: Wed Jul 3 17:58:14 2013 +0900 semaphore: fix a hangup problem under load on NetBSD hosts. Fix following bugs in "fallback implementation of counting semaphores with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976: - waiting threads are not restarted properly if more than one threads are waiting unblock signals in qemu_sem_timedwait() - possible missing pthread_cond_signal(3) calls when waiting threads are returned by ETIMEDOUT - fix an uninitialized variable The problem is analyzed by and fix is provided by Noriyuki Soda. Also put additional cleanup suggested by Laszlo Ersek: - make QemuSemaphore.count unsigned (it won't be negative) - check a return value of in pthread_cond_wait() in qemu_sem_wait() Signed-off-by: Izumi Tsutsui <tsutsui@xxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1372841894-10634-1-git-send-email-tsutsui@xxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e1d0fb378ae3bb4272124a12e3fe1a02c4745eb1 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:54 2013 -0400 rdma: memory leak RDMAContext::host It is allocated by g_strdup(), so needs to be freed. Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-8-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 877726397f7e24d0c8a2b303a852769b5edd155c Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:53 2013 -0400 rdma: use RDMA_WRID_READY Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-7-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1f22364bb5a756dfcbd15c2ae2bac18bbcef6190 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:52 2013 -0400 rdma: qemu_rdma_post_send_control uses wrongly RDMA_WRID_MAX RDMA_WRID_CONTROL should be used. And remove related work around. Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-6-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44b5949491a47043c4f7c4ff09f0191f82919a82 Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 3 22:54:51 2013 -0400 rdma: don't use negative index to array Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-5-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 66988941251ef64044aa3b951ebd84162e5a4e3a Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sat Aug 3 22:54:50 2013 -0400 rdma: correct newlines in error statements Don't print newlines on the error_setg() function, but still allow newlines on fprintf(). Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-4-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8cd31adc7cc0602ba0a66b7d9b50fd016ab5530a Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sat Aug 3 22:54:49 2013 -0400 rdma: forgot to turn off the debugging flag Ooops. We forgot to turn off the flag. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-3-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b58c8552bd466aaab67c59dedeb846838082cad6 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Sat Aug 3 22:54:48 2013 -0400 rdma: bugfix: make IPv6 support work RDMA does not use sockets, so we cannot use many of the socket helper functions, but we *do* use inet_parse() which gives RDMA all the necessary details of the connection parameters. However, when testing with libvirt, a simple IPv6 migration test failed because we were not using getaddrinfo() properly. This makes IPv6 migration over RDMA work. Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Message-id: 1375584894-9917-2-git-send-email-mrhines@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be2f78b6b062eec5170e2612299fb8953046993f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Aug 4 15:05:01 2013 +0200 pxa2xx: Avoid object_get_link_property() assertion for "parent_bus" pxa2xx_i2c_init() creates a pxa2xx-i2c-slave device on a second i2c-bus, which has a NULL parent device. This causes an assertion in object_get_canonical_path() when accessing pxa2xx-i2c-slave's "parent_bus" link<bus> property in tosa and likely other PXA2xx machines. Fix this by using the pxa2xx_i2c device, created just before, as parent. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375621501-5564-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 03a15a5436ed7723f406f15cc3798aa9991e75b5 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Fri Aug 2 12:59:34 2013 +1000 target-ppc: Add POWER7+ CPU model This patch adds CPU PVR definition for POWER7+. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1375412374-24701-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 64160cd2a3e9a8491ce44aaa9df25cfad48b8666 Merge: 144f28f... 908c67f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:06:25 2013 -0500 Merge remote-tracking branch 'filippov/tags/20130729-xtensa' into staging xtensa queue 2013-07-29 * filippov/tags/20130729-xtensa: target-xtensa: check register window inline target-xtensa: don't generate dead code to access invalid SRs tests/tcg/xtensa: Fix out-of-tree build target-xtensa: avoid double-stopping at breakpoints target-xtensa: add fallthrough markers target-xtensa: add extui unit test Conflicts: configure Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 144f28fa58abc56d2244a2e6b97ca78e1540dd05 Merge: 59a8877... 9a949b9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:03:01 2013 -0500 Merge remote-tracking branch 'mcayland/qemu-openbios' into staging * mcayland/qemu-openbios: Update OpenBIOS images Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 59a88774d912bb53795daa2d3620707401aea077 Merge: 56105bd... ee76c1f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:48 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Jan Kiszka # Via Stefan Hajnoczi * stefanha/net: pcnet: Flush queued packets on end of STOP state Message-id: 1375704975-19128-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 56105bd5c0b6d7ac62b34c8b8f496df8f7bd9d92 Merge: f5e7dad... 8afaefb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:39 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf # Via Stefan Hajnoczi * stefanha/block: block: Disable driver-specific options for 1.6 Message-id: 1375461379-20277-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f5e7dad8ee5673b4de1eaa9a2fa610f0940f26b0 Merge: d94c426... 8e50724... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:32 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Fam Zheng (1) and others # Via Michael Tokarev * mjt/trivial-patches: vmdk: fix comment for vmdk_co_write_zeroes memory.c: drop kvm.h dependency block/iscsi.c: Fix printf format error. qemu-ga: build it even if !system Message-id: 1375453248-7178-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d94c426d46e01ad45fc5e3b8e5b485ca1b0158fe Merge: b9ac5d9... a14ff8a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Aug 5 08:01:25 2013 -0500 Merge remote-tracking branch 'kraxel/usb.86' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.86: usb-redir: fix use-after-free xhci: fix segfault Message-id: 1375362669-14815-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ee76c1f821e75550644e084dea85743bbc934f91 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Aug 2 21:48:18 2013 +0200 pcnet: Flush queued packets on end of STOP state Analogously to other NICs, we have to inform the network layer when the can_receive handler will no longer report 0. Without this, we may get stuck waiting on queued incoming packets. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b9ac5d923b820a0f0152a2df56067e55ce34f487 Author: Yongbok Kim <yongbok.kim@xxxxxxxxxx> Date: Fri Aug 2 10:33:43 2013 +0100 target-mips: fix 34Kf configuration for DSP ASE 34Kf core does support DSP ASE. CP0_Config3 configuration for 34Kf and description are wrong. Please refer to MIPS32(R) 34Kf(TM) Processor Core Datasheet Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8afaefb8919dc8746a57c450a758717c516c7b0a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 30 14:58:27 2013 +0200 block: Disable driver-specific options for 1.6 We don't want to commit to the API yet before everything is worked out. Like already for 1.5, disable it again for the 1.6 release. This commit is meant to be reverted after the 1.6 release. The disabling of the driver-specific options is achieved by applying the old checks while parsing the command line. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8e50724313895a87057cc243ad805f2eb21feb9f Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu Aug 1 18:12:17 2013 +0800 vmdk: fix comment for vmdk_co_write_zeroes The comment was truncated. Add the missing parts, especially explain why we need zero_dry_run. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 437de2adc633ed28cdd84bcdffc3430b5ce96be6 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Aug 1 10:55:30 2013 +0300 memory.c: drop kvm.h dependency memory.c does not use any kvm specific interfaces, don't include kvm.h Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f5075224d6e7fe8cae7e3c1b52a6d0f7bd3533d0 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Wed Jul 31 22:20:26 2013 +0100 block/iscsi.c: Fix printf format error. The error on armv7hl was: block/iscsi.c: In function â??is_request_lun_alignedâ??: block/iscsi.c:251:26: error: format â??%ldâ?? expects argument of type â??long intâ??, but argument 3 has type â??int64_tâ?? [-Werror=format=] iscsilun->block_size, sector_num, nb_sectors); ^ This also splits the long line to comply with qemu coding guidelines. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e8ef31a3518c7b1e63a804fe8cecd3e94418db84 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jul 31 14:22:07 2013 +0400 qemu-ga: build it even if !system Move qemu-ga build check out of if softmmu.. into its own section. We want to build qemu-ga for _guest_ even if system build isn't done. It is controlled separately using --enable-guest-agent. Additionally, give error message if guest agent is requested but not supported. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 2ddc463725d0fa24e0910fba77fef2777fa94a74 Merge: 00f90df... e0d4794... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 17:09:35 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Clean up AlphaCPU and OpenRISCCPU migration # gpg: Signature made Wed 31 Jul 2013 04:57:59 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: cpu: Fix VMSTATE_CPU() semantics commit 00f90df09368035fcfe6a06cd87a6c88f82f2afe Merge: e501425... 5c97367... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 17:09:28 2013 -0500 Merge remote-tracking branch 'afaerber/tags/prep-for-upstream' into staging PReP machine and devices * Fixes for i82378 PCI-ISA bridge endianness handling # gpg: Signature made Wed 31 Jul 2013 04:25:51 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Hervé Poussineau # Via Andreas Färber * afaerber/tags/prep-for-upstream: i82378: Cleanup implementation pci-host/prep: Set isa_mem_base in the PCI host bridge commit e501425bbe8d692f022d3db64abf800eaf4f0854 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 16:59:32 2013 -0500 Update version for 1.6.0-rc1 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 203439ce0a832e36b276f10892846bd91ee836eb Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 01:28:46 2013 +0200 virtio-console: Use exitfn for virtserialport, too virtconsole and virtserialport are identical in every other aspect except for the distinguishing VirtIOSerialPortClass::is_console field. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375313326-14966-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 27915efb974999dd256a6c432a17432d9d84e606 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Aug 1 01:59:47 2013 +0200 virtio-9p-device: Avoid freeing uninitialized memory In virtio_9p_device_init() there are 6x goto out that will lead to v9fs_path_free() attempting to free unitialized path.data field. Easiest way to trigger is: qemu-system-x86_64 -device virtio-9p-pci Fix this by moving v9fs_path_init() before any goto out. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375315187-16534-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5a2bcf70e81b67cbc4947f5065db8fc9bfc1465 Merge: f44c5c6... 8c0426a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Aug 1 11:18:04 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Pawit Pornkitprasan # Via Luiz Capitulino * luiz/queue/qmp: migration: don't use uninitialized variables migration: send total time in QMP at "completed" stage Message-id: 1375367564-4797-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c0426aed1d2279845e6a2c3355da8b5d9926cb6 Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Date: Tue Jul 30 08:39:52 2013 +0900 migration: don't use uninitialized variables The qmp_migrate method uses the 'blk' and 'inc' parameter without checking if they're valid or not (they may be uninitialized if command is received via QMP) Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 00c14997cb95bf3e6c18c2264ef5e10642d89b3a Author: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Date: Fri Jul 19 11:23:45 2013 +0900 migration: send total time in QMP at "completed" stage The "completed" stage sets total_time but not has_total_time and thus it is not sent via QMP reply (but sent via HMP nevertheless) Signed-off-by: Pawit Pornkitprasan <p.pawit@xxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit a14ff8a650b5943ee6221b952494661f7cb3b5e2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jul 31 11:17:58 2013 +0200 usb-redir: fix use-after-free Reinitialize dev->cs to NULL after deleting it, to make sure it isn't used afterwards. Reported-by: Martin Cerveny <M.Cerveny@xxxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 75cc1c1fcba1987bdf3979c4289ab756c2b15742 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jul 31 10:54:11 2013 +0200 xhci: fix segfault Guest trying to reset a endpoint of a disconnected device resulted in xhci trying to dereference uport while being NULL, thereby crashing qemu. Fix that by adding a check. Drop unused dev variable while touching that code bit. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5c9736789b79ea49cd236ac326f0a414f63b1015 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Tue Jul 23 23:16:46 2013 +0200 i82378: Cleanup implementation - i82378 only exists on PCI bus; do not split implementation in 2 structs - remove BARs, which are not specified in datasheet - replace custom isa_mmio implementation by PCI bus IO region usage - use QOM casts when required Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: Style- and QOM-related changes, dropped no_user, reverted VMSD name] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 768d7e2c7f5d20f412506f3a31626185ac54c559 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Tue Jul 23 23:16:45 2013 +0200 pci-host/prep: Set isa_mem_base in the PCI host bridge Currently, it is done by i82378 PCI-ISA bridge, which shouldn't care about it. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit e0d479445876676f3f92e1bc6d5f92d4bb2500f8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 04:07:50 2013 +0200 cpu: Fix VMSTATE_CPU() semantics Commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 prepared a VMSTATE_CPU() macro for device-style VMStateDescription registration, but missed to adapt cpu_exec_init(), so that the "cpu_common" VMStateDescription was still registered for AlphaCPU (fe31e7374299c0c6172ce618b29bf2fecbd881c7) and OpenRISCCPU (da69721460e652072b6a3dd52b7693da21ffe237). Fix this. Cc: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f44c5c6794026fc2852c1c0f026b15733560ce7c Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Wed Jul 31 10:27:35 2013 +0400 MAINTAINERS: change Igor Mitsyanko's email address My email address in samsung.com domain is no longer accessible, change it to my personal gmail address. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1197cbb9eda1dc82e2fa1815ca62bc3de158353e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 30 08:20:43 2013 -1000 qdev: Use clz in print_size We can compute a floor log2 value with clz rather than a division loop. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1375208443-17288-3-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e76c756fd3d3b652c6a65ebe16f2bfb25b8d025e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 30 08:20:42 2013 -1000 qdev: Fix 32-bit compilation in print_size Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1375208443-17288-2-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 75e2a4baf1536682d111d9bee0261806737a32dc Merge: c095e10... 58ae52a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 30 18:48:58 2013 -0500 Merge remote-tracking branch 'spice/spice.v72' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * spice/spice.v72: spice: fix display initialization Message-id: 1375173625-3784-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c095e108473f57516e7ad958d905a7017b225f82 Merge: dbef7b1... cf66ee8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 30 18:48:54 2013 -0500 Merge remote-tracking branch 'kraxel/usb.85' into staging # By Gerd Hoffmann (2) and Alexey Kardashevskiy (1) # Via Gerd Hoffmann * kraxel/usb.85: hcd-ohci: add dma error handling uhci: egsm fix xhci: handle USB_RET_IOERROR Message-id: 1375173371-3378-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dbef7b17ad1d0be90696dc45b5b8162d8208643f Merge: c9dd6a9... 9b4f38e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 30 18:48:36 2013 -0500 Merge remote-tracking branch 'borntraeger/s390-for-1.6' into staging * borntraeger/s390-for-1.6: s390: Implement dump-guest-memory support for target s390x s390x/kvm: Remove redundant return code s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst() s390x/ioinst: Fixed priority of operand exceptions s390x/ioinst: Fixed alignment check in SCHM instruction s390x/ioinst: Throw addressing exception when memory_map failed s390x/ioinst: Add missing alignment checks for IO instructions s390/sclpconsole: handle char layer busy conditions Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c9dd6a9fa092827c38d21749a453bc56413411d7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:33 2013 +0200 mips_r4k: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-6-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 38c8894fe77c14c6af415c75f043370264f89382 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:32 2013 +0200 mips_jazz: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-5-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2c57bd9b06e5771c11a1850e709b595a7c283e83 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:31 2013 +0200 mips_malta: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-4-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a7ed999a7a5057d860b38c6680a1437945b5139 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:30 2013 +0200 mips_fulong2e: Silence BIOS loading warning for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96b3bfa083987518e8a10364bf994c024c455fff Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jul 29 16:05:29 2013 +0200 target-ppc: Suppress TCG instruction emulation warnings for qtest Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375106733-832-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7b7ab18d0b9769b5f39e663fa55caed461b1202e Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 30 13:04:22 2013 -0500 chardev: fix CHR_EVENT_OPENED events for mux chardevs As of bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec, chardevs no longer use bottom-halves to issue CHR_EVENT_OPENED events. To maintain past semantics, we instead defer the CHR_EVENT_OPENED events toward the end of chardev initialization. For muxes, this isn't good enough, since a range of FEs must be able to attach to the mux prior to any CHR_EVENT_OPENED being issued, else each FE will immediately print it's initial output (prompts, banners, etc.) just prior to us switching to the next FE as part of initialization. The is new and confusing behavior for users, as they'll see output for things like the HMP monitor, even though their the current mux focus may be a guest serial port with potentially no output. We fix this by further deferring CHR_EVENT_OPENED events for FEs associated with muxes until after machine init by flagging mux chardevs with 'explicit_be_open', which suppresses emission of CHR_EVENT_OPENED events until we explicitly set the mux as opened later. Currently, we must defer till after machine init since we potentially associate FEs with muxes as part of realize (for instance, serial_isa_realizefn). Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1375207462-8141-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5fe0d351b3a7caf77f899db804d09e4553329c84 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jul 30 22:41:23 2013 +0200 tci: Fix broken build (compiler warning caused by redefined macro BIT) The definition of macro BIT in tci/tcg-target.c now conflicts with the definition of the same macro in includes qemu/bitops.h. This conflict was triggered by a recent change in the include chain of tcg.c (probably commit 949fc82314cc84162e64a5323764527a542421ce). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1375216883-23969-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9a949b94f60ee48ca0fbb5dc263c7ee77b75149f Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Tue Jul 30 23:11:07 2013 +0100 Update OpenBIOS images Update OpenBIOS images to SVN r1198 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> commit beb3faaa0027c114e37317fdba38a8a7facf3f9b Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 29 12:49:05 2013 +0200 target-mips: correct the values in the DSP tests Five tests files for DSP instructions had wrong expected values in the tests. This change fixes this, and this has been cross-checked by running the same test binaries on Malta 74K board. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9b4f38e182d18cac217f04b8b7fddf760a5b9d44 Author: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 10 15:26:46 2013 +0200 s390: Implement dump-guest-memory support for target s390x With this patch dump-guest-memory on s390 produces an ELF formatted, crash-readable dump. In order to implement this, the arch-specific part of dump-guest-memory was added: target-s390x/arch_dump.c contains the whole set of function for writing Elf note sections of all types for s390x. Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [fixed indentation, use CamelCase, rename note_t to Note, use S390CPU] Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit d2ee774616280db778f0b4b97a8ac514602ad52c Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 2 14:45:16 2013 +0200 s390x/kvm: Remove redundant return code Removed the redundant return code statement from handle_instruction() - it always returned 0 and never reports any errors to its caller, since errors from the sub-functions are already reported via program exceptions instead. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit c1e8dfb5e860c48adf5026a5a7cf8f35be66c22c Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 24 15:17:34 2013 +0200 s390x/kvm: Reworked/fixed handling of cc3 in kvm_handle_css_inst() Consolidated the setting of the condition code in kvm_handle_css_inst(). For the (unhandled) instructions EQBS and SQBS, we have to return an operation exception instead of cc3. Also removed the is_ioinst() function to avoid decoding the opcode twice. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 71ed827abd57dc7947ce3316118d0e601e70fac9 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 25 14:59:12 2013 +0200 s390x/ioinst: Fixed priority of operand exceptions Operand exceptions have a lower priority than specification and address exceptions. Thus the checks for operand exceptions must be done later. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 7ae5a7c0f63cc625cf31a9c9f18cc07f4049e48f Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 21 15:57:31 2013 +0200 s390x/ioinst: Fixed alignment check in SCHM instruction Register 2 only has to be aligned to a 32-byte boundary, not a full page boundary. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 0056fc9e44d5b424a0f2293edacb0381234fc9c5 Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 21 13:12:45 2013 +0200 s390x/ioinst: Throw addressing exception when memory_map failed So far, the IO instructions were throwing specification exceptions when there was a problem with accessing the memory. However, the better way is to throw an addressing exception instead. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 61bf0dcb2efeffa62157de44606f9874a47ed7fe Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 21 10:13:42 2013 +0200 s390x/ioinst: Add missing alignment checks for IO instructions The IO instructions MSCH, SSCH, STSCH, TSCH, STCRW and TPI require that the second operand address must be aligned on a word boundary. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 2e14211476d70e3877180c19d72c0d96e23bdac5 Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> Date: Tue May 28 15:03:55 2013 +0200 s390/sclpconsole: handle char layer busy conditions Handle busy conditions (errno=EAGAIN) in char layer by using the new char layer in the sclp console. Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit cf66ee8e207d5c1831c7d4d8c7f2544314fc676c Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Fri Jul 26 20:52:05 2013 +1000 hcd-ohci: add dma error handling Current hcd-ohci does not handle DMA errors. However they may happen so here we introduce simple error handling. On such errors, a typical OHCI will stop operating, signal the guest about the error by sending "UnrecoverableError Event", set itself into error state and set "Detected Parity Error" in its PCI config space to signal that it got an error and so does the patch. This also adds ohci_die() call to ohci_bus_start() to handle possible failure of qemu_new_timer_ns(). Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9f0f1a0c096f29a856f2e6903beda45b44ce9cdd Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 26 17:05:06 2013 +0200 uhci: egsm fix When the guest goes suspend the uhci controller while there are pending resume requests on the ports go signal global resume instantly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ed60ff024fdb0e7ca9c002af166e10683cf49805 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jul 25 13:12:35 2013 +0200 xhci: handle USB_RET_IOERROR https://bugzilla.redhat.com/show_bug.cgi?id=980377 Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 58ae52a8dc7752e3da9a905678580b4cb8181cdc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jul 22 15:34:12 2013 +0200 spice: fix display initialization Spice has two display interface implementations: One integrated into the qxl graphics card, and one generic which can operate with every qemu-emulated graphics card. The generic one is activated in case spice is used without qxl. The logic for that only caught the "-vga qxl" case, "-device qxl-vga" goes unnoticed. Fix that by adding a check in the spice interface registration so we'll notice the qxl card no matter how it is created. https://bugzilla.redhat.com/show_bug.cgi?id=981094 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit dbe49aea76a7805f05b33d548b2e543b51fa8bb1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 20:30:29 2013 -0500 Update version for 1.6.0-rc0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d2509b667caf482b6f827ff2645cbeb9b39ce29e Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Thu Jul 18 09:57:03 2013 -0400 seccomp: add arch_prctl() to the syscall whitelist It appears that even a very simple /etc/qemu-ifup configuration can require the arch_prctl() syscall, see the example below: #!/bin/sh /sbin/ifconfig $1 0.0.0.0 up /usr/sbin/brctl addif <switch> $1 Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Message-id: 20130718135703.8247.19213.stgit@localhost Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 94113bd8a1d9acd05a879bc309cc659ace09e287 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Mon Jul 15 15:32:01 2013 -0400 seccomp: add additional asynchronous I/O syscalls A previous commit, "seccomp: add the asynchronous I/O syscalls to the whitelist", added several asynchronous I/O syscalls but left out the io_submit() and io_cancel() syscalls. This patch corrects this by adding the two missing asynchronous I/O syscalls. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> Reviewed-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Message-id: 20130715193201.943.4913.stgit@localhost Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95c1eb19eab9d57035e05a02f7184b63c1da9775 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 11:31:49 2013 +0100 linux-user: Return success from m68k set_thread_area syscall The m68k set_thread_area syscall implementation failed to set the return value. Correctly set it zero, since this syscall will always succeed. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375093909-13653-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 978fae9f1ac47e22890a1bd9ebf5fa46fe8b6ef7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 12:00:32 2013 +0100 linux-user/signal.c: Avoid using uninitialized data in ARM sigreturn Rephrase code used in ARM sigreturn functions to avoid using uninitialized variables. This fixes one genuine problem ('frame' would not be initialized if we took the error-exit path because our stackpointer was misaligned) and one which is clang being alarmist (frame_addr wouldn't be initialized, though this is harmless since unlock_user_struct ignores its second argument in these cases; however since we don't generally make use of this not-really-documented effect it's better avoided). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375095632-13735-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b04636f8665a9492143529340eab4450d492d2ee Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 12:00:31 2013 +0100 linux-user/signal.c: PPC: Silence clang uninitialized-use warning Silence a clang warning in a PPC signal return function: /home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4611:9: error: variable 'sr_addr' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized] if (!lock_user_struct(VERIFY_READ, sc, sc_addr, 1)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/signal.c:4636:28: note: uninitialized use occurs here unlock_user_struct(sr, sr_addr, 1); ^~~~~~~ /home/petmay01/linaro/qemu-from-laptop/qemu/linux-user/qemu.h:442:27: note: expanded from macro 'unlock_user_struct' unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0) ^ This happens when we unlock a user struct which we never attempted to lock. Strictly, clang is actually wrong here -- it hasn't been able to spot that unlock_user_struct() doesn't use its second argument if the first is NULL. However it doesn't seem too unreasonable to demand that we pass in initialized values to it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375095632-13735-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f6bda9cb99345158722f2e70634dda6b4d53ea67 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:39 2013 +0100 spapr: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-5-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da56ff91982f25c03c997309f3d5ed6aab1e0100 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:38 2013 +0100 target-ppc/kvm.c: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-4-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e67137c6c5823ad9488b766c79f0963f6ba70f12 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:37 2013 +0100 s390x: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2440a2c3dfcb9bc463be8ff5a97382e4d2aad750 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 13:16:36 2013 +0100 block/sheepdog: Rename 'dprintf' to 'DPRINTF' 'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1375100199-13934-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 398489018183d613306ab022653552247d93919f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:57 2013 +0200 pc: limit 64 bit hole to 2G by default It turns out that some 32 bit windows guests crash if 64 bit PCI hole size is >2G. Limit it to 2G for piix and q35 by default. User may override default 64-bit PCI hole size by using "pci-hole64-size" property. Examples: -global i440FX-pcihost.pci-hole64-size=4G -global q35-pcihost.pci-hole64-size=4G Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>, Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-8-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e8cd45c78f53501e75bd455140da63d1b7ed3685 Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Date: Mon Jul 29 16:47:56 2013 +0200 qdev: Add SIZE type to qdev properties This patch adds a 'SIZE' type property to qdev. Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-7-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b887796217b7f5b754657e85760693e4ced63356 Author: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Date: Mon Jul 29 16:47:55 2013 +0200 qapi: make visit_type_size fallback to type_int Currently visit_type_size checks if the visitor's type_size function pointer is NULL. If not, it calls it, otherwise it calls v->type_uint64(). But neither of these pointers are ever set. Fallback to calling v->type_int() in this third (default) case. Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@xxxxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-6-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c52dc697259ac826d905db57e298c50306a8c600 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:54 2013 +0200 pc: add Q35 to QOM composition tree under /machine Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-5-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44fc8c5e743b84c1d29f603e4014125dcf152d26 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:53 2013 +0200 pc: replace i440fx_common_init() with i440fx_init() It isn't used anywhere else. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-4-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1d0d4aa412eef7d98e53c313c79c359f2f65376e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jul 29 16:47:52 2013 +0200 pc: add I440FX QOM cast macro Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-3-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f5338ee30d91693f5805208e58df80f0551c3896 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Jul 29 16:47:51 2013 +0200 pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1375109277-25561-2-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a4992d0bdeb38a57314d731d9846063b2057e6c Merge: eddbf0a... b67964d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 14:39:49 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging QOM device refactorings * Replace all uses of FROM_SYSBUS() macro with QOM cast macros i) "QOM cast cleanup for X" Indicates a mechanical 1:1 between TYPE_* and *State. ii) "QOM'ify X and Y" Indicates abstract types may have been inserted or similar changes to type hierarchy. ii) Renames Coding Style fixes such as CamelCase have been applied in some cases. * Fix for sparc floppy - cf. ii) above * Change PCI type hierarchy to provide PCI_BRIDGE() casts * In doing so, prepare for adopting QOM realize # gpg: Signature made Mon 29 Jul 2013 02:15:22 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (171) and others # Via Andreas Färber * afaerber/tags/qom-devices-for-anthony: (173 commits) sysbus: QOM parent field cleanup for SysBusDevice spapr_pci: QOM cast cleanup ioapic: QOM cast cleanup kvm/ioapic: QOM cast cleanup kvmvapic: QOM cast cleanup mipsnet: QOM cast cleanup opencores_eth: QOM cast cleanup exynos4210_i2c: QOM cast cleanup sysbus: Remove unused sysbus_new() prototype sysbus: Drop FROM_SYSBUS() xilinx_timer: QOM cast cleanup tusb6010: QOM cast cleanup slavio_timer: QOM cast cleanup pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer puv3_ost: QOM cast cleanup pl031: QOM cast cleanup pl031: Rename pl031_state to PL031State milkymist-sysctl: QOM cast cleanup m48t59: QOM cast cleanup for M48t59SysBusState lm32_timer: QOM cast cleanup ... commit b67964d70219a864ec427e727754a205475c7d6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:40:42 2013 +0200 sysbus: QOM parent field cleanup for SysBusDevice Rename the parent field and hide it from gtk-doc. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38fb090a80bc8884ff1874b827ccc9a160102f9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:39:37 2013 +0200 spapr_pci: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f54d31575d115377ba2931abc0ff41d4a0abc5a2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:31:42 2013 +0200 ioapic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b311963126a18d7f4c5390c4c094a5f015f0fca6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:30:47 2013 +0200 kvm/ioapic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 253eacc2fb1f592af9de64c5a9a2157fbf8ccb0d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 16:27:41 2013 +0200 kvmvapic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a4dbb8bdebd9b013df06cbc27d641de659e92ab2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:59:07 2013 +0200 mipsnet: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4632cf2d5f77e702afda1e98df86ad7b0721ef70 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:56:28 2013 +0200 opencores_eth: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 436033290065be765363ad73f9437821e0c35084 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:50:02 2013 +0200 exynos4210_i2c: QOM cast cleanup Fix one ->qdev access and rename parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 339104fe3430d19bd1932077bae839cdcc9f7cd2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:45:51 2013 +0200 sysbus: Remove unused sysbus_new() prototype Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f3d74d32e7285af2c7a289c02b948f8feccd95e1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:39:20 2013 +0200 sysbus: Drop FROM_SYSBUS() As a replacement, use your own macro based on OBJECT_CHECK(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 760d1d00b8148887003b0632da82dabab57d71f5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:32:47 2013 +0200 xilinx_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 453be7a6fc21c5794e335d937c63bc9d49b1fe1a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:30:21 2013 +0200 tusb6010: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c275471eb1beb0461cfbbb5d96b9d3bcff451c77 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:24:22 2013 +0200 slavio_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit feea4361b3d29cc7e7374db33df9ab18348cf230 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:20:20 2013 +0200 pxa2xx_timer: QOM'ify pxa25x-timer and pxa27x-timer Introduce type constant for new abstract base type, use QOM casts and let both non-abstract types inherit from the new base type. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9c9610b825bdf73d3323dfb5aa0cb789f2c665e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:12:40 2013 +0200 puv3_ost: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d3b800495ec886d45a0be7aa6eb4e1de7533968f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:10:14 2013 +0200 pl031: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b91f0dfd12dbd117235409980e77523fba5f8978 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:07:44 2013 +0200 pl031: Rename pl031_state to PL031State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b564b137b92c5356ffe3c308defa9d0d324272d9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:06:42 2013 +0200 milkymist-sysctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 29d1ffc3d8ccbc72dfe1e136a69235901d328d86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 15:01:49 2013 +0200 m48t59: QOM cast cleanup for M48t59SysBusState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fe54d857056b3cf143fe5aebcf56b7c638d62bc0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:54:54 2013 +0200 lm32_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 541ab55ff1bdc558473f0dea40deae568551bb85 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:52:32 2013 +0200 grlib_gptimer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3ddacf27057678f483bbed78db2f10419acb6501 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:49:12 2013 +0200 exynos4210_rtc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 25fce9ad7f7b77d610504e70b03e29630d66dfa9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:45:47 2013 +0200 exynos4210_pwm: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 81e1010d0fbfaa5992cffa88e1797af36cc438ef Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:41:50 2013 +0200 exynos4210_mct: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5880ce52eb5560763b378dde83b2144fe41024eb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:34:22 2013 +0200 etraxfs_timer: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3c9a8a8c8e7b045e9f1b23ff98d54d7df9a10229 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:30:31 2013 +0200 etraxfs_timer: Rename etrax_timer to ETRAXTimerState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 831aab9b0bb3953161cdbe07a5e475723874321f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:28:31 2013 +0200 cadence_ttc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e2051b42430b014ab6bdcfeabdd869b28282c3a2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:20:25 2013 +0200 arm_timer: QOM cast cleanup for icp_pit_state Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0c88dea5ebf248017ab3bf1fab8ee5e24f1b144d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:17:41 2013 +0200 arm_timer: QOM cast cleanup for SP804State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1024d7f0137da3683c90b1fd77ec0e47c864d897 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:15:46 2013 +0200 arm_timer: Rename sp804_state to SP804State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3efc10e17d41779bbdaf27a304c8e39f744e530f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:07:22 2013 +0200 xilinx_spi: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3d29bceec1357702b2ce0909c6eb8107b806159e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:03:29 2013 +0200 pl022: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce556e0baffce0624a64bdbe9b077d59cc5f6349 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 14:00:25 2013 +0200 pl022: Rename pl022_state to PL022State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 88c034d5b2c406e1859c9a3746229868a20fed41 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:50:51 2013 +0200 sun4u: QOM cast cleanup for RamDevice Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13575cf6dbe88ffa9d2f03dace03aedd9e003f8d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:48:18 2013 +0200 sun4u: QOM cast cleanup for PROMState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ab6b4c661ecf3c824e08de6f5c99a855d00fa84 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:45:23 2013 +0200 sun4m: QOM cast cleanup for RamDevice Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e6f54c91758d99f476c7db01c449e01a54821e1c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:42:29 2013 +0200 sun4m: QOM cast cleanup for PROMState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b3a4996524910049ac491c512858b7a38878a444 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:38:44 2013 +0200 sun4m: QOM cast cleanup for AFXState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ef9dfa4c1c97db30d83dbcc8d31c334641b5f7ca Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:33:46 2013 +0200 sun4m: QOM cast cleanup for IDRegState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 630f44426825f18230072ce239a3dea72242e234 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:23:41 2013 +0200 pl181: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d998d93acbbefc3804200ab4387cb0286b07d7b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:20:09 2013 +0200 pl181: Rename pl181_state to PL181State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7a239e46f792b234d77425653a8259152df5d5de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:18:50 2013 +0200 milkymist-memcard: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 880fc798fd34cea6e6647a9210dc7458c9ceedb6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 13:03:07 2013 +0200 ppce500_spin: QOM cast cleanup Introduce type constant and use QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8c1892cf7297ff4972a4ad6dd601921c3a01d618 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:50:29 2013 +0200 ds1225y: QOM cast cleanup for SysBusNvRamState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 14134f0eb57247e3ec3b8311931a11b344096591 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:47:09 2013 +0200 ds1225y: Drop bogus qdev field from NvRamState It is not a device, and the field is not used from code either. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 91a28042958f20eff01a4d441d7072fd1902d375 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:43:06 2013 +0200 xilinx_ethlite: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 546921eac5abd7cc6c78f1ceeda3375697ac04bd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:35:15 2013 +0200 xgmac: QOM cast cleanup Introduce type constant and use QOM casts and typedef consistently. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0618db44b9da3a2525b414a0928d2b445f897eec Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:27:46 2013 +0200 stellaris_enet: Fix NetClientInfo::cleanup Drop freeing stellaris_enet_state - that is done by QOM later on unref. Both MemoryRegion init and savevm registration happen in SysBusDevice initfn currently, so move them into an unrealizefn for now. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2fa30abadfa2f9f3c47044f677e74988db274d0c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:23:22 2013 +0200 stellaris_enet: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 926d152e4c5b56b7a76a4bc77b9cf2987119b884 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:17:48 2013 +0200 smc91c111: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0e57587f2562dd0123817cefc4e95733f9daec8e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:13:17 2013 +0200 milkymist-minimac2: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b1a2aaf77499fe6ac059eeceacc8e70858f1c65d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 12:08:14 2013 +0200 lance: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3ff66d101be9e2f08db1b674495b489f3c969810 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:55:02 2013 +0200 lan9118: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 58076497dfeff9721ec8f7476336292c8e0eb8c7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:48:42 2013 +0200 etraxfs_eth: Rename fs_eth to ETRAXFSEthState Also add a typedef. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8784dfa4bc3cb6ee3b6115ea52a4cae2874be7f9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:44:01 2013 +0200 etraxfs_eth: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 318643beaa50f49d3bfa9e318b067784d8fb4f30 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 11:39:47 2013 +0200 cadence_gem: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a054e2c2ddea91c8e34fe847327c6250f6f791d6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:29:03 2013 +0200 zynq_slcr: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f1a0a79f4faeac50ea490496e92d00d7260d9437 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:21:50 2013 +0200 slavio_misc: QOM cast cleanup for APCState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 95eb2084f9e59c50cb989ef0e717e0d933bd1480 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:19:11 2013 +0200 slavio_misc: QOM cast cleanup for MiscState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit af89a444932111807b4a5a5a799829c98bdab560 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 23:16:03 2013 +0200 puv3_pm: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5c0e12f5a6f6da6cc63e4d0fd309f4699300daa0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 22:32:18 2013 +0200 mst_fpga: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aee31f7b4b7e23cfcdab604b6edc5e7df8d5c32f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 22:27:57 2013 +0200 milkymist-pfpu: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 829617a97cd4316872465db6b28d304e49f45f05 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 22:24:22 2013 +0200 milkymist-hpdmc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 816d323be3e66b82cd92657c783c0e5e7b88d6d9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:59:04 2013 +0200 lm32_sys: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b6e1df2e91fbf89226605a9459bc86c2aa0a404e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:47:58 2013 +0200 exynos4210_pmu: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 100bb15cb8e8788cca36f708c51c3d8e03041759 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:39:54 2013 +0200 eccmemctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ba4ea5bd299c03a7af87b0881ea6d445c46beddf Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:34:18 2013 +0200 arm_sysctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0e8982e969304995dfa39e6767b0152564a72130 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:20:52 2013 +0200 arm_l2x0: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ae1953d045eb1fdfc21279284d78c7f23aba9762 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:18:35 2013 +0200 arm_l2x0: Rename l2x0_state to L2x0State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cc3e064ee948c612c38aa99a364f5af95422e5ec Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:46:22 2013 +0200 xilinx_intc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7abad863d7249b4b501923c3c28d952c473bf23a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:40:40 2013 +0200 slavio_intctl: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b09a6f7b30591a5de4c4ceb22e3063a81e7317c4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:34:29 2013 +0200 realview_gic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1ecdf4022ad968f4346905c269247ff3c5d2aa2d Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:30:57 2013 +0200 puv3_intc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7fc3266f769880d5cb8d6c7995a1a5f898986baf Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:23:57 2013 +0200 pl190: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aefbc25695b00b6d6731ef0b8c53e12462bffd86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:18:42 2013 +0200 pl190: Rename pl190_state to PL190State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 47edc5a479e0927c6ce04eaf3e84db0ba7ddbb41 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 20:14:20 2013 +0200 omap_intc: QOM'ify omap-intc and omap2-intc Create a new abstract base type and let omap-intc and omap2-intc inherit from it. Introduce a type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1f8a9eac51427be2e9e63fcbe9d4d174640a0b19 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:53:49 2013 +0200 lm32_pic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 730bf9323d799cc42520f4512dd76d843b26d480 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:26:18 2013 +0200 grlib_irqmp: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c5e22ae3464b52789023dbdce2f565d0f6be08e2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:19:19 2013 +0200 exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 78c6abbd834e78a658e5910244397040c10a5b90 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:16:20 2013 +0200 exynos4210_gic: QOM cast cleanup for exynos4210.gic Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c03c6b9ccaa696b90a662dfcce82d84c50f832b8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:11:37 2013 +0200 exynos4210_combiner: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9062143f9e71479e98a62950178e7d803f304425 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:05:58 2013 +0200 etraxfs_pic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 285b4432da565ebcca0bc5eab1783b77ef3450c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:57:48 2013 +0200 arm_gic: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3e5dd364d933ccc066cbea8620bdc16525e19230 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:49:24 2013 +0200 pl050: QOM'ify pl050_keyboard and pl050_mouse Introduce an abstract type pl050 and let pl050_keyboar and pl050_mouse inherit from it, using different instance_init functions. Introduce a type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e607f25a620e769cb6a231314aa13804723ab734 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:40:25 2013 +0200 pl050: Rename pl050_state to PL050State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2a052f6bf11f00b358cf4e0abdd6e2cf59648a71 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:37:02 2013 +0200 milkymist-softusb: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 93e7f5f42d0d3663acb94b24c8a9a329b5b13917 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:28:26 2013 +0200 versatile_i2c: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 60ecfcb354e526c29874af17bbadaabeff47409c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:24:27 2013 +0200 omap_i2c: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cc3c3b8a2239a7a1d49a83c047ae2bc63d8a71e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 18:13:46 2013 +0200 bitbang_i2c: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a009de46bd50c88d18f19a1405e1348c679e08d6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:41:16 2013 +0200 gpio/zaurus: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1ed09e2f4360cba2c480e64077421aa0cbc6ebc8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:37:37 2013 +0200 puv3_gpio: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 692a76d1c4a32573bf3cc19110c7fa6cc8c93f60 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:31:46 2013 +0200 pl061: QOM'ify pl061 and pl061_luminary Let pl061_luminary inherit from pl061, with differing instance_init. Introduce type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ee663e96e4db735d19dc2672150b6ccc87cc29fe Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:21:21 2013 +0200 pl061: Rename pl061_state to PL061State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 74d1e352be53d8208996772bb51c5a965fae7d06 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:19:36 2013 +0200 omap_gpio: QOM cast cleanup for omap2_gpif_s Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d300b5f6f759f5d0a7866d3da320ebae0f0b79c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 17:14:40 2013 +0200 omap_gpio: QOM cast cleanup for omap_gpif_s Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 049e7d226e08bbf50c17ffdc3a6793c6e45e77f2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:58:49 2013 +0200 sun4m_iommu: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 70cd8d4b75e91272a28a140818a52f5e32ef4375 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:55:59 2013 +0200 sparc32_dma: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 358cd7ac59ffbb4cef126439f829443d343e2b94 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:43:17 2013 +0200 pxa2xx_dma: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6df7cdee0b0e3667a0e7f811a9682e492f21c738 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:04:39 2013 +0200 puv3_dma: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4f800554f2b324b3cd5ea6a0e69e9e9b409aa65b Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 12:47:17 2013 +0200 pl080: QOM'ify pl080 and pl081 Let pl081 inherit from pl080 and replace triple SysBus initfn with two instance_inits. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d7ba0a62c58c3a30bc75377b1209dafc613c73be Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 12:37:06 2013 +0200 pl080: Rename pl080_state to PL080State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8df81c4b11f19eae16b88d5da3ab85704d49e6b0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:48:30 2013 +0200 empty_slot: QOM cast cleanup Introduce type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 71ffe1a01faa90fa08805e8030120b3be0efda25 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:29:17 2013 +0200 pl011: QOM'ify pl011 and pl011_luminary Let the Luminary variant inherit from the ARM one, overwriting its ID on instance_init. Introduce type constant and use QOM casts. Replace triplicated SysBusDevice initfn with QOM realizefn and instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ab640bfc2e0ae70ce7d11122ad30957ad53a1836 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:13:57 2013 +0200 pl011: Rename pl011_state Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 79bbe8bf3dbd701a13e2abe0ca0acdfae3e2231d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:08:14 2013 +0200 milkymist-uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 85f3d3024588d27453788167566c34c3c658881d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:59:55 2013 +0200 lm32_uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a0b97927e34903ed280250f90deb6d3261cdc62f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:56:36 2013 +0200 lm32_juart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0ee10242fd5c40ef0268147b23ba225b843e2d20 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:49:02 2013 +0200 lm32_juart: Relocate and tidy header Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d8e34815e46a45afaa2689b49d5f97b6306b7f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:43:22 2013 +0200 imx_serial: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ae8e04903138a51d15faaf501ea83569cd6cffa5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:38:10 2013 +0200 grlib_apbuart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 61149ff6876dffd0de6f527424d9373e4ed2ad59 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 22:21:05 2013 +0200 exynos4210_uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 81069b20549b3f465f172efb86f7f5034b89463a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 21:30:40 2013 +0200 escc: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 534f6ff925cd7c9c8cc10094173e691938ac723f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 21:23:29 2013 +0200 cadence_uart: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cfc6b24578fdd55c26ed383c910fa18c4137b159 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:37:20 2013 +0200 versatilepb: QOM cast cleanup for vpb_sic_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0ca81872f741e6b93a5951d9a4f524829a911d40 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:32:06 2013 +0200 strongarm: QOM cast cleanup for StrongARMSSPState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fff3af97b9e1b1a482d8951eddac2c45ede9bf08 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:29:14 2013 +0200 strongarm: QOM cast cleanup for StrongARMUARTState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c71e67329188ee1081de53ef685e627c6e99cc87 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:26:04 2013 +0200 strongarm: QOM cast cleanup for StrongARMPPCInfo Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f55beb8477e005f49514410cc00f6913729b01bd Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:23:14 2013 +0200 strongarm: QOM cast cleanup for StrongARMGPIOInfo Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4e00210522ecbbeb81d091cfca1f2cf3f3ae00d8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:20:15 2013 +0200 strongarm: QOM cast cleanup for StrongARMRTCState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 74e075f6fbb40992b698c2418aa19ad541abf71e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:17:13 2013 +0200 strongarm: QOM cast cleanup for StrongARMPICState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7df7f67ae1bf6b2c81788a58de9cdf9cf9c03bc8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:13:06 2013 +0200 stellaris: QOM cast cleanup for stellaris_adc_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d94a40156b357cd519f9385ca1f57ea7850b9e18 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:08:23 2013 +0200 stellaris: QOM cast cleanup for stellaris_i2c_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8ef1d3947efd4044b6a33dcd0ccc5c857149e194 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 09:03:33 2013 +0200 stellaris: QOM cast cleanup for gptm_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 73e9d965dd071ecde5cb31327b58469275691667 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 08:58:32 2013 +0200 spitz: QOM cast cleanup for SpitzKeyboardState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7eb8104a9cd274a14b9a8a6caf38d0720e56cd21 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 08:54:33 2013 +0200 spitz: QOM cast cleanup for SLNANDState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6050ed5fb98822220f71d69c46870bdf1f3bc076 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 02:08:09 2013 +0200 pxa2xx_pic: QOM cast cleanup for PXA2xxPICState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 922bb317e488300c50344742cbd5e0028a8b3d77 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 02:03:39 2013 +0200 pxa2xx_gpio: QOM cast cleanup for PXA2xxGPIOInfo Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5354c21ef905ab36015900e7d27d352bca47f285 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:56:59 2013 +0200 pxa2xx: QOM cast cleanup for PXA2xxI2CState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 548c6f188ecfbb09b42a29393fc18252ab7bbf7d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:50:26 2013 +0200 pxa2xx: QOM cast cleanup for PXA2xxRTCState Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 12a828041c666cf96d69cde85bd7ec03a7e8719f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:45:10 2013 +0200 pxa2xx: QOM cast cleanup for PXA2xxSSPState Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3bdf5327c9b3e449a3ea212d063baa7fac576b1b Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:38:59 2013 +0200 musicpal: QOM cast cleanup for musicpal_key_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7012d4b46b68dcffde1f12a5dfbce5c4c02dc3ff Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:36:24 2013 +0200 musicpal: QOM cast cleanup for musicpal_gpio_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5952b01cf82ba2385065c8fc9976b8907f215b36 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:32:00 2013 +0200 musicpal: QOM cast cleanup for mv88w8618_flashcfg Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4adc8541d970f5a52a8cb05f893f4afeec255d5b Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:27:32 2013 +0200 musicpal: QOM cast cleanup for mv88w8618_pit_state Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c7bd0fd945c3f7f1d93a226dbe89a2ccf0503a58 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:22:07 2013 +0200 musicpal: QOM cast cleanup mv88w8618_pic_state Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2cca58fdc28fb860827a9f0bae1cd736df76cfa0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:16:13 2013 +0200 musicpal: QOM cast cleanup for musicpal_lcd_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a77d90e68a6a277f53bf9051c8fbc2b0d0cff1c1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:12:52 2013 +0200 musicpal: QOM cast cleanup for mv88w8618_eth_state Introduce type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2c79fed33be49cb13c9ce01a6fc42240ee7dedc8 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jul 28 07:54:55 2013 +0200 musicpal: Fix typo in name of local function The misspelling was spotted by Andreas Färber. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 91b646264e1c1f37c9ffb3a602ad748b2a6b050c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:08:01 2013 +0200 integratorcp: QOM cast cleanup for icp_pic_state Introduce type constant and use QOM cast. Fix indentation. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 257ec289b297586f45d5ea5ea01adf8672aa6a05 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 01:00:27 2013 +0200 integratorcp: QOM cast cleanup for integratorcm_state Rename to IntegratorCMState, introduce type constant and use QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 426533faed4338f228c715fbec21a887692ad47c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 00:52:40 2013 +0200 highbank: QOM cast cleanup for HighbankRegsState Add type constant and use QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 936230a713208659c664da20287fcb5e5811743a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 00:46:43 2013 +0200 armv7m: QOM cast cleanup for BitBandState Introduce TYPE_* constant and use QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bcb34c7a61bce00136d42442c592011e56d87161 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 21:50:54 2013 +0200 imx_ccm: QOM cast cleanup Introduce type constant and use QOM casts. Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ff94a61c461111e25b67c7b9cabef035aa30225 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 19:31:08 2013 +0200 imx_avic: QOM cast cleanup Introduce type constant, use QOM casts and prepare SysBus initfn for QOM realize by resolving SysBusDevice vs. DeviceState "dev" name conflict. Acked-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 01774ddbcf42c9521fa66679f947eb49327b8e18 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 01:13:54 2013 +0200 tcx: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5d7a11e438f78a2656000a8d549f0dea412f3dc5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 01:09:03 2013 +0200 pl110: QOM'ify pl110, pl110_versatile and pl111 Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast; set their version index in an instance_init. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Set version PL110 explicitly, suggested by Hu Tao; fixed inheritence] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 513960eaae0f33616e2f59d3b887b4d810763866 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:57:23 2013 +0200 pl110: Rename pl110_state to PL110State Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 54df97bb0c625114ac8c7d8e236fbb7a2456e334 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:53:39 2013 +0200 milkymist-vgafb: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 56299135f5c32a8b606e4b62af9200a3cee65985 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:48:23 2013 +0200 milkymist-tmu2: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 66c2de562f504895eeb407a04dddd4c76ab70c50 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:35:51 2013 +0200 jazz_led: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0f31aa86255e97295b4d81e3d03a527974746d63 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:30:30 2013 +0200 g364fb: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field and prepare for QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f27321aa3a4368c1dbdd03f7e7629572c0fe18b3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:24:50 2013 +0200 exynos4210_fimd: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit af073cd9de7fa120129815cf4d2ba64156571347 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:44:48 2013 +0200 onenand: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field and prepare for QOM realize. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b354f03c5c044beeb758935890b7e48c70e2ff9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:19:32 2013 +0200 pl041: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit baae672597b90e364131241ec3a03730fe774052 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 19:45:52 2013 +0200 pl041: Rename pl041_state to PL041State Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Split off renaming from QOM cast changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 922cc6010e09ed5b976b2e60228b3d6fb09aa3a5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:15:29 2013 +0200 milkymist-ac97: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9e3f8599fc9b3a408fdaaa5a38d6bc328c08c4bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:10:44 2013 +0200 audio/marvell_88w8618: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f9e741903982e55c0dc138ab2e61059a4f3c9a76 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 10:04:31 2013 +0200 cs4231: QOM cast cleanup Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 24bf6c1f2a0ab42e4f183a10b9e9cfe468a840b3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:37:28 2013 +0200 xilinx_uartlite: QOM cast cleanups Introduce type constant and use QOM casts. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 144712ca149f49b24e27b537d05943ee8ac9e22b Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:34:25 2013 +0200 xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b85423fe756e52b373c58c328bb59790ca081ec8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 21:52:26 2013 +0200 etraxfs_ser: QOM cast cleanups Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM casts. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bcb7575068581a7589234bdd55e8d9a9351611d9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 12 19:56:00 2013 +0200 pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types Move PCIEPort's "port" property to the new type, same for "aer_log_max". Move PCIESlot's "chassis" and "slot" properties to the new type. Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5315dc78d089191e6a34a9f9f8913b7f365d504a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 12 19:21:22 2013 +0200 pci-bridge/i82801b11: Rename parent field Rename it to avoid accidental use. Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 57524e14cf12cbc148b0a268d93b3e8457a010a3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 12 19:16:46 2013 +0200 pci-bridge-dev: QOM parent field cleanup Rename it to avoid accidental use. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f055e96bd4311d287c0e03faec02a1bdbc351925 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 11 17:13:43 2013 +0200 pci-bridge: Turn PCIBridge into abstract QOM type Introduce TYPE_PCI_BRIDGE as base type and use PCI_BRIDGE() casts. Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> [AF: Updated pbm-bridge parent to TYPE_PCI_BRIDGE] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 45c0a675f9572f236b4be881576de9a626d2618f Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jul 25 00:11:10 2013 +0200 arm11mpcore: QOM cast cleanups for mpcore_rirq_state Introduce a type constant, use QOM casts, rename the parent field and prepare for QOM realize. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 56fc028166d00ecc8eb61cdfbec5a0305e15d670 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 24 23:59:01 2013 +0200 arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 97da11d8571af72b714f5a45c171bed95a38368c Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Jun 30 21:03:27 2013 +0200 cpu/a15mpcore: QOM cast cleanup Introduce type constant and cast macro and rename A15MPPrivState::busdev field to parent_obj to enforce its use. Prepares for QOM realize. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 68653fd671d3e9b167aa2423dde67dad1b217340 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Jun 30 19:37:10 2013 +0200 timer/arm_mptimer: QOM cast cleanup Introduce type constant and cast macro and rename ARMMPTimerState::busdev to enforce its use. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 5126fec766a3100de896cb92db45d862bd84a969 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Jun 30 19:07:29 2013 +0200 cpu/a9mpcore: QOM casting cleanup Introduce type constant and cast macro and enforce its use by renaming A9MPPrivState::busdev field to parent_obj. Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit f6c11d56442fafa5357ef1f1659b9e39e7bf578d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 17 18:44:48 2013 +0200 ide: Introduce abstract QOM type for PCIIDEState Needed for QOM casts. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 02a9594b4f0cb8a341fe91edb41c6424ad5ae4f9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:56:30 2013 +1000 ide/piix: QOM casting sweep Use standard QOM cast macro. Remove usage of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19d46d711d93cb3a37dada945cb3410278b94bc3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 01:55:26 2013 +0200 fdc: Fix inheritence for SUNW,fdtwo Since commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b SUNW,fdtwo's initfn (realizefn since 940194c2369e50d91d1abf6f36d43853eea5e539) was using SYSBUS_FDC() cast. This uses type sysbus-fdc rather than SUNW,fdtwo. Fix this by letting SUNW,fdtwo and sysbus-fdc both inherit from an abstract type base-sysbus-fdc. This allows to consolidate realizefns by using instance_init functions. Clean up variable names and variable order while at it. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Cc: Hu Tao <hutao@xxxxxxxxxxxxxx> Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eddbf0ab9db8385d7cb57e23891c1d41488b303e Merge: 4ff1fac... b0f2027... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 11:33:48 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Stefan Hajnoczi (4) and others # Via Stefan Hajnoczi * stefanha/block: dataplane: refuse to start if device is already in use dataplane: enable virtio-blk x-data-plane=on live migration migration: fix spice migration migration: notify migration state before starting thread block: Repair the throttling code. gluster: Add image resize support Message-id: 1375112172-24863-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ff1fac4305f78d9cf987ca8abf3bda7f29c856e Merge: 3a1da42... 9337e3b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 11:33:34 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix x86 cpu-add * Change KVM PMU behavior for 1.6 # gpg: Signature made Mon 29 Jul 2013 10:28:18 AM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Eduardo Habkost (2) and Andreas Färber (1) # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: target-i386: Disable PMU CPUID leaf by default target-i386: Pass X86CPU object to cpu_x86_find_by_name() cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState" commit 3a1da42eb35a67d0dbc899dd571ea386fa11c4dd Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jul 26 16:44:34 2013 +0200 qapi: Rename ChardevBackend member "memory" to "ringbuf" Commit 1da48c6 called the new member "memory" after commit 3949e59 standardized "ringbuf". Rename for consistency. However, member name "memory" is visible in QMP since 1.5. It's undocumented just like the driver name. Keep it working anyway. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374849874-25531-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c11ed9666d69abaf217c8800f299c519b487b7d3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jul 26 16:44:33 2013 +0200 qemu-char: Register ring buffer driver with correct name "ringbuf" The driver is new in 1.4, with the documented name "ringbuf". However, it's actual name is the completely undocumented "memory". Screwed up in commit 3949e59. Fix code to match documentation. Keep the undocumented name working as an alias for compatibility. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374849874-25531-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4f57378fe69836ee2585c4ca631ff50746940fa6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jul 26 16:44:32 2013 +0200 Revert "chardev: Make the name of memory device consistent" This reverts commit 6a85e60cb994bd95d1537aafbff65816f3de4637. Commit 51767e7 "qemu-char: Add new char backend CirMemCharDriver" introduced a memory ring buffer character device driver named "memory". Commit 3949e59 "qemu-char: Saner naming of memchar stuff & doc fixes" changed the driver name to "ringbuf", along with a whole bunch of other names, with the following rationale: Naming is a mess. The code calls the device driver CirMemCharDriver, the public API calls it "memory", "memchardev", or "memchar", and the special commands are named like "memchar-FOO". "memory" is a particularly unfortunate choice, because there's another character device driver called MemoryDriver. Moreover, the device's distinctive property is that it's a ring buffer, not that's in memory. This is what we released in 1.4.0. Unfortunately, the rename missed a critical instance of "memory": the actual driver name. Thus, the new device could be used only by an entirely undocumented name. The documented name did not work. Bummer. Commit 6a85e60 fixes this by changing the documentation to match the code. It also changes some, but not all related occurences of "ringbuf" to "memory". Left alone are identifiers in C code, HMP and QMP commands. The latter are external interface, so they can't be changed. The result is an inconsistent mess. Moreover, "memory" is a rotten name. The device's distinctive property is that it's a ring buffer, not that's in memory. User's don't care whether it's in RAM, flash, or carved into chocolate tablets by Oompa Loompas. Revert the commit. Next commit will fix just the bug. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374849874-25531-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f1a145e154b0a227a1e192009ca30b351de0a8ef Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:42:01 2013 +0200 qapi.py: Permit comments starting anywhere on the line Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-10-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 28b8bd4c759389bdc8430acfa588a23e4a9a7fb8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:42:00 2013 +0200 qapi.py: Rename expr_eval to expr in parse_schema() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-9-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f3cd2b717c949f3afb502fb4c81193eb18ce6aa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:59 2013 +0200 qapi.py: Fix diagnosing non-objects at a schema's top-level Report syntax error instead of crashing. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6974ccd542d11ae5fb1e56dd3d753f2de5cc097e Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:58 2013 +0200 qapi.py: Fix schema parser to check syntax systematically Fixes at least the following parser bugs: * accepts any token in place of a colon * treats comma as optional * crashes when closing braces or brackets are missing Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9213aa5391f7c8d3766420d96888f1353af4c890 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:57 2013 +0200 qapi.py: Reject invalid characters in schema file Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2caba36cc61ee3993334bc423f0852f8006fdfcf Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:56 2013 +0200 qapi.py: Decent syntax error reporting Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c7a3f25200c8692e969f21c7f2555630ec0d0d30 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:55 2013 +0200 qapi.py: Restructure lexer and parser The parser has a rather unorthodox structure: Until EOF: Read a section: Generator function get_expr() yields one section after the other, as a string. An unindented, non-empty line that isn't a comment starts a new section. Lexing: Split section into a list of tokens (strings), with help of generator function tokenize(). Parsing: Parse the first expression from the list of tokens, with parse(), throw away any remaining tokens. In parse_schema(): record value of an enum, union or struct key (if any) in the appropriate global table, append expression to the list of expressions. Return list of expressions. Known issues: (1) Indentation is significant, unlike in real JSON. (2) Neither lexer nor parser have any idea of source positions. Error reporting is hard, let's go shopping. (3) The one error we bother to detect, we "report" via raise. (4) The lexer silently ignores invalid characters. (5) If everything in a section gets ignored, the parser crashes. (6) The lexer treats a string containing a structural character exactly like the structural character. (7) Tokens trailing the first expression in a section are silently ignored. (8) The parser accepts any token in place of a colon. (9) The parser treats comma as optional. (10) parse() crashes on unexpected EOF. (11) parse_schema() crashes when a section's expression isn't a JSON object. Replace this piece of original art by a thoroughly unoriginal design. Takes care of (1), (2), (5), (6) and (7), and lays the groundwork for addressing the others. Generated source files remain unchanged. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4f193e34c6c41abdd06c134e584312077def2bda Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:54 2013 +0200 tests: Use qapi-schema-test.json as schema parser test Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1374939721-7876-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 98626572f18ddc61c08588c32a1773bc91f8624e Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Sat Jul 27 17:41:53 2013 +0200 tests: QAPI schema parser tests The parser handles erroneous input badly. To be improved shortly. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1374939721-7876-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 55d5d04884305e17b24f378a9ec616bf7354c1ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jul 28 14:57:22 2013 +0200 memory: add tracepoints for MMIO reads/writes This is quite handy to debug softmmu targets. Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1375016242-32651-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8cdd2e0abbf593a38a146d8dfc998754cefbc27a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 29 12:22:11 2013 +0100 tpm.c: Don't try to put -1 in a variable of type TpmModel The TpmModel type is an enum (valid values 0 and 1), which means the compiler can legitimately decide that comparisons like 'tpm_models[i] == -1' are never true. (For example it could pick 'unsigned char' as its type for representing the enum.) Avoid this issue by using TPM_MODEL_MAX to mark entries in the tpm_models[] array which aren't filled in, instead of -1. This silences a clang warning: tpm.c:43:27: error: comparison of constant -1 with expression of type 'enum TpmModel' is always false [-Werror,-Wtautological-constant-out-of-range-compare] if (tpm_models[i] == -1) { ~~~~~~~~~~~~~ ^ ~~ Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1375096931-13842-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 125ee0ed9cad04307498ac2b7b0d51ad8a807360 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Mon Jul 29 17:17:45 2013 +0300 devices: Associate devices to their logical category The category will be used to sort the devices displayed in the command line help. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Message-id: 1375107465-25767-4-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5 Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Mon Jul 29 17:17:44 2013 +0300 qemu-help: Sort devices by logical functionality Categorize devices that appear as output to "-device ?" command by logical functionality. Sort the devices by logical categories before showing them to user. The sort is done by functionality rather than alphabetical. Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Message-id: 1375107465-25767-3-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 949fc82314cc84162e64a5323764527a542421ce Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Date: Mon Jul 29 17:17:43 2013 +0300 hw: import bitmap operations in qdev-core header Made small tweaks in code to prevent compilation issues when importing qemu/bitmap.h in qdev-core Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx> Message-id: 1375107465-25767-2-git-send-email-marcel.a@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dbd94f8e4a0a3c4164af7be5bbf6d4e907f3cc03 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Jul 29 14:48:39 2013 +1000 spapr-vscsi: fix SOLNT bit in SRP_RSP The driver calculates SOLNT bit from UCSOLNT and SCSOLNT bits from the request. The iu pointer has a type of srp_iu* which points to a union, so cmd and rsp overlap. As the vscsi_send_rsp function calls memset(iu, 0, sizeof(rsp)), it clears first 36 bytes of both cmd and rsp so cmd.sol_not is always zero at the moment of calculating rsp.sol_not. This fixes the bug. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1375073319-17488-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c04d6cfa3f17a335942f430a3d40e6041100f0c2 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 14:33:04 2013 -0500 xics: rename types to be sane and follow coding style Basically, in HW the layout of the interrupt network is: - One ICP per processor thread (the "presenter"). This contains the registers to fetch a pending interrupt (ack), EOI, and control the processor priority. - One ICS per logical source of interrupts (ie, one per PCI host bridge, and a few others here or there). This contains the per-interrupt source configuration (target processor(s), priority, mask) and the per-interrupt internal state. Under PAPR, there is a single "virtual" ICS ... somewhat (it's a bit oddball what pHyp does here, arguably there are two but we can ignore that distinction). There is no register level access. A pair of firmware (RTAS) calls is used to configure each virtual interrupt. So our model here is somewhat the same. We have one ICS in the emulated XICS which arguably *is* the emulated XICS, there's no point making it a separate "device", that would just be gross, and each VCPU has an associated ICP. Yet we call the "XICS" struct icp_state and then the ICPs 'struct icp_server_state'. It's particularly confusing when all of the functions have xics_prefixes yet take *icp arguments. Rename: struct icp_state -> XICSState struct icp_server_state -> ICPState struct ics_state -> ICSState struct ics_irq_state -> ICSIRQState Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-12-git-send-email-aliguori@xxxxxxxxxx [aik: added ics_resend() on post_load] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e68cb8b4fa7e20e666a3bfc571a0e075733d22bd Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Jul 18 14:33:03 2013 -0500 pseries: savevm support with KVM At present, the savevm / migration support for the pseries machine will not work when KVM is enabled. That's because KVM manages the guest's hash page table in the host kernel, so qemu has no visibility of it. This patch fixes this by using new kernel interfaces to extract and reinsert the guest's hash table during the migration process. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Message-id: 1374175984-8930-11-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1112cf94c82dfc743b62b5bcb96dd20f47b683a8 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:33:02 2013 -0500 pseries: savevm support for PCI host bridge This adds the necessary support for saving the state of the PAPR virtual PCI host bridge (or host bridges). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-10-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4be21d561d59da9d6f20f872882652bc3561f871 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:33:01 2013 -0500 pseries: savevm support for pseries machine This adds the necessary pieces to implement savevm / migration for the pseries machine. The most complex part here is migrating the hash table - for the paravirtualized pseries machine the guest's hash page table is not stored within guest memory, but externally and the guest accesses it via hypercalls. This patch uses a hypervisor reserved bit of the HPTE as a dirty bit (tracking changes to the HPTE itself, not the page it references). This is used to implement a live migration style incremental save and restore of the hash table contents. Normally a hash table is 16MB but it can get bigger depending on how much RAM the guest has. Due to its nature, updates to it are random so the live migration style is used for it. In addition it adds VMStateDescription information to save and restore the (few) remaining pieces of state information needed by the pseries machine. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-9-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1168ec7da182d417125d9dea46908c0cfa2c40b7 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:33:00 2013 -0500 pseries: savevm support for PAPR virtual SCSI This patch adds the necessary support for saving the state of the PAPR VIO virtual SCSI device. This also saves and restores active SCSI requests. [aik: implemented vscsi_req save/restore] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-8-git-send-email-aliguori@xxxxxxxxxx Cc: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8ca8a17c9a16eb3b2fedb3c74687c429e9cfc6aa Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Jul 18 14:32:59 2013 -0500 pseries: rework PAPR virtual SCSI The patch reimplements handling of indirect requests in order to simplify upcoming live migration support. - all pointers (except SCSIRequest*) were replaces with integer indexes and offsets; - DMA'ed srp_direct_buf kept untouched (ie. BE format); - vscsi_fetch_desc() is added, now it is the only place where descriptors are fetched and byteswapped; - vscsi_req struct fields converted to migration-friendly types; - many dprintf()'s fixed. This also removed an unused field 'lun' from the spapr_vscsi device which is assigned, but never used. So, remove it. [David Gibson: removed unused 'lun'] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-7-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a83000f5e3fac30a7f213af1ba6a8f827622854d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 14:32:58 2013 -0500 spapr-tce: make sPAPRTCETable a proper device Model TCE tables as a device that's hooked up as a child object to the owner. Besides the code cleanup, we get a few nice benefits: 1) free actually works now (it was dead code before) 2) the TCE information is visible in the device tree 3) we can expose table information as properties such that if we change the window_size, we can use globals to keep migration working. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-6-git-send-email-aliguori@xxxxxxxxxx [dwg: pseries: savevm support for PAPR TCE tables] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> [alexey: ppc kvm: fix to compile] Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db1b58e937fd80513a4bb14432808495a5846ffe Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:32:57 2013 -0500 pseries: savevm support for PAPR VIO logical tty This patch adds the necessary VMStateDescription information to support savevm/loadvm for the spapr_tty (PAPR logical serial) device. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-5-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 686fefe48375c448bc2141973008818cd9b9c671 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:32:56 2013 -0500 pseries: savevm support for PAPR VIO logical lan This patch adds the necessary VMStateDescription information to support savevm/loadvm for the spapr_llan (PAPR logical lan) device. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-4-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b368a7d864d6f32caba4ac9fb3b9738d1180315d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 18 14:32:55 2013 -0500 pseries: savevm support for VIO devices This patch adds helpers to allow PAPR VIO devices to save state common to all VIO devices during savevm. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374175984-8930-3-git-send-email-aliguori@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a90db1584a00dc1d1439dc7729d99674b666b85e Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Jul 18 14:32:54 2013 -0500 target-ppc: Convert ppc cpu savevm to VMStateDescription The savevm code for the powerpc cpu emulation is currently based around the old register_savevm() rather than register_vmstate() method. It's also rather broken, missing some important state on some CPU models. This patch completely rewrites the savevm for target-ppc, using the new VMStateDescription approach. Exactly what needs to be saved in what configurations has been more carefully examined, too. This introduces a new version (5) of the cpu save format. The old load function is retained to support version 4 images. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1374175984-8930-2-git-send-email-aliguori@xxxxxxxxxx [aik: ppc cpu savevm convertion fixed to use PowerPCCPU instead of CPUPPCState] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b0f2027cde31c645524256763672e09eeb204a9a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:02:00 2013 +0200 dataplane: refuse to start if device is already in use Dataplane must check whether a block device is in use before launching the dataplane thread. This is necessary since the thread does not synchronize with the main loop and I/O requests could cause corruption. One example is when a drive is added and a block job is started before hotplugging the virtio-blk-pci adapter. In this case we must not use dataplane mode. Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 84db52d059f3296abf7783968645c4a96d21b099 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:01:59 2013 +0200 dataplane: enable virtio-blk x-data-plane=on live migration Although the dataplane thread does not cooperate with dirty memory logging yet it's fairly easy to temporarily disable dataplane during live migration. This way virtio-blk can live migrate when x-data-plane=on. The dataplane thread will restart after migration is cancelled or if the guest resuming virtio-blk operation after migration completes. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02edd2e7665bceb307bedd8afe625c0f7e8d7cfa Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:01:58 2013 +0200 migration: fix spice migration Commit 29ae8a4133082e16970c9d4be09f4b6a15034617 ("rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition") changed the state transitions during migration setup. Spice used to be notified with MIG_STATE_ACTIVE and it detected this using migration_is_active(). Spice is now notified with MIG_STATE_SETUP and migration_is_active() no longer works. Replace migration_is_active() with migration_in_setup() to fix spice migration. Cc: Michael R. Hines <mrhines@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9287ac271d83166f99e050a0e0a4ebd462f7eb2b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 29 15:01:57 2013 +0200 migration: notify migration state before starting thread The migration thread runs outside the QEMU global mutex when possible. Therefore we must notify migration state change *before* starting the migration thread. This allows registered listeners to act before live migration iterations begin. Therefore they can get into a state that allows for live migration. When the migration thread starts everything will be ready. Without this patch there is a race condition during migration setup, depending on whether the migration thread has already transitioned from SETUP to ACTIVE state. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b681a1c73e15e08c70c10cccd9c9f5b65cca12e8 Author: Benoît Canet <benoit@xxxxxxxxxxx> Date: Fri Jul 26 22:39:22 2013 +0200 block: Repair the throttling code. The throttling code was segfaulting since commit 02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next caller does not run in a coroutine. qemu_co_queue_do_restart assume that the caller is a coroutinne. As suggested by Stefan fix this by entering the coroutine directly. Also make sure like suggested that qemu_co_queue_next() and qemu_co_queue_restart_all() can be called only in coroutines. Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 42ec24e2851674e0899f71933e0d7d9125f31d76 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jul 19 19:51:33 2013 +0530 gluster: Add image resize support Implement .bdrv_truncate in GlusterFS block driver so that GlusterFS backend can support image resizing. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Tested-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 908c67fca4b2c12a9b2336aa9c188f84468b60b7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Jul 21 12:55:46 2013 +0400 target-xtensa: check register window inline This lowers time spent in helper_window_check as reported by perf top from ~8% to ~0.15% accelerating register-intensive tests by ~20%. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 0857a06ef784783887e756d4b7b5f874512c506c Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Jul 21 07:54:37 2013 +0400 target-xtensa: don't generate dead code to access invalid SRs This fixes the following test failure caused by access to undefined SR: qemu-system-xtensa -M sim -cpu dc232b -nographic -semihosting -kernel ./test_sr.tst QEMU 1.4.50 monitor - type 'help' for more information (qemu) QEMU 1.4.50 monitor - type 'help' for more information (qemu) qemu-system-xtensa: tcg/tcg.c:1673: temp_save: Assertion `s->temps[temp].val_type == 2 || s->temps[temp].fixed_reg' failed. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit aaa2ebc567619474d219017785b46ddc9295fffa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 6 20:41:37 2013 +0200 tests/tcg/xtensa: Fix out-of-tree build Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit a00817cc4c18b7872e92765a4736fb2227cc237b Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Mar 4 07:02:00 2013 +0400 target-xtensa: avoid double-stopping at breakpoints env->exception_taken is set every time an exception is taken. It is used to allow single-stepping to stop at the first exception handler instruction. This however must exclude debug exceptions, as otherwise first step from the instruction where breakpoint was hit stops at that same instruction. Also don't check env->exception_taken directly from the gen_intermediate_code_internal, instead allocate and use TB flag XTENSA_TBFLAG_EXCEPTION. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5739006b9ab1ae3680359db5a291eae97eef0f9f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Jan 21 18:40:04 2013 +0400 target-xtensa: add fallthrough markers Explicitly mark cases where we are deliberately falling through to the following code. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 7be9d0e6d15c2f4b1a06912128c17b4eb1f32705 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Dec 17 00:32:27 2012 +0400 target-xtensa: add extui unit test Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 9337e3b6e1d779215423d9b419d42200506deaab Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jul 26 17:09:36 2013 -0300 target-i386: Disable PMU CPUID leaf by default Bug description: QEMU currently gets all bits from GET_SUPPORTED_CPUID for CPUID leaf 0xA and passes them directly to the guest. This makes the guest ABI depend on host kernel and host CPU capabilities, and breaks live migration if we migrate between hosts with different capabilities (e.g., different number of PMU counters). Add a "pmu" property to X86CPU, and set it to true only on "-cpu host", or on pc-*-1.5 and older machine-types. For now, setting pmu=on will enable the current passthrough mode that doesn't have any ABI stability guarantees, but in the future we may implement a mode where the PMU CPUID bits are stable and configurable. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c139911261c5acc9dae56b1180db320ba25636bd Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jul 26 17:09:35 2013 -0300 target-i386: Pass X86CPU object to cpu_x86_find_by_name() This will help us change the initialization code to not require carrying some intermediate values in a x86_def_t struct (and eventually kill the x86_def_t struct entirely). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 14a10fc39923b3af07c8c46d22cb20843bee3a72 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 02:53:25 2013 +0200 cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState" Commit c643bed99 moved qemu_init_vcpu() calls to common CPUState code. This causes x86 cpu-add to fail with "KVM: setting VAPIC address failed". The reason for the failure is that CPUClass::kvm_fd is not yet initialized in the following call graph: ->x86_cpu_realizefn ->x86_cpu_apic_realize ->qdev_init ->device_set_realized ->device_reset (hotplugged == 1) ->apic_reset_common ->vapic_base_update ->kvm_apic_vapic_base_update This causes attempted KVM vCPU ioctls to fail. By contrast, in the non-hotplug case the APIC is reset much later, when the vCPU is already initialized. As a quick and safe solution, move the qemu_init_vcpu() call back into the targets' realize functions. Reported-by: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx> Acked-by: Igor Mammedov <imammedo@xxxxxxxxxx> (for i386) Tested-by: Jia Liu <proljc@xxxxxxxxx> (for openrisc) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fdc43322c978d78e79e692872dcec7b4f6a447f1 Merge: b0a71c3... 8fbab3b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 07:30:31 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-130729' into staging # By Paul Durrant (1) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-130729: Xen PV Device xen_disk: support "direct-io-safe" backend option Message-id: 1375096790-12815-1-git-send-email-stefano.stabellini@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b0a71c3b397b12db727ce483f01b3336160ef6a1 Merge: f60a0d6... 867b18d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 07:30:21 2013 -0500 Merge remote-tracking branch 'agraf/s390-for-upstream' into staging # By Alexander Graf (1) and others # Via Alexander Graf * agraf/s390-for-upstream: s390: update s390-ccw.img s390/ipl: Fix boot order s390/IPL: Allow boot from other ssid than 0 Message-id: 1375092324-23943-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f60a0d6ab9ea9ba900ba3936c3471851f28f7bc4 Merge: 200a063... f53ec69... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 29 07:30:06 2013 -0500 Merge remote-tracking branch 'sweil/w32' into staging # By Stefan Weil (10) and others # Via Aurelien Jarno (1) and Stefan Weil (1) * sweil/w32: (27 commits) w32, w64: Add build rule for installer target-mips: fix mipsdsp_mul_q31_q31 mips_malta: fix copy of the 0x1fc00000 region linux-user: correct argument number for sys_mremap and sys_splice target-mips: Remove assignment to a variable which is never used target-mips: fix mipsdsp_trunc16_sat16_round hw/mips: align initrd to 64KB to avoid kernel error pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads mips_malta: generate SMBUS EEPROM data mips_malta: cap BIOS endian swap length at 0x3e0000 bytes mips_malta: generate SPD EEPROM data at runtime mips_malta: correct reading MIPS revision at 0x1fc00010 mips_malta: fix BIOS endianness swapping mips_malta: QOM cast cleanup target-mips: fix branch in likely delay slot tcg assert target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15 target-mips: Remove assignment to a variable which is never used misc: Use g_assert_not_reached for code which is expected to be unreachable qemu-options: mention C-a h in the -nographic doc misc: Fix new typos in comments and strings ... Message-id: 1374989579-24933-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8fbab3b62a271526c782110aed0ae160eb38c296 Author: Paul Durrant <paul.durrant@xxxxxxxxxx> Date: Mon Jul 29 10:58:01 2013 +0000 Xen PV Device Introduces a new Xen PV PCI device which will act as a binding point for PV drivers for Xen. The device has parameterized vendor-id, device-id and revision to allow to be configured as a binding point for any vendor's PV drivers. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 454ae734f1d9f591345fa78376435a8e74bb4edd Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jul 29 10:56:38 2013 +0000 xen_disk: support "direct-io-safe" backend option Support backend option "direct-io-safe". This is documented as follows in the Xen backend specification: * direct-io-safe * Values: 0/1 (boolean) * Default Value: 0 * * The underlying storage is not affected by the direct IO memory * lifetime bug. See: * http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html * * Therefore this option gives the backend permission to use * O_DIRECT, notwithstanding that bug. * * That is, if this option is enabled, use of O_DIRECT is safe, * in circumstances where we would normally have avoided it as a * workaround for that bug. This option is not relevant for all * backends, and even not necessarily supported for those for * which it is relevant. A backend which knows that it is not * affected by the bug can ignore this option. * * This option doesn't require a backend to use O_DIRECT, so it * should not be used to try to control the caching behaviour. Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the default flags passed to the qemu block layer. The original proposal for a "cache" backend option has been dropped because it was believed too wide, especially considering that at the moment the backend doesn't have a way to tell the toolstack that it is capable of supporting it. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> commit 867b18db2155c0c99ab767c4ac563e144c85871d Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jun 24 14:56:51 2013 +0200 s390: update s390-ccw.img This enables the following patches: s390/IPL: Allow boot from other ssid than 0 s390/ipl: Fix spurious errors in virtio Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5c8ded6ef55761e80353f42d8e59c6e233a2f51a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Jun 18 14:31:52 2013 +0200 s390/ipl: Fix boot order The latest ipl code adaptions collided with some of the virtio refactoring rework. This resulted in always booting the first disk. Let's fix booting from a given ID. The new code also checks for command lines without bootindex to avoid random behaviour when accessing dev_st (==0). Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c8cda8748eceeeb06f1952e7e765a0919103644d Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 17 14:29:42 2013 +0200 s390/IPL: Allow boot from other ssid than 0 We now take the subchannel set id also into account to find the boot device. If we want to use a subchannel set other than the default set 0, we first need to enable the mss facility. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f53ec6999287bfdc4f0dfdb6427baa1853f8952a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jul 15 23:49:57 2013 +0200 w32, w64: Add build rule for installer The new rules in Makefile allow building installers for QEMU on Windows using NSIS, a package which is also available for Linux distributions (so cross builds are possible). The rules for NSIS are in qemu.nsi which also uses two new images. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit 461bdb3414c40d6806194bf68c91521496b1042d Merge: b6a9f46... 6c86f40... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Jul 29 09:03:23 2013 +0200 Merge branch 'trivial-patches' of git://git.corpit.ru/qemu * 'trivial-patches' of git://git.corpit.ru/qemu: target-mips: Remove assignment to a variable which is never used misc: Use g_assert_not_reached for code which is expected to be unreachable qemu-options: mention C-a h in the -nographic doc misc: Fix new typos in comments and strings linux-user: correct argument number for sys_mremap and sys_splice PPC: dbdma: macio: Fix format specifiers (build regression) watchdog: Remove break after exit exec: Remove env from list of poisoned names hw/9pfs: Fix potential memory leak and avoid reuse of freed memory timer: make timers_state static aes: Remove unused code (NDEBUG, u16) commit b6a9f4682e62c686995cc1a1fe2ef4a57a92020b Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 29 04:06:12 2013 +0200 target-mips: fix mipsdsp_mul_q31_q31 Multiplication of two fractional word elements is not correct when sign extension/promotion is needed. This change fixes it by adding correct casts from unsigned to signed values. In addition, the tests (dpaq_sa_l_w.c and dpsq_sa_l_w.c) have been extended to trigger the current issue. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f05d4d94d6bb0e240e6cfda65972fd86601f9f0d Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Jul 29 07:00:29 2013 +0200 mips_malta: fix copy of the 0x1fc00000 region Copy the whole 0x1fe000000 region into 0x1fc00000, independently of the loaded BIOS size. This fix the MIPS make check tests. Reported-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit b0932e0617c65ae1cb0362416ec0ef32766abf5d Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Tue Jul 23 19:00:10 2013 +0200 linux-user: correct argument number for sys_mremap and sys_splice sys_mremap missed 5th argument (new_address), which caused examples that remap to a specific address to fail. sys_splice missed 5th and 6th argument which caused different examples to fail. This change has an effect on MIPS target only. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d2e46d59cac7d8259bf80abcddfebde87014d610 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 22:10:31 2013 +0200 target-mips: Remove assignment to a variable which is never used This assignment causes a compiler warning for compilations with the compiler option -Wunused-but-set-variable (which is included with -Wextra). Removing it allows using -Wextra for QEMU code without suppressing too many extra warnings. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d36c231f4b7386bd8230aa17d362b925aa419b2f Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 1 01:54:47 2013 +0200 target-mips: fix mipsdsp_trunc16_sat16_round This change corrects rounding and saturation of Q31 fractional value in mipsdsp_trunc16_sat16_round(). Overflow detection was incorrect for the corner case for PRECRQ_RS.PH, and this test case is also part of the change. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 05b3274b6bedb68ff78b76c642e17e97f3181c2f Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jun 27 08:35:27 2013 +0100 hw/mips: align initrd to 64KB to avoid kernel error The Linux kernel can be configured to use 64KB pages, but it also requires initrd to be page aligned. Therefore, to be safe, align the initrd to 64KB using a new INITRD_PAGE_MASK rather than TARGET_PAGE_MASK. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ea0a4f34418c9f2cad9722bb27acd6349148fac0 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:48 2013 +0100 pflash_cfi01: duplicate status byte from bits 23:16 for 32bit reads The firmware commonly used with MIPS Malta boards (YAMON) reads the status of the pflash with a 32bit memory access. On real hardware this results in the status byte being mirrored in the upper 16 bits of the read value. For example if the status byte is represented by SS then the hardware reads 0x00SS00SS. The YAMON firmware compares the status against 32bit values expecting the mirrored value and fails without it. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 35c648078aa493c3b976840eb7cf2e53ab5b7a2d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:47 2013 +0100 mips_malta: generate SMBUS EEPROM data The malta contains 2 EEPROMs, one containing SPD data for the SDRAM and another containing board information such as serial number and MAC address. These are both exposed via the PIIX4 SMBUS. Generating this data and providing it to smbus_eeprom_init will allow YAMON to read a serial number for the board and prevent it from warning that the EEPROM data is invalid. We already have the contents of the SPD EEPROM which are exposed via FPGA I2C accesses, this is provided as part of the SMBUS EEPROM data too for consistency. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 1817f56a834f55311af20d1c004b259c16fb1515 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:46 2013 +0100 mips_malta: cap BIOS endian swap length at 0x3e0000 bytes This preserves the final sector of the pflash which is used by YAMON to hold environment variables. If the endianness of the environment data is swapped then YAMON will fail to load environment variables from pflash. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 02bccc7796fec8b39dca9affc8bff8edebe0a867 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:45 2013 +0100 mips_malta: generate SPD EEPROM data at runtime The SPD EEPROM specifies the amount of memory present in the system and thus its correct contents can only be known at runtime. Calculating parts of the data on init allows the data to accurately reflect the amount of target memory present and allow YAMON to boot with an arbitrary amount of SDRAM. Where possible the SPD data will favor indicating 2 banks of SDRAM rather than 1. For example the default 128MB of target memory will be represented as 2x64MB banks rather than 1x128MB bank. This allows versions of MIPS BIOS code (such as YAMON 2.22 and older) to boot despite a bug preventing them from handling a single bank of SDRAM with the Galileo GT64120 system controller emulated by QEMU. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a427338b222b43197c2776cbc996936df0302f51 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:44 2013 +0100 mips_malta: correct reading MIPS revision at 0x1fc00010 Rather than modifying the BIOS code at its original location, copy it for the 0x1fc00000 region & modify the copy. This means the original ROM code is correctly readable at 0x1e000010 whilst the MIPS revision is readable at 0x1fc00010. Additionally the code previously operated on target memory which would later be overwritten by the BIOS image upon CPU reset if the -bios argument was used to specify the BIOS image. This led to the written MIPS revision being lost. Copying using rom_copy when -bios is used fixes this issue. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a2b8813d62fa5a35adc1a7bf58de5b2ffb754f5d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jun 14 08:30:43 2013 +0100 mips_malta: fix BIOS endianness swapping If the target is little endian (mipsel) then the BIOS image endianness is swapped so that the big endian BIOS binaries commonly produced can be loaded correctly. When using the -bios argument the BIOS is loaded using load_image_targphys, however this doesn't perform the load to target memory immediately. Instead it loads the BIOS file into a struct Rom which will later be written to target memory upon reset. However the endianness conversion was being performed before this, on init, and operating on the target memory which at this point is blank & will later be overwritten by the (big endian) BIOS image. Correct this by operating on the data referenced by struct Rom rather than the target memory when the -bios argument is used. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Leon Alrae <leon.alrae@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit cba5cb67becd66f8eae4177c4f95756f3f9bb77a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 27 22:19:54 2013 +0200 mips_malta: QOM cast cleanup Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 240ce26a0533a6e5ee472789fbfbd9f7f939197e Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Jun 24 17:45:39 2013 +0100 target-mips: fix branch in likely delay slot tcg assert When a branch delay slot contains another branch instruction, the code generated raises an exception, however since is_branch==1, handle_delay_slot() doesn't get called immediately. This means ctx->bstate isn't set to BS_BRANCH, and the decoder continues decoding until a non-branch instruction is found. If the first branch was a branch likely instruction then each instruction after it generates code for the unlikely case, to go to the next tb starting after the delay slot. This results in multiple goto_tb tcg ops being generated with the same exit number. When debug is enabled this hits: tcg-op.h:2589: tcg_gen_goto_tb: Assertion `(tcg_ctx.goto_tb_issue_mask & (1 << idx)) == 0' failed. This is fixed by removing is_branch entirely, and calling handle_delay_slot() if (ctx.hflags & MIPS_HFLAG_BMASK) was set prior to the current instruction being decoded. This still prevents handle_delay_slot() being called immediately after a branch but allows it to still be called after a branch within a delay slot. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 4877866ee4fbd760c943577bb6d1eba489fb6c6e Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Thu May 23 19:37:53 2013 +0200 target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15 Multiplication of Q15 fractional halfword vectors was incorrect in the previous implementation of mipsdsp_rndq15_mul_q15_q15. It failed to take element signs into account. This change fixes it, and it adds a test case for it. The change also removes unnecessary cast in the function mipsdsp_mul_q15_q15_overflowflag21(). Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 6c86f405efd6532b58ad1b607cc9f11e856ef5ca Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 22:10:31 2013 +0200 target-mips: Remove assignment to a variable which is never used This assignment causes a compiler warning for compilations with the compiler option -Wunused-but-set-variable (which is included with -Wextra). Removing it allows using -Wextra for QEMU code without suppressing too many extra warnings. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dfc6f86567c58bc4dd02f4db098fc4c2221e85b5 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 18:21:28 2013 +0200 misc: Use g_assert_not_reached for code which is expected to be unreachable The macro g_assert_not_reached is a better self documenting replacement for assert(0) or assert(false). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit b031f413b9e68899032f04fc05fd0a6b62039b2b Author: Ramkumar Ramachandra <artagnon@xxxxxxxxx> Date: Sat Jul 20 16:53:09 2013 +0530 qemu-options: mention C-a h in the -nographic doc Otherwise, a new user will be wondering how to switch between the console and monitor. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 52f350227f737b649f09e56ed32eaf1265605611 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jul 24 19:48:56 2013 +0200 misc: Fix new typos in comments and strings All these typos were found by codespell. sould -> should emperical -> empirical intialization -> initialization successfuly -> successfully gaurantee -> guarantee Fix also another error (before before) in the same context. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 6064be7912ab262f0abd85ad042fafd435ad6651 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Tue Jul 23 19:00:10 2013 +0200 linux-user: correct argument number for sys_mremap and sys_splice sys_mremap missed 5th argument (new_address), which caused examples that remap to a specific address to fail. sys_splice missed 5th and 6th argument which caused different examples to fail. This change has an effect on MIPS target only. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 04dd125942b11136a8c96d36591ad043b8653a7b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 12 18:48:39 2013 +0200 PPC: dbdma: macio: Fix format specifiers (build regression) Fix a number of warnings for 32 bit builds (tested on MingW and Linux): CC hw/ide/macio.o qemu/hw/ide/macio.c: In function 'pmac_ide_atapi_transfer_cb': qemu/hw/ide/macio.c:134:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format] qemu/hw/ide/macio.c: In function 'pmac_ide_transfer_cb': qemu/hw/ide/macio.c:215:5: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'int64_t' [-Werror=format] qemu/hw/ide/macio.c:222:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format] qemu/hw/ide/macio.c:264:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'hwaddr' [-Werror=format] cc1: all warnings being treated as errors make: *** [hw/ide/macio.o] Error 1 Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f6019e5fada012f7f396c89968f2c242f92f40df Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jul 23 06:46:49 2013 +0200 watchdog: Remove break after exit This was dead code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 0dd60ae2f4efd2966e8d6cb7db653d5d17a68c62 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jul 21 16:43:14 2013 +0200 exec: Remove env from list of poisoned names The global variable env was removed some time ago, so this name may be used without any restriction now. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 80cba1b71eb9a75404d1effddec8ffa9f0d6d6fb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 12:14:36 2013 +0200 hw/9pfs: Fix potential memory leak and avoid reuse of freed memory The leak was reported by cppcheck. Function proxy_init also calls g_free for ctx->fs_root. Avoid reuse of this memory by setting ctx->fs_root to NULL. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d9cd4007d5c7e877a006392eeafb2291f06d6685 Author: Liu Ping Fan <qemulist@xxxxxxxxx> Date: Sun Jul 21 08:43:00 2013 +0000 timer: make timers_state static Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 9220eeed62e06e115c83e6ffed24907c24c99197 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jun 29 15:10:48 2013 +0000 aes: Remove unused code (NDEBUG, u16) The current code includes assert.h very early (from qemu-common.h), so the definition of NDEBUG was without any effect. In the initial version from 2004, NDEBUG was used to disable the assertions. Those assertions are not in time critical code, so it is no longer reasonable to disable them and the definition of NDEBUG can be removed. Type u16 is also unused and therefore does not need a type definition. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 200a06397f5d3e982028fd78b25b420507ade021 Merge: b96919e... 5b24c64... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 17:53:19 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix cpu_memory_rw_debug() breakage in s390x KVM * Replace final CPUArchState in sysemu/kvm.h * Introduce model subclasses for XtensaCPU * Introduce CPUClass::gdb_num[_core]_regs * Introduce CPUClass::gdb_core_xml_file * Introduce CPUClass::gdb_{read,write}_register() * Propagate CPUState further in gdbstub # gpg: Signature made Fri 26 Jul 2013 05:04:28 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (23) and others # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: (25 commits) cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML target-cris: Factor out CPUClass::gdb_read_register() hook for v10 cpu: Introduce CPUClass::gdb_{read,write}_register() gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions target-xtensa: Move cpu_gdb_{read,write}_register() target-lm32: Move cpu_gdb_{read,write}_register() target-s390x: Move cpu_gdb_{read,write}_register() target-alpha: Move cpu_gdb_{read,write}_register() target-cris: Move cpu_gdb_{read,write}_register() target-microblaze: Move cpu_gdb_{read,write}_register() target-sh4: Move cpu_gdb_{read,write}_register() target-openrisc: Move cpu_gdb_{read,write}_register() target-mips: Move cpu_gdb_{read,write}_register() target-m68k: Move cpu_gdb_{read,write}_register() target-arm: Move cpu_gdb_{read,write}_register() target-sparc: Move cpu_gdb_{read,write}_register() target-ppc: Move cpu_gdb_{read,write}_register() target-i386: Move cpu_gdb_{read,write}_register() cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs gdbstub: Drop dead code in cpu_gdb_{read,write}_register() ... commit 5b24c64188b8253e2f004191c7e8d4a799f90eaa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 15:08:22 2013 +0200 cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML Replace the GDB_CORE_XML define in gdbstub.c with a CPUClass field. Use first_cpu for qSupported and qXfer:features:read: for now. Add a stub for xml_builtin. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90431220be42d773084d88635961a45febb01c5d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 14:39:41 2013 +0200 target-cris: Factor out CPUClass::gdb_read_register() hook for v10 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5b50e790f9e9403d11b4164193b76530ee85a2a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jun 29 04:18:45 2013 +0200 cpu: Introduce CPUClass::gdb_{read,write}_register() Completes migration of target-specific code to new target-*/gdbstub.c. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 986a2998932e978e63fc3b7ead1fef81f7aad52e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 13:05:05 2013 +0200 gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions This avoids polluting the global namespace with a non-prefixed macro and makes it obvious in the call sites that we return. Semi-automatic conversion using, e.g., sed -i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target-*/gdbstub.c followed by manual tweaking for sparc's GET_REGA() and Coding Style. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 25d8ac0e31c3c68dfdd6da7c33b87870b4a3b623 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:57:38 2013 +0200 target-xtensa: Move cpu_gdb_{read,write}_register() Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d0ff8d056d3aab93b4a7b7910f938652c2febc77 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:55:44 2013 +0200 target-lm32: Move cpu_gdb_{read,write}_register() Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cfae5c905a29128372e1f8ec4a29d70e1361d07b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:54:12 2013 +0200 target-s390x: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c3ce8eb3c50272d81bfea30ae9a9bd959fd68a54 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:52:32 2013 +0200 target-alpha: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 213c19d69fb9c7537afb8539bbdf12dba90ba0ef Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:50:22 2013 +0200 target-cris: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eabfc2398f3e4e553843c15b1e3a3af2a52a7fcb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:45:47 2013 +0200 target-microblaze: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2f93773241f99457a0957a43b2490be6f594cfa7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:42:52 2013 +0200 target-sh4: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 30028739eb6b2e95b94b957f3b4f8f258da3aa88 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:40:38 2013 +0200 target-openrisc: Move cpu_gdb_{read,write}_register() Reviewed-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b96919e068388309b655c7dc1afa41706d728efd Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Fri Jul 26 21:42:51 2013 +0100 sun4m: add display width and height to the firmware configuration Currently the graphics resolution for TCX is fixed at 1024x768, however other framebuffers are capable of supporting additional resolutions. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> CC: Anthony Liguori <aliguori@xxxxxxxxxx> CC: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 405c97c3a5950d8a49b90cb977e33b6b3f9a8f95 Merge: 2fb861e... e340936... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 16:54:19 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (16) and Ian Main (2) # Via Kevin Wolf * kwolf/for-anthony: Add tests for sync modes 'TOP' and 'NONE' Implement sync modes for drive-backup. Implement qdict_flatten() blockdev: Split up 'cache' option blockdev: Rename 'readonly' option to 'read-only' qcow2: Use dashes instead of underscores in options blockdev: Rename I/O throttling options for QMP QemuOpts: Add qemu_opt_unset() block: Allow "driver" option on the top level qapi: Anonymous unions qapi.py: Maintain a list of union types qapi: Add consume argument to qmp_input_get_object() qapi: Flat unions with arbitrary discriminator qapi: Add visitor for implicit structs docs: Document QAPI union types qapi-visit.py: Implement 'base' for unions qapi-visit.py: Split off generate_visit_struct_fields() qapi-types.py: Implement 'base' for unions Message-id: 1374870032-31672-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2fb861eb02f0955876e15b3de1f9c2d1f469dcf2 Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 22 15:33:37 2013 -0300 seccomp: removing unused syscalls gtom whitelist v3 update: - reincluding getrlimit(), it is used by Xen. v2 update: - reincluding setrlimit(), it is used by Xen. Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1374518017-10424-3-git-send-email-otubo@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d7b2ad43603d6c130b64bdc064bb8572505bb25 Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 22 15:33:36 2013 -0300 seccomp: no need to check arch in syscall whitelist v2 update: - set libseccomp 2.1.0 as requirement on configure script. Since libseccomp 2.0 there's no need to check the architecture type anymore. Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1374518017-10424-2-git-send-email-otubo@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 814ac26c2d3820b85f05b696735d4e1e6d7d05aa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:38:42 2013 +0200 target-mips: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c88de14ca45257feb82e23f3ff07e861010bd5ba Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:33:56 2013 +0200 target-m68k: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 58850dad68f3458cf430395db2e016f1d03ad7de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:32:15 2013 +0200 target-arm: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d19c87f44d8d7bac48d4b35863ae825f872ed54a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:29:26 2013 +0200 target-sparc: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0980bfabbc2e93d42c6b5ade578b371c36f6f23d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:26:33 2013 +0200 target-ppc: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f20f9df06e6f724d2ccdaf5f9a6dae45c061db75 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 12:07:54 2013 +0200 target-i386: Move cpu_gdb_{read,write}_register() Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 23:18:47 2013 +0200 cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs CPUState::gdb_num_regs replaces num_g_regs. CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS. Allows building gdb_register_coprocessor() for xtensa, too. As a side effect this should fix coprocessor register numbering for SMP. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19a77215f1ba966c4d37dadec45f38be789b8529 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 11:52:52 2013 +0200 gdbstub: Drop dead code in cpu_gdb_{read,write}_register() GET_REG*() macros include a return statement, thus no need for break. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 47d74ef57a0fe66fa2fdcce46b4daec4f60a1fc8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 11:17:26 2013 +0200 gdbstub: Fix cpu_gdb_{read,write}_register() Coding Style Add braces, replace tabs, remove trailing whitespace, drop space before parenthesis and place break etc. below case statements. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 67cce5617ee968946fc6402f02743fffaa4a1a02 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 7 01:47:51 2013 +0200 target-xtensa: Introduce XtensaCPU subclasses Register a CPU type per core registered. Save the XtensaConfig in XtensaCPUClass and copy it from there to CPUXtensaState, to avoid touching every env->config access for now. Prepares for storing per-class GDB register count. Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9282b73a4078f10b5d1c96707aeed213eedbc8e1 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jul 26 17:48:06 2013 +0200 target-s390x: Fix CPUState rework fallout Commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e exec: Change cpu_memory_rw_debug() argument to CPUState missed to update s390x KVM code, breaking the build. Let's fix it up. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38e478eccfb1ace415914a331c8e1b16ae64b57f Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jul 25 20:50:21 2013 +0200 kvm: Change prototype of kvm_update_guest_debug() Passing a CPUState pointer instead of a CPUArchState pointer eliminates the last target dependent data type in sysemu/kvm.h. It also simplifies the code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0ac46af39ee84461782b6f096ba1a165c7b0e503 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jul 26 16:42:25 2013 +0200 linux-user: Avoid redundant ENV_GET_CPU() This fixes a mismerge in 874ec3c5b3821bb964f9f37b2f930f2a9ce51652. Acked-by: Riku Voipio <riku.voipio@xxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e3409362bd64731e042c9d001e43cc1d13d2df5d Author: Ian Main <imain@xxxxxxxxxx> Date: Fri Jul 26 11:39:05 2013 -0700 Add tests for sync modes 'TOP' and 'NONE' This patch adds tests for sync modes top and none. Test for 'TOP' is separated out as it requires a backing file. Also added a test for invalid format. Signed-off-by: Ian Main <imain@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit fc5d3f843250c9d3bfa2bcfdb7369f4753a49f0e Author: Ian Main <imain@xxxxxxxxxx> Date: Fri Jul 26 11:39:04 2013 -0700 Implement sync modes for drive-backup. This patch adds sync-modes to the drive-backup interface and implements the FULL, NONE and TOP modes of synchronization. FULL performs as before copying the entire contents of the drive while preserving the point-in-time using CoW. NONE only copies new writes to the target drive. TOP copies changes to the topmost drive image and preserves the point-in-time using CoW. For sync mode TOP are creating a new target image using the same backing file as the original disk image. Then any new data that has been laid on top of it since creation is copied in the main backup_run() loop. There is an extra check in the 'TOP' case so that we don't bother to copy all the data of the backing file as it already exists in the target. This is where the bdrv_co_is_allocated() is used to determine if the data exists in the topmost layer or below. Also any new data being written is intercepted via the write_notifier hook which ends up calling backup_do_cow() to copy old data out before it gets overwritten. For mode 'NONE' we create the new target image and only copy in the original data from the disk image starting from the time the call was made. This preserves the point in time data by only copying the parts that are *going to change* to the target image. This way we can reconstruct the final image by checking to see if the given block exists in the new target image first, and if it does not, you can get it from the original image. This is basically an optimization allowing you to do point-in-time snapshots with low overhead vs the 'FULL' version. Since there is no old data to copy out the loop in backup_run() for the NONE case just calls qemu_coroutine_yield() which only wakes up after an event (usually cancel in this case). The rest is handled by the before_write notifier which again calls backup_do_cow() to write out the old data so it can be preserved. Signed-off-by: Ian Main <imain@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f660dc6a2e97756596b2e79ce6127a3034f2308b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 8 17:11:58 2013 +0200 Implement qdict_flatten() qdict_flatten(): For each nested QDict with key x, all fields with key y are moved to this QDict and their key is renamed to "x.y". This operation is applied recursively for nested QDicts. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 29c4e2b50d95f4a15c3dd62b39f3402f05a34907 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Jul 18 16:31:25 2013 +0200 blockdev: Split up 'cache' option The old 'cache' option really encodes three different boolean flags into a cache mode name, without providing all combinations. Make them three separate options instead and translate the old option to the new ones for drive_init(). The specific boolean options take precedence if the old cache option is specified as well, so the following options are equivalent: -drive file=x,cache=none,cache.no-flush=true -drive file=x,cache.writeback=true,cache.direct=true,cache.no-flush=true Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 0f227a947004aa9043d4386f4a47d6739499b88f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 19 20:07:29 2013 +0200 blockdev: Rename 'readonly' option to 'read-only' Option name cleanup before it becomes a QMP API. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 64aa99d3e0333dea73d7505190659a02ca909292 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 17 14:45:34 2013 +0200 qcow2: Use dashes instead of underscores in options This is what QMP wants to use. The options haven't been enabled in any release yet, so we're still free to change them. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 57975222b6a928dd4a4a8a7b37093cc8ecba5045 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 17 14:41:54 2013 +0200 blockdev: Rename I/O throttling options for QMP In QMP, we want to use dashes instead of underscores in QMP argument names, and use nested options for throttling. The new option names affect the command line as well, but for compatibility drive_init() will convert the old option names before calling into the code that will be shared between -drive and blockdev-add. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 0dd6c5266313c861cf36476da86599d368ec41fc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 17 14:40:37 2013 +0200 QemuOpts: Add qemu_opt_unset() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 74fe54f2a1b5c4f4498a8fe521e1dfc936656cd4 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 9 11:09:02 2013 +0200 block: Allow "driver" option on the top level This is traditionally -drive format=..., which is now translated into the new driver option. This gives us a more consistent way to select the driver of BlockDriverStates that can be used in QMP context, too. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 69dd62dfd60631ba69201d8a197fde1ece4b4df3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 8 16:14:21 2013 +0200 qapi: Anonymous unions The discriminator for anonymous unions is the data type. This allows to have a union type that allows both of these: { 'file': 'my_existing_block_device_id' } { 'file': { 'filename': '/tmp/mydisk.qcow2', 'read-only': true } } Unions like this are specified in the schema with an empty dict as discriminator. For this example you could take: { 'union': 'BlockRef', 'discriminator': {}, 'data': { 'definition': 'BlockOptions', 'reference': 'str' } } { 'type': 'ExampleObject', 'data: { 'file': 'BlockRef' } } Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit ea66c6d8819c8fc5f73a28554992be64e5399fed Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 16 10:49:41 2013 +0200 qapi.py: Maintain a list of union types Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit e8316d7e8e8339a9ea593ba821a0aad26908c0d5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 8 11:33:07 2013 +0200 qapi: Add consume argument to qmp_input_get_object() This allows to just look at the next element without actually consuming it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 50f2bdc75c5ee00617ad874c9ceac2cea660aa1e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 3 15:58:57 2013 +0200 qapi: Flat unions with arbitrary discriminator Instead of the rather verbose syntax that distinguishes base and subclass fields... { "type": "file", "read-only": true, "data": { "filename": "test" } } ...we can now have both in the same namespace, allowing a more direct mapping of the command line, and moving fields between the common base and subclasses without breaking the API: { "driver": "file", "read-only": true, "filename": "test" } Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 761d524dbcc5bb41213dd0f238f43c273bc2b077 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 3 15:52:42 2013 +0200 qapi: Add visitor for implicit structs These can be used when an embedded struct is parsed and members not belonging to the struct may be present in the input (e.g. parsing a flat namespace QMP union, where fields from both the base and one of the alternative types are mixed in the JSON object) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 51631493e4876081ae27078b50bd95bd4418bf37 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 16 13:17:27 2013 +0200 docs: Document QAPI union types Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 0aef92b90d24858eea1ebd52a51bc31563f1fb52 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 2 16:20:04 2013 +0200 qapi-visit.py: Implement 'base' for unions This implements the visitor part of base types for unions. Parsed into QMP, this example schema definition... { 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } } { 'type': 'BlockOptionsQcow2, 'data': { 'lazy-refcounts': 'bool' } } { 'union': 'BlockOptions', 'base': 'BlockOptionsBase', 'data': { 'raw': 'BlockOptionsRaw' 'qcow2': 'BlockOptionsQcow2' } } ...would describe the following JSON object: { "type": "qcow2", "read-only": true, "data": { "lazy-refcounts": false } } Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit d131c897f3dea8b76d7a487af0f7f5f11d0500a3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 2 16:18:35 2013 +0200 qapi-visit.py: Split off generate_visit_struct_fields() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit e2503f5e213e30e3e9a397d454a35c10b5bdc899 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 2 12:18:47 2013 +0200 qapi-types.py: Implement 'base' for unions The new 'base' key in a union definition refers to a struct type, which is inlined into the union definition and can represent fields common to all kinds. For example the following schema definition... { 'type': 'BlockOptionsBase', 'data': { 'read-only': 'bool' } } { 'union': 'BlockOptions', 'base': 'BlockOptionsBase', 'data': { 'raw': 'BlockOptionsRaw' 'qcow2': 'BlockOptionsQcow2' } } ...would result in this generated C struct: struct BlockOptions { BlockOptionsKind kind; union { void *data; BlockOptionsRaw * raw; BlockOptionsQcow2 * qcow2; }; bool read_only; }; Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f0ef1cf4d6c996d90df6e4a32a82423d180f3e4d Merge: b142d79... f290e49... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 13:04:21 2013 -0500 Merge remote-tracking branch 'rth/tcg-next' into staging # By Claudio Fontana (1) and others # Via Richard Henderson * rth/tcg-next: tcg: Remove temp_buf tcg/aarch64: Implement tlb lookup fast path tcg/aarch64: implement ldst 12bit scaled uimm offset Message-id: 1373919944-8521-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b142d79328cd0a0556634b0eeb891a15bfd5a00c Merge: 003e26b... 9b146e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 26 13:04:07 2013 -0500 Merge remote-tracking branch 'jliu/or32' into staging # By Jia Liu # Via Jia Liu * jliu/or32: target-openrisc: Free typename in openrisc_cpu_class_by_name hw/openrisc: Use stderr output instead of qemu_log hw/openrisc: Indent typo Message-id: 1374576458-22808-1-git-send-email-proljc@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 003e26bc9f7c4f5cd90e046ae112c1d09363b8d1 Merge: d1ed9f4... 340d51d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 25 15:58:29 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-2013-7-25' into staging # By Laszlo Ersek # Via Michael Roth * mdroth/qga-pull-2013-7-25: qga: escape cmdline args when registering win32 service (CVE-2013-2231) ga_install_service(): nest error paths more idiomatically qga/service-win32.c: diagnostic output should go to stderr Message-id: 1374784644-29078-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx commit d1ed9f412d866106e6370e9a8b23d79baa750b61 Merge: 874ec3c... 41b8280... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 25 15:56:36 2013 -0500 Merge remote-tracking branch 'kraxel/seabios-1.7.3' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.3: seabios: update to 1.7.3 Message-id: 1374673573-25074-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 874ec3c5b3821bb964f9f37b2f930f2a9ce51652 Merge: d2f5ea9... a033381... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 25 15:56:06 2013 -0500 Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging * riku/linux-user-for-upstream: (21 commits) linux-user: Handle compressed ISA encodings when processing MIPS exceptions linux-user: Unlock mmap_lock when resuming guest from page_unprotect linux-user: Reset copied CPUs in cpu_copy() always linux-user: Fix epoll on ARM hosts linux-user: fix segmentation fault passing with h2g(x) != x linux-user: Fix pipe syscall return for SPARC linux-user: Fix target_stat and target_stat64 for OpenRISC linux-user: Avoid conditional cpu_reset() configure: Make NPTL non-optional linux-user: Enable NPTL for x86-64 linux-user: Add i386 TLS setter linux-user: Clean up handling of clone() argument order linux-user: Add missing 'break' in i386 get_thread_area syscall linux-user: Enable NPTL for m68k linux-user: Enable NPTL for SPARC targets linux-user: Enable NPTL for OpenRISC linux-user: Move includes of target-specific headers to end of qemu.h configure: Enable threading for unicore32-linux-user configure: Enable threading on all ppc and mips linux-user targets configure: Don't say target_nptl="no" if there is no linux-user target ... Conflicts: linux-user/main.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 340d51df5592c5c11fc3885f7bdedbe581b87366 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Jul 3 15:14:10 2013 +0200 qga: escape cmdline args when registering win32 service (CVE-2013-2231) Reported-by: Lev Veyde <lveyde@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 108365fdb0042454413d2610ffe7194003ba4ae9 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Jul 3 15:14:09 2013 +0200 ga_install_service(): nest error paths more idiomatically Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit febf1c49be1bd80d7c95653fc0caa87d250b2c72 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Jul 3 15:14:08 2013 +0200 qga/service-win32.c: diagnostic output should go to stderr Acked-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d2f5ea9704af781d4cf14e4be08bb4e37a180260 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:38 2013 +0200 pc-testdev: add I/O port to test memory.c auto split/combine The ports at 0xe8..0xeb have impl.min/max_access_size == 1, so that memory accesses are split and combined by the memory core. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-29-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e7342aa39b3193473ded24cbf2233930665796e9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:37 2013 +0200 memory: check memory region endianness, not target's When combining multiple accesses into a single value, we need to do so in the device's desired endianness. The target endianness does not have any influence. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-28-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 547e9201c52629eef71b0eb8cb48dacc50bcf759 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:36 2013 +0200 memory: pass MemoryRegion to access_with_adjusted_size The accessors all use a MemoryRegion opaque value. Avoid going uselessly through void*. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-27-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e11ef3d184c88a316f48ba2472dcb2937d9fa24b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:35 2013 +0200 memory: move functions around Prepare for next patch, no semantic change. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-26-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8fefa31be98ada3677add2008732d0b1a17ed28d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:34 2013 +0200 qtest: add test for ISA I/O space endianness This writes a register and reads its 1/2/4 byte parts. Masking is done in the device model. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-25-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9c9984242ce46ccf8636f5c19e81d794e84aa0c7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:33 2013 +0200 default-configs/ppc64: add all components of i82378 SuperIO chip used by prep The device provides an ISA bus so that pseries can also run the endianness test. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-24-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 85d3846a397e8fa95de0a84479007172e6d30668 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:32 2013 +0200 default-configs: add SuperIO to SH4 The device provides an ISA bus to run the endianness test on. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-23-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be6d08be25d38185ab7de02fab1b2ac74991741b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:31 2013 +0200 default-configs: add test device to all machines supporting ISA This will let these machines run an endianness test for ISA I/O port space. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-22-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b8fbcd87007a170a9778ec6645c06f543977067 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:30 2013 +0200 sparc64: unbreak ... by making apb a subclass of TYPE_PCI_HOST_BRIDGE. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-21-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b23ea25f5098f576d10a8833bc60b8f8394f9b0b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:29 2013 +0200 sh4: unbreak r2d ... by making sh_pci a subclass of TYPE_PCI_HOST_BRIDGE. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-20-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b332d24a8e1290954029814d09156b06ede358e2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:28 2013 +0200 mips: degrade BIOS error to warning No free MIPS BIOS is available, so it makes little sense to quit. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-19-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 504054357b7e491e0bc354ee5c8061071e51fc61 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:27 2013 +0200 pc-testdev: remove useless cpu_to_le64/le64_to_cpu So far the device was only used on little-endian machines. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-18-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b7faba71635cc4b16bb1472614aa497554797af6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:26 2013 +0200 pc-testdev: support 8 and 16-bit accesses to 0xe0 This will let us use the testdev to test endianness. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-17-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f36a6382b8fb9677fd542b9c59b1ea1ad40ee9cf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:25 2013 +0200 Revert "ioport: remove LITTLE_ENDIAN mark for portio" This reverts commit c3cb8e77804313e1be99b5f28a34a346736707a5. The scenario where I/O ports are accessed with DEVICE_LITTLE_ENDIAN endianness now works and will soon be unit tested. Since the PortioList indirection assumes little endian, define portio_ops the same way. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-16-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 61fcb628627ea464dc1954f615ae13edfefd284f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:24 2013 +0200 isa_mmio: delete It is not used anymore. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-15-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0a70e094cd05c35dddfe471fd96266d02ac0dade Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:23 2013 +0200 ebus: do not use isa_mmio This is untested, because ebus does not have a libqos module. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-14-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5519ad0c245860526e8d269e1cd20fe239447736 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:22 2013 +0200 sparc64: remove indirection for I/O port access This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-13-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e37b80faa60c81e958d560c937e5f29b13977627 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:21 2013 +0200 mips_fulong2e: do not use isa_mmio This board is little-endian, but still isa_mmio should die. :) Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-12-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bdb75c79878c7a23a7891124d50483329dd8924d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:20 2013 +0200 mipssim: do not use isa_mmio Untested, this board does not support PCI so it cannot run endianness-test. It should fix endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-11-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 685015021774e98b87ed48ac2c55dfd3917fd820 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:19 2013 +0200 ppc440_bamboo: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-10-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ee77854fa52b8cc7c9a0d318be467a5b5741bc04 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:18 2013 +0200 mips_malta: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-9-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3959496874e7d1ee84e3428ddf1a10dfef972c1d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:17 2013 +0200 mips_r4k: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-8-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f51100cc51f29b51aeafb5b56518a75e76e53024 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:16 2013 +0200 mips_jazz: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-7-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 921f8040d39a5f34d4b6bfd6e547c4cfcd3c1992 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:15 2013 +0200 prep: fix I/O port endianness Do not swap endianness here, it will happen during cpu_{in,out}{b,w,l}. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 66aab867cedd2a2d81b4d64eff7c3e0f6f272bbf Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Jul 22 15:54:14 2013 +0200 spapr_pci: remove indirection for I/O port access This fixes endianness bugs in I/O port access. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b1096e02d32e4c3b5a51e767836d9511132a928 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:13 2013 +0200 ppc_newworld: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d52857ea5677c1b013a289e2e44db24961a59b0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:12 2013 +0200 ppc_oldworld: do not use isa_mmio This fixes endianness bugs in I/O port access. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4759ab6b2d1b99714bb12409a6021e7a9d0bd473 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 22 15:54:11 2013 +0200 sh4: do not use isa_mmio This fixes endianness bugs in I/O port access (for sh4eb). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1374501278-31549-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 41b8280a1c089f621f94db4fad7a37c6080430b3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jul 24 15:32:31 2013 +0200 seabios: update to 1.7.3 Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3): Alex Williamson (4): seabios q35: Enable all PIRQn IRQs at startup seabios q35: Add new PCI slot to irq routing function seabios: Add a dummy PCI slot to irq mapping function pciinit: Enable default VGA device Asias He (2): virtio-scsi: Set _DRIVER_OK flag before scsi target scanning virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd} Avik Sil (1): USB-EHCI: Fix null pointer assignment Christian Gmeiner (5): geodevga: fix errors in geode_fp_* functions geodevga: move framebuffer setup geodevga: move output setup to own function geodevga: add debug to msr functions geodevga: fix wrong define name David Woodhouse (26): Add macros for pushing and popping struct bregs Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if CONFIG_COREBOOT is post: Export functions which will be used individually by CSM Export callrom() for CSM to use Export copy_smbios() from biostables.c Import LegacyBios.h from OVMF Complete and checksum EFI_COMPATIBILITY16_TABLE at build time Add pic_save_mask() and pic_restore_mask() functions Add CSM support Add README.CSM Add find_pmtimer() function Enable PMTIMER for CSM build Fix rom_reserve()/rom_confirm() for CSM oprom dispatch Don't calibrate TSC if PMTIMER is already set up Move find_pmtimer() to ACPI table setup where it logically belongs Use find_pmtimer() after copying Xen ACPI tables Use find_pmtimer() after copying coreboot ACPI tables Unify return path for CSM to go via csm_return() Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU Implement !CONFIG_OPTIONROMS support for CSM Implement !CONFIG_BOOT for CSM Enable VGA output when settings bochs-specific mode Disable CONFIG_THREAD_OPTIONROMS for CSM build Fix return type of le64_to_cpu() and be64_to_cpu() Rename find_pmtimer() to find_acpi_features() Add acpi_reboot() reset method using RESET_REG Gerd Hoffmann (3): config: allow DEBUG_IO for !QEMU coreboot: add qemu detection tweak coreboot qemu detection Hu Tao (1): Add pvpanic device driver Kevin O'Connor (99): pmm: Use 'struct segoff_s' in pmm header. Minor: Update README - variable changes are now reset on soft-reboots. Normalize POST initialization function name suffixes. POST: Reorganize post init functions for better grouping and reusability. Fix rebase error in commit 8a0a972f that broke LOWMEM variables. Support calling a function other than maininit() from reloc_preinit(). Ensure exported symbols are visible in the final link POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c. POST: Reorganize post entry and "preinit" functions. POST: Move cpu caching and dma setup to platform_hardware_setup(). Undo incorrect assumptions about Xen in commit 6ca0460f. Determine century during init and store in VARLOW mem during runtime. No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS. Add runningOnQEMU() and runningOnXen() for runtime platform detection. Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen(). Convert kvm_para_available() to runningOnKVM(). Minor - move definitions to paravirt.c from paravirt.h. Only perform SMP setup on QEMU. Start device_hardware_setup in mainint even with CONFIG_THREAD_OPTIONROMS. The mathcp setup touches the PIC and thus move to the "setup" phase. Update tools/acpi_extract.py to handle iasl 20130117 release. Support skipping content when reading from QEMU fw_cfg romfile entries. Convert fw_cfg ACPI entries into romfile entries. Convert fw_cfg SMBIOS entries into romfile entries. Convert basic integer fw_cfg entries into romfile entries. Convert fw_cfg NUMA entries into a romfile entry. Process fw_cfg e820 entries during the fw_cfg setup stage. Integrate qemu_cfg_preinit() into qemu_romfile_init(). Group QEMU platform setup together and move to paravirt.c. vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU. Warn on unaligned PCI ROM structure in option roms. Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". build: Don't require $(OUT) to be a sub-directory of the main directory. Rename rom_get_top() to rom_get_max(). Report on f-segment UMB ram also. Clarify build generated "zone low" values. Verify CC is valid during build tests. Disable handle_post() on CSM builds. Remove unnecessary "export" declarations from assembler functions. Minor assembler enhancements to __csm_return. Introduce VARFSEG for variables that will reside in the f-segment. Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG. Don't relocate "varlow" variable references at runtime. Move malloc's ZoneFSeg and ZoneLow setup to malloc_init. Calculate "RamSize" needed by 16bit interface dynamically. Eliminate separate BiosTableSpace[] space for f-segment allocations. Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others. Try to detect an unsuccessful hard-reboot to prevent soft-reboot loops. Minor - fix confusing final_sec32low_start name in layoutrom.py. Minor - introduce numeric defines for the IVT offset of hw irqs. Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point. Support using the "extra stack" for all 16bit irq entry points. Minor - improve comments and grouping of handle_08(). floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops. floppy: Cleanup floppy irq wait handling. floppy: Clean up Check Interrupt Status code. floppy: Move recalibration and results parsing to floppy_cmd(). floppy: Improve floppy_pio() error checking. floppy: Implement media format sensing. floppy: Actually do controller reset in floppy_reset(). Minor - note that passing QEMU config via cmos is deprecated. Cache boot-fail-wait to avoid romfile access after POST. Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl. acpi: Eliminate BDAT parameter passing to DSDT code. Add additional dependency checks to Makefile. Don't use __FILE__ in virtio-ring.c. shadow: Don't use PCIDevices list in make_bios_readonly(). smm: Don't use PCIDevices list in smm_setup(). Add VARVERIFY32INIT attribute for variables only available during "init". Use VARVERIFY32INIT on global variables that point to "tmp" memory. vgabios: Fix stdvga_perform_gray_scale_summing(). vgabios: Fix cirrus memory clear on mode switch. Minor - add missing newline to floppy debug statement. Fix bug in NUMA node setup - don't create SRAT if NUMA not present. Update README - copy *.aml files for QEMU. Add dependencies to vgafixup.py and buildversion.sh scripts. Set ZF prior to keyboard read call in check_for_keystroke(). mptable: Don't describe pci-to-pci bridges. mptable: Use same PCI irqs as ACPI code. Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries. Use container_of on romfile entries. acpi: Move ACPI table definitions from acpi.c to acpi.h. acpi: Remove dead code with descriptions of bit flags. acpi: Use cpu_to_leXX() consistently. Minor - explicitly close files in buildrom.py. Minor - move "tracked memory alloc" code in pmm.c. Introduce and convert pmm code to use standard list helpers. Minor - relocate code in stacks.c to keep low-level thread code together. Introduce helper function have_threads() in stacks.c. Convert stacks.c to use standard list manipulation code. Convert boot.c to use standard list manipulation code. Convert pciinit.c to use standard list manipulation code. Convert PCIDevices list to use standard list manipultion code. Revert "Convert pciinit.c to use standard list manipulation code." Fix error in hlist_for_each_entry_safe macro. Convert pciinit.c to use standard list manipulation code. make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU Another fix for hlist_for_each_entry_safe. Minor - remove debugging dprintf added to pciinit.c. Laszlo Ersek (1): Enable VGA output when setting Cirrus-specific mode Michael S. Tsirkin (1): acpi: make default DSDT optional Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0cd8eaa011eac66e45ce51cab4a857b175152625 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:44 2013 +0200 po/Makefile: Use macro quiet-command for nice looking messages Suppress also the "... done" message from msgmerge. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1fa449231832d0fb7f20a3d7ecd06190ce906529 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:43 2013 +0200 po/Makefile: Fix generation of messages.po * Tell xgettext that we use UTF-8 encoding (this is currently optional). * Set charset=UTF-8 in messages.po. This avoids warnings from msgmerge: warning: Charset "CHARSET" is not a portable encoding name. * Use filename relative to root directory (ui/gtk.c instead of ../ui/gtk.c or $(SRC_PATH)/ui/gtk.c) for comments in *.po files. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 00134a62039a12822cda91310131cc050f78cf9b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:42 2013 +0200 po/Makefile: Fix *.mo generation for out-of-tree builds (regression) Commit f84756554e32d97db3aa949db1dd58c7eea62375 added a wildcard search for *.po files. This search found no files for out of tree builds, so those builds no longer created and installed *.mo files. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 18e12d49edd4417a93f875e122652bd22aabad79 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 22:55:41 2013 +0200 po/Makefile: Fix and improve help message The help message contains single quotes which got lost in the output. Fix also a typo and use two instead of three lines. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f03d07d4683b2e8325a7cb60b4e14b977b1a869c Merge: 3988982... 9781c37... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 23 10:57:23 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Michael R. Hines (8) and others # Via Juan Quintela * quintela/migration.next: migration: add autoconvergence documentation Fix real mode guest segments dpl value in savevm Fix real mode guest migration rdma: account for the time spent in MIG_STATE_SETUP through QMP rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition rdma: allow state transitions between other states besides ACTIVE rdma: send pc.ram rdma: core logic rdma: introduce ram_handle_compressed() rdma: bugfix: ram_control_save_page() rdma: update documentation to reflect new unpin support Message-id: 1374590725-14144-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3988982c82ad4173dea376fea30e5432d36146db Merge: 931f0ad... 6f152e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 23 10:57:04 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix NULL pointer dereference in gdbstub * Introduce vaddr type * Introduce CPUClass::set_pc() * Introduce CPUClass::synchronize_from_tb() * Introduce CPUClass::get_phys_page_debug() * Introduce CPUClass::memory_rw_debug() * Move singlestep_enabled and gdb_regs fields out of CPU_COMMON * Adopt CPUState in more APIs * Propagate CPUState in gdbstub # gpg: Signature made Mon 22 Jul 2013 07:50:17 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (21) and others # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: (24 commits) linux-user: Use X86CPU property to retrieve CPUID family gdbstub: Change gdb_register_coprocessor() argument to CPUState cpu: Move gdb_regs field from CPU_COMMON to CPUState gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug() exec: Change cpu_memory_rw_debug() argument to CPUState cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook gdbstub: Change gdb_{read,write}_register() argument to CPUState gdbstub: Change gdb_handlesig() argument to CPUState gdbstub: Change syscall callback argument to CPUState kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState cpu: Change cpu_single_step() argument to CPUState gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style cpu: Move singlestep_enabled field from CPU_COMMON to CPUState target-alpha: Copy implver to DisasContext target-alpha: Copy singlestep_enabled to DisasContext cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb() target-unicore32: Implement CPUClass::set_pc() target-moxie: Implement CPUClass::set_pc() target-m68k: Implement CPUClass::set_pc() ... commit 931f0adf64261bf7eb3efaafb4430c04a6a3e6f6 Merge: 3464700... 52785d9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jul 23 10:56:55 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging QOM device refactorings * Avoid TYPE_* in VMStateDescription name * Replace some DO_UPCAST()s and FROM_SYSBUS()s with QOM casts * Limit legacy SCSI command line handling to non-hotplugged devices * Replace some SysBusDeviceClass::init with DeviceClass::realize # gpg: Signature made Mon 22 Jul 2013 06:31:42 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Hu Tao (26) and others # Via Andreas Färber * afaerber/tags/qom-devices-for-anthony: (55 commits) isa-bus: Drop isabus_bridge_init() since it does nothing ioapic: Use QOM realize for ioapic kvmvapic: Use QOM realize kvm/clock: Use QOM realize for kvmclock hpet: Use QOM realize for hpet scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() megasas: Legacy command line handling fix scsi/esp: Use QOM realize for scsi esp fw_cfg: Use QOM realize for fw_cfg ahci: Use QOM realize for ahci pflash_cfi02: Use QOM realize for pflash_cfi02 pflash_cfi01: Use QOM realize for pflash_cfi01 fdc: Improve error propagation for QOM realize fdc: Use QOM realize for fdc kvm/clock: QOM'ify some more hpet: QOM'ify some more scsi/esp: QOM'ify some more fwcfg: QOM'ify some more ahci: QOM'ify some more pflash-cfi02: QOM'ify some more ... commit a033381758841837edaf307e20edf019c5900609 Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Date: Fri Jul 19 09:21:44 2013 -0700 linux-user: Handle compressed ISA encodings when processing MIPS exceptions Decode trap instructions during the handling of an EXCP_BREAK or EXCP_TRAP according to the current ISA mode. Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d02532f08e207419e412ea7cd4eb8b36f04f426d Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:57 2013 +0200 linux-user: Unlock mmap_lock when resuming guest from page_unprotect The page_unprotect() function is running everything locked. Before every potential exit path of the function mmap_unlock() gets called to make sure we don't leak the lock. However, the function calls tb_invalidate_phys_page() which again can exit a signal through longjmp, leaving our mmap_unlock() attempts in vain. Add a hint to tb_invalidate_phys_page() that we need to unlock before we can leave back into guest context, so that we don't leak the lock. This fixes 16-bit i386 wine programs running in linux-user for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit b24c882b9435d0745679a96571027a2c92065e4f Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:51 2013 +0200 linux-user: Reset copied CPUs in cpu_copy() always When a new thread gets created, we need to reset non arch specific state to get the new CPU into clean state. However this reset should happen before the arch specific CPU contents get copied over. Otherwise we end up having clean reset state in our newly created thread. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit ddaa7e5a2ad0ef20fd3d1cc44a9ade75e5eabcfc Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:53 2013 +0200 linux-user: Fix epoll on ARM hosts The epoll emulation uses data structures without packing them, so the compiler might choose to add padding inside. This patch makes the most offending one (target_epoll_event) a packed structure to make sure we don't pad it by accident. ARM would pad it, so declare the padding mandatory for ARM targets. This fixes i386-on-ARM epoll emulation for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 732f9e89a1c737f738c445ff24929a1bc137d1a9 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jul 6 14:17:49 2013 +0200 linux-user: fix segmentation fault passing with h2g(x) != x When forwarding a segmentation fault into the guest process, we were passing the host's address directly into the guest process's signal descriptor. That obviously confused the guest process, since it didn't know what to make of the (usually 32-bit truncated) address. Passing in h2g(address) makes the guest process a lot happier. To make the code more obvious, introduce a h2g_nocheck() macro that does the same as h2g(), but allows us to convert addresses that may be outside of guest mapped range into the guest's view of address space. This fixes java running in arm-linux-user for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 82f05b69e6b701157b4a2e7d76ae6cf5542d66c9 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Jul 6 17:39:48 2013 +0100 linux-user: Fix pipe syscall return for SPARC SPARC is one of the CPUs which has a funny syscall ABI for the pipe syscall; add it to the set of special cases in do_pipe(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit c7819dfbd22be6a3711f11056f33300e881563d5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Jul 6 21:44:53 2013 +0100 linux-user: Fix target_stat and target_stat64 for OpenRISC OpenRISC uses the asm-generic versions of target_stat and target_stat64, but it was incorrectly using the x86/ARM/etc version due to a misplaced defined(TARGET_OPENRISC). The previously unused OpenRISC section of the ifdef ladder also defined an incorrect target_stat and omitted the target_stat64 definition. Fix target_stat, provide target_stat64, and add a comment noting that these are the asm-generic versions for the benefit of future ports. Reviewed-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 9781c3716a4b529a2af64502926a57c11e69e6ca Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 23 15:21:09 2013 +0200 migration: add autoconvergence documentation This hunk got lost during merge. It is documentation. Spotted-by: Peter Lieven <lieven-lists@xxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3e47c249b93d5cc1e0f9404dbe243682598ba8fb Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Jul 22 20:29:42 2013 +0300 Fix real mode guest segments dpl value in savevm Older KVM version put invalid value in the segments registers dpl field for real mode guests (0x3). This breaks migration from those hosts to hosts with unrestricted guest support. We detect it by checking CS dpl value for real mode guest and fix the dpl values of all the segment registers. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 444ba6797ef6ef331fe9fd34309b1ec59caaede3 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Jul 22 20:29:41 2013 +0300 Fix real mode guest migration Older KVM versions save CS dpl value to an invalid value for real mode guests (0x3). This patch detect this situation when loading CPU state and set all the segments dpl to zero. This will allow migration from older KVM on host without unrestricted guest to hosts with restricted guest support. For example migration from a Penryn host (with kernel 2.6.32) to a Westmere host (for real mode guest) will fail with "kvm: unhandled exit 80000021". Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit ed4fbd10823a7b0dbded6b481a68973e47f7e14d Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:58 2013 -0400 rdma: account for the time spent in MIG_STATE_SETUP through QMP Using the previous patches, we're now able to timestamp the SETUP state. Once we have this time, let the user know about it in the schema. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 29ae8a4133082e16970c9d4be09f4b6a15034617 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:57 2013 -0400 rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition As described in the previous patch, until now, the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning into this state when the QMP migration command was called. Instead we want to introduce MIG_STATE_NONE, which is our starting state in the state machine, and then immediately transition into the MIG_STATE_SETUP state when the QMP migrate command is issued. In order to do this, we must delay the transition into MIG_STATE_ACTIVE until later in the migration_thread(). This is done to be able to timestamp the amount of time spent in the SETUP state for proper accounting to the user during an RDMA migration. Furthermore, the management software, until now, has never been aware of the existence of the SETUP state whatsoever. This must change, because, timing of this state implies that the state actually exists. These two patches cannot be separated because the 'query_migrate' QMP switch statement needs to know how to handle this new state transition. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d58f574bf39796ed2396dfd1e308352fbb03f944 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:56 2013 -0400 rdma: allow state transitions between other states besides ACTIVE This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP state was not really a 'formal' state. It has been used as a 'zero' state and QEMU has been unconditionally transitioning into this state when the QMP migrate command was called. In preparation for timing this state, we have to make this state a a 'real' state which actually gets transitioned from later in the migration_thread() from SETUP => ACTIVE, rather than just automatically dropping into this state at the beginninig of the migration. This means that the state transition function (migration_finish_set_state()) needs to be capable of transitioning from valid states _other_ than just MIG_STATE_ACTIVE. The function is in fact already capable of doing that, but was not allowing the old state to be a parameter specified as an input. This patch fixes that and only makes the transition if the current state matches the old state that the caller intended to transition from. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9b146e9a28bbd9567f5ac6a8e2bcb543aa3b9392 Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 23 18:32:30 2013 +0800 target-openrisc: Free typename in openrisc_cpu_class_by_name We should free typename here. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 4284c0517b12f03da59250a23ee7e9c3581e89c4 Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 23 18:31:24 2013 +0800 hw/openrisc: Use stderr output instead of qemu_log We should use stderr output instead of qemu_log in order to output ErrMsg onto the screen. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 68f1282882fe3b43b4bc323e03545dc019e2d19a Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 23 18:30:09 2013 +0800 hw/openrisc: Indent typo Indent typo. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 0033b8b42a1cc2a9350619ea19e11954b12fb819 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:55 2013 -0400 rdma: send pc.ram This takes advantages of the previous patches: 1. use the new QEMUFileOps hook 'save_page' 2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 2da776db4846eadcb808598a5d3484d149773c05 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:54 2013 -0400 rdma: core logic Code that does need to be visible is kept well contained inside this file and this is the only new additional file to the entire patch. This file includes the entire protocol and interfaces required to perform RDMA migration. Also, the configure and Makefile modifications to link this file are included. Full documentation is in docs/rdma.txt Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 44c3b58cf9b2c91a38363f0b45d20f3f40b8f2b3 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:53 2013 -0400 rdma: introduce ram_handle_compressed() This gives RDMA shared access to madvise() on the destination side when an entire chunk is found to be zero. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit de7b685c9e1cf606e37e7116e4c4f03a6ae2d14f Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:52 2013 -0400 rdma: bugfix: ram_control_save_page() We were not checking for a valid 'bytes_sent' pointer before accessing it. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a5f56b906e0d7975b87dc3d3c5bfe5a75a4028d2 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Mon Jul 22 10:01:51 2013 -0400 rdma: update documentation to reflect new unpin support As requested, the protocol now includes memory unpinning support. This has been implemented in a non-optimized manner, in such a way that one could devise an LRU or other workload-specific information on top of the basic mechanism to influence the way unpinning happens during runtime. The feature is not yet user-facing, and is thus can only be enabled at compile-time. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6f152e9bc80aed81ea89aa8ad345cd71326b71fb Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 18 00:01:58 2012 +0200 linux-user: Use X86CPU property to retrieve CPUID family Avoids duplicating the calculation. Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 22169d415a1d1706f66a4fd50a3573d3f296b24f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 21:27:39 2013 +0200 gdbstub: Change gdb_register_coprocessor() argument to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eac8b355f0015e44addce3e92030365b16d9da61 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 21:11:37 2013 +0200 cpu: Move gdb_regs field from CPU_COMMON to CPUState Prepares for changing gdb_register_coprocessor() argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2e0f2cfba6c2169c07358e473841ec211009dd3c Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 19:19:39 2013 +0200 gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState Use CPUState::env_ptr where still needed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f3659eee05793aede68b1791465fb2b0767bc1f2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 19:09:09 2013 +0200 cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug() Make inline target_memory_rw_debug() always available and change its argument to CPUState. Let it check if CPUClass::memory_rw_debug provides a specialized callback and fall back to cpu_memory_rw_debug() otherwise. The only overriding implementation is for 32-bit sparc. This prepares for changing GDBState::g_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jun 29 19:40:58 2013 +0200 exec: Change cpu_memory_rw_debug() argument to CPUState Propagate X86CPU in kvmvapic for simplicity. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 00b941e581b5c42645f836ef530705bb76a3e6bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jun 29 18:55:54 2013 +0200 cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook Change breakpoint_invalidate() argument to CPUState alongside. Since all targets now assign a softmmu-only field, we can drop helpers cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd(). Prepares for changing cpu_memory_rw_debug() argument to CPUState. Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> (for xtensa) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 385b9f0e4d8c60037c937edd7a3735fff7570429 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 18:25:36 2013 +0200 gdbstub: Change gdb_{read,write}_register() argument to CPUState Use CPUState::env_ptr for now. Prepares for changing GDBState::g_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit db6b81d43693cec86d62df79dd7402fc045427ed Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 19:49:31 2013 +0200 gdbstub: Change gdb_handlesig() argument to CPUState Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9e0c5422cfbed78990e2edc9d68928647829f5ac Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 17:45:01 2013 +0200 gdbstub: Change syscall callback argument to CPUState Callback implementations were specific to arm and m68k, so can easily cast to ARMCPU and M68kCPU respectively. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6227881415e0e0117d56aef90cf6e72f24187ec1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 17:12:06 2013 +0200 kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState CPUArchState is no longer directly used since converting CPU loops to CPUState. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3825b28ff128e2bd3cb0a338c21923c926b1f38b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 24 18:41:06 2013 +0200 cpu: Change cpu_single_step() argument to CPUState Use CPUState::env_ptr for now. Needed for GdbState::c_cpu. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ca666c765e9e92217a87669365b212abae6f9ce Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 24 19:20:57 2013 +0200 gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style In particular reindent to 4 instead of 2 spaces. Prepares for changing cpu_single_step() argument in gdb_handlesig(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ed2803da58355413447f8c7c681a76873168114f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 20:20:45 2013 +0200 cpu: Move singlestep_enabled field from CPU_COMMON to CPUState Prepares for changing cpu_single_step() argument to CPUState. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 801c4c287b7d85fe8447900f78a9a6ab89d00271 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 1 13:19:30 2013 -0700 target-alpha: Copy implver to DisasContext Which allows removing env from DisasContext. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca6862a67f3c03e5efe26cf45b54c6176e4db5c3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 1 13:19:29 2013 -0700 target-alpha: Copy singlestep_enabled to DisasContext Prepare for removing env from DisasContext. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bdf7ae5bbdb3f050d97862b2ba0261fa902ebc53 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 19:31:32 2013 +0200 cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb() Where no extra implementation is needed, fall back to CPUClass::set_pc(). Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b42eab27beaefd5c9bf9353383d6403e0628c014 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 19:41:07 2013 +0200 target-unicore32: Implement CPUClass::set_pc() This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a10b978c4246bf9af0e34505aba500d3e7f6c6c4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 20:43:26 2013 +0200 target-moxie: Implement CPUClass::set_pc() This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e700604df024ec5028f476b133ca337c4d7ee518 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 28 20:35:01 2013 +0200 target-m68k: Implement CPUClass::set_pc() This adds support for GDB's c addr (Continue) and s addr (Single Step). Prepares for dropping cpu_pc_from_tb(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f45748f10eda61d6262153fadf3910cb63e17ecd Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 19:09:18 2013 +0200 cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc() This moves setting the Program Counter from gdbstub into target code. Use vaddr type as upper-bound replacement for target_ulong. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2be8d4509896116dae7b3b9dffc0fccef480126d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 22 18:34:35 2013 +0200 HACKING: Document vaddr type usage Also extend documentation of target_ulong and abi_ulong. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 577f42c0e11a5bfb462ff3a217701cd5c4356fb4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jul 6 03:14:52 2013 +0200 cpu: Introduce vaddr type vaddr is to target_ulong what uintmax_t is to unsigned int. Its purpose is to allow turning per-target functions with target_ulong arguments into CPUClass hooks. Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 52f34623b499cb0273118b1f637c2c6ebaf5d5a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 27 13:44:40 2013 +0200 gdbstub: Change GDBState::query_cpu to CPUState Since first_cpu/next_cpu are CPUState, CPUArchState is no longer needed. This resolves a NULL pointer dereference of query_cpu, introduced with commit 182735efaf956ccab50b6d74a4fed163e0f35660 and reported by TeLeMan and Max Filippov. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 52785d99513e4f5d8c3d94f4362ff54aba88f33c Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:42 2013 +0800 isa-bus: Drop isabus_bridge_init() since it does nothing This works since commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Edited] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f5ba752371b2fc493fdef05cb7e3141161fd1fab Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:41 2013 +0800 ioapic: Use QOM realize for ioapic Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Tweaked error message] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c118d44b6a6977e4019fe1da82f5c333dbbedcfa Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:40 2013 +0800 kvmvapic: Use QOM realize Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 913bc63844395f07e317dbc1a5b38612cc75ebec Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:39 2013 +0800 kvm/clock: Use QOM realize for kvmclock Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 726887ef44d5a822cd76e4fedd269b038869b698 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:37 2013 +0800 hpet: Use QOM realize for hpet Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Avoided SYS_BUS_DEVICE() in loop] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit caad4eb345dc5119d326b8af08452cc0f90f8548 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 21 12:16:34 2013 +0200 scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() Let scsi_bus_legacy_add_drive() and scsi_bus_legacy_handle_cmdline() return an Error**. Prepare qdev initfns for QOM realize error model. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 22d6aa03fd87ba5f219d26bc1810646d0f95842a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jul 21 12:20:15 2013 +0200 megasas: Legacy command line handling fix Only apply legacy command line handling when the device has not been hot-plugged. Propagate failure of legacy command line handling. Cc: qemu-stable@xxxxxxxxxx Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b09318cac65df015b9b0990791f02b894cc57d33 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:35 2013 +0800 scsi/esp: Use QOM realize for scsi esp Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Drop sysbus_esp_init()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 563839557c05f6f946bedebc381406b146af61f6 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:33 2013 +0800 fw_cfg: Use QOM realize for fw_cfg Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Moved sysbus_init_mmio() to instance_init, renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7acb423fcfd8fbf75f672de70ab945a24cc31ef5 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:31 2013 +0800 ahci: Use QOM realize for ahci Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Avoided repeated SYS_BUS_DEVICE() casts] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit da3bd64234dc6c77091a0fb8a2612668dbaffd37 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:29 2013 +0800 pflash_cfi02: Use QOM realize for pflash_cfi02 Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e40b5f3e0efe49ec138ea5e3710f6dd6527e5f49 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:27 2013 +0800 pflash_cfi01: Use QOM realize for pflash_cfi01 Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed argument] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a3ef7a61e3706ba81e31a8092b966d6aeae5333e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 17 14:14:41 2013 +0200 fdc: Improve error propagation for QOM realize Rename fdctrl_init_common() to fdctrl_realize_common() and let fdctrl_connect_drives() propagate an Error through it. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 940194c2369e50d91d1abf6f36d43853eea5e539 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:25 2013 +0800 fdc: Use QOM realize for fdc Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed SysBusDevice variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 98bdc0d7ff93f2ab39c0634c744cc7f4a8ac7399 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:38 2013 +0800 kvm/clock: QOM'ify some more Introduce type constant and avoid FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 02f9a6f5da74251e1e5685ae57643d45c3fb6c30 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:36 2013 +0800 hpet: QOM'ify some more Introduce type constant, avoid FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field and renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a71c7ec529adcd36fed5bb570a167ae2f9771750 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:34 2013 +0800 scsi/esp: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2ce92a1102be22e2bb82267351834713b8c31542 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:32 2013 +0800 fwcfg: QOM'ify some more Use type constant if possible and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b3b162c3cfb88a57390fef581c1be99648d6d8ab Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:30 2013 +0800 ahci: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3509c396d2894b4dc40a2e33d7c2f795508d7328 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:28 2013 +0800 pflash-cfi02: QOM'ify some more Introduce type constant and replace FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f1b44f0e4191547888ff9750988a4f3e7ca9c60e Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:26 2013 +0800 pflash-cfi01: QOM'ify some more Introduce type constant and replace FROM_SYSBUS(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd3be7420774f7dc8f37a96ca24d07f0b6f31b3b Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:24 2013 +0800 fdc: QOM'ify some more Introduce type constant and avoid DO_UPCAST(), container_of(), and use DEVICE() to avoid accessing parent qdev directly. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Renamed parent field and avoided repeated SYS_BUS_DEVICE() casts] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 62d92e432f586b2bb99d7824f684df4ebd412ea1 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:23 2013 +0800 q35: Use QOM realize for q35 host bridge And split off MemoryRegion initialization into instance_init. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce88812f576a0d5b172f99b253bcdc1dc37f86f2 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:22 2013 +0800 q35: Use type-safe cast instead of direct access of parent dev And remove variables if possible. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Converted remaining access and renamed to parent_obj] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a3560fbf012e19c5c9b495cc0d90f2dd4491e09f Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:20 2013 +0800 i440fx-pcihost: Use QOM realize for i440fx-pcihost Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2aedfa464909c887564c65fb3a51c020d71e0b78 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:21 2013 +0800 i440fx: Use type-safe cast instead of direct access of parent dev Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Converted remaining accesses and renamed to parent_obj] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 457215ec6a3acc020d357b958eb513ef944abc93 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:19 2013 +0800 ohci: Use QOM realize for OHCI Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1aa0c0c748ad05cde80b4d6f2907a70bc4089883 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:18 2013 +0800 ohci: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Avoid remaining OHCIPCIState::pci_dev uses, rename parent fields] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce7243986fe69be831ec893127282fa5a045c985 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Jul 1 18:18:17 2013 +0800 sysbus: Document SysBusDeviceClass::init and realize semantics Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> [AF: Syntax and wording changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dc4aa51ba8bbef7edf4a104a5a6029a76a68600e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 15:20:05 2013 +0200 xen/xen_platform: QOM parent field cleanup Replace direct uses of PCIXenPlatformState::pci_dev field with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 51a3fe996ba20eca0abfad2b783f27967d759d28 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 17:00:14 2013 +1000 xen/xen_platform: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Dropped opaque casts] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b7578eaadd71fd7a9101875a32d64a52149d78e5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 15:15:15 2013 +0200 misc/ivshmem: QOM parent field cleanup Replace direct uses of IVShmemState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit eb3fedf3d4b1a3ed2a31def23e972aa0c3669fff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:59:29 2013 +1000 misc/ivshmem: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Simplified casts and converted two more DO_UPCAST()s] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit af21c7403902d5073851ea10371d0761f48e39d1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 15:01:36 2013 +0200 display/vmware_vga: QOM parent field cleanup Replace direct uses of pci_vmsvga_state_s::card with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 39d4598763a01816feb828be4633ada780a63886 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:58:45 2013 +1000 display/vmware_vga: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style casting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Renamed to TYPE_VMWARE_VGA and VMWARE_VGA()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6d27a4099e46132768256b686ebf522844a180b6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:48:56 2013 +0200 misc/pci-testdev: QOM parent field cleanup Replace direct uses of PCITestDevState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 40108d0a6d1e59aa5904298874753fe0cb420a64 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:58:00 2013 +1000 misc/pci-testdev: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Replaced another DO_UPCAST()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6a6b5580bd03fc7326716ebb36b1f42ebfc0a967 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:40:37 2013 +0200 acpi/piix4: QOM parent field cleanup Replace direct uses of PIIX4PMState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 74e445f6492b315c18e96daa6acb4d50405a0ad9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:57:14 2013 +1000 acpi/piix4: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0d3aea5603215b872b6580662d27860eecd6ca24 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:19:24 2013 +0200 ide/ich: QOM parent field cleanup Replace direct uses of AHCIPCIState::card with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fd58922cf4ea09c8dbd2d46dd61e50e6559bf447 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:55:45 2013 +1000 ide/ich: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Renamed to TYPE_ICH9_AHCI and used typedef in pci_ich9_reset()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4e5dcc774a4003e313b6eec823067b3980b0bc91 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:07:49 2013 +0200 scsi/esp-pci: QOM parent field cleanup Replace direct uses of PCIESPState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3a15effe00b5bd223d5932c8d67c9525914a1526 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:55:00 2013 +1000 scsi/esp-pci: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 52190c1e0a95440e906f3bb7e7c17823f3eac8c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 14:02:53 2013 +0200 scsi/megasas: QOM parent field cleanup Replace direct uses of MegasasState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c79e16ae044d265674ef43dfdd694c8fd0f49e19 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:54:15 2013 +1000 scsi/megasas: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 725eec7043bd010856899461817ccd2599a09362 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 13:52:22 2013 +0200 scsi/lsi53c895a: QOM parent field cleanup Replace direct uses of LSIState::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 71186c867caab48d093fe2c8ae7d8f23d59b0aed Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:53:30 2013 +1000 scsi/lsi53c895a: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9b7d3334d062e8c9e4f1b0ad3df35abb08cd8bf0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 13:38:41 2013 +0200 usb/hcd-xhci: QOM parent field cleanup Replace direct uses of XHCIState::pci_dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 37034575d23a06447e4f44ab365afec6b198c53f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:52:45 2013 +1000 usb/hcd-xhci: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Dropped usb_xhci_init() DeviceState argument and renamed variable] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1f8c79468594cc059eac7a26d37fba48107cb2e4 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:52:00 2013 +1000 net/pcnet-pci: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> [AF: Renamed parent field, renamed from PC_NET to PCNET] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 88a411a8a09102b89ea52fe2511265edd3393cf2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 13:09:00 2013 +0200 net/rtl8139: QOM parent field cleanup Replace direct uses of RTL8139State::dev with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 39257515888a3fbaa7061c4c2aeeadfe1b9c3c15 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:51:15 2013 +1000 net/rtl8139: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b08340d52b51ab57ba525043dbc83e67ecfcaa23 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 30 12:55:52 2013 +0200 net/e1000: QOM parent field cleanup Replace direct uses of E1000State::dev field with QOM casts and rename it to parent_obj. Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 567a3c9e7f98f698d1aeb73e32ca614086b63837 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 24 16:50:30 2013 +1000 net/e1000: QOM Upcast Sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST() and direct -> style upcasting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6783ecf144c80f526c844cade3bf5593fba9e446 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 12:03:44 2013 +0100 hw: Avoid use of QOM type name macros in VMStateDescriptions The name field in a VMStateDescription is part of the migration state versioning, so changing it will break migration. It's therefore a bad idea to use a QOM typename macro to initialize it, because in general we're free to rename QOM types as part of code refactoring and cleanup. For the handful of devices that were doing this by mistake, replace the QOM typenames with the corresponding literal strings. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> [AF: Use TYPE_PVSCSI for TypeInfo instead] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3464700f6aecb3e2aa9098839d90672d6b3fa974 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 12:40:32 2013 +0100 tests: Add test-bitops.c with some sextract tests Add some simple test cases for the new sextract32 and sextract64 functions. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1372419632-5521-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2dc6bebde93677b262caff114849d0f5ebdaa82d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 12:40:31 2013 +0100 bitops: Provide sextract32() and sextract64() A common operation in instruction decoding is to take a field from an instruction that represents a signed integer in some arbitrary number of bits, and sign extend it into a C signed integer type for manipulation. Provide new functions sextract32() and sextract64() which perform this operation; they are like the existing extract32() and extract64() except that the field is sign-extended into the returned result. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1372419632-5521-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd1d9926e91f421bc851f9dd19875f14799c6e4b Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Jul 19 12:42:12 2013 -0600 memory: Fix zero-sized memory region print if mr->size == 0, then int128_get64(int128_sub(mr->size, int128_make64(1))) => assert(!a.hi) Also, use int128_one(). Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 20130719184124.15864.20803.stgit@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 53db78543e473bdf7650a406767d0901c6e26480 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Jul 21 15:39:26 2013 -0800 configure: Remove ldscripts Since 964c6fa16f50a607f9da5068d6bf15ccc93872c0, these files are unused. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 1374449966-12926-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 885a73f72b967900296d71c97cc7c560585a9086 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 10 18:30:38 2013 +0200 linux-user: Avoid conditional cpu_reset() Some CPUs reset as part of cpu_init(), some others were reset afterwards, some not at all. While some targets didn't implement a cpu_[state_]reset() function, QOM cpu_reset() is always available. There's nothing wrong with resetting twice on startup, so drop the #ifdef. Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 24cb36a61c663d98a53338620e88e4cd3403459a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:45:00 2013 +0100 configure: Make NPTL non-optional Now all linux-user targets support building with NPTL, we can make it mandatory. This is a good idea because: * NPTL is no longer new and experimental; it is completely standard * in practice, linux-user without NPTL is nearly useless for binaries built against non-ancient glibc * it allows us to delete the rather untested code for handling the non-NPTL configuration Note that this patch leaves the CONFIG_USE_NPTL ifdefs in the bsd-user codebase alone. This makes no change for bsd-user, since our configure test for NPTL had a "#include <linux/futex.h>" which means bsd-user would never have been compiled with CONFIG_USE_NPTL defined, and it still is not. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 2667e71c3d9262d756bea1473e2ea28eb2c9c070 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:59 2013 +0100 linux-user: Enable NPTL for x86-64 Add x86-64 implementation of cpu_set_tls() (like the kernel, we just have to call do_arch_prctl() to set FS); this allows us to enable NPTL. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit bc22eb447c0552e2327f278fdc6bedccb14fc7a3 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jul 16 18:44:58 2013 +0100 linux-user: Add i386 TLS setter We can easily set the TLS on i386. Add code to do so. Signed-off-by: Alexander Graf <agraf@xxxxxxx> [PMM: also remove "target_nptl=no" line from configure, for consistency with other patches in this series] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 4ce6243dc6216e35b5b691078ffa856463bfa8db Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:57 2013 +0100 linux-user: Clean up handling of clone() argument order Linux manages to have three separate orderings of the arguments to the clone() syscall on different architectures. In the kernel these are selected via CONFIG_CLONE_BACKWARDS and CONFIG_CLONE_BACKWARDS2. Clean up our implementation of this to use similar #define names rather than a TARGET_* ifdef ladder. This includes behaviour changes fixing bugs on cris, x86-64, m68k, openrisc and unicore32. cris had explicit but wrong handling; the others were just incorrectly using QEMU's default, which happened to be the equivalent of CONFIG_CLONE_BACKWARDS. (unicore32 appears to be broken in the mainline kernel in that it tries to use arg3 for both parent_tidptr and newtls simultaneously -- we don't attempt to emulate this bug...) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d312bbe1051fa563b557de625ca57a466772abe5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:56 2013 +0100 linux-user: Add missing 'break' in i386 get_thread_area syscall The i386 code for the get_thread_area syscall was missing a 'break' which meant it would have fallen through into the implementation of the following syscall; add it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 1ccd9374af22ec4ed5f864d4935a9cfad01f1204 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:55 2013 +0100 linux-user: Enable NPTL for m68k For m68k, per-thread data is a purely kernel construct with no CPU level support. Implement it via a field in the TaskState structure, used by cpu_set_tls() and the set_thread_area/get_thread_area syscalls. This allows us to enable compilation with NPTL. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit f5147c93d0e7f91df0215598017a4d9d6a48f0ee Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:54 2013 +0100 linux-user: Enable NPTL for SPARC targets Provide the missing cpu_set_tls(), and resolve the FIXME in cpu_clone_regs() by clearing the carry flag for the child. This allows us to turn on building with NPTL for SPARC. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 442a59c8ddc55f327ec0219d810fe4580177716a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:53 2013 +0100 linux-user: Enable NPTL for OpenRISC The OpenRISC kernel ignores CLONE_SETTLS in its copy_thread() implementation, so a cpu_set_tls() implementation is a no-op. cpu_clone_regs() was setting the syscall return value in the wrong register -- it is gpr[11], not gpr[2]. With these two things fixed, we can compile with NPTL enabled. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit dfeab06c98f7bc37f8ad8a6a2f8f677e5a57a55d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:52 2013 +0100 linux-user: Move includes of target-specific headers to end of qemu.h The target-specific headers (target_cpu.h and target_signal.h) might need to use the target-independent structure and function definitions of qemu.h; so include them only at the bottom of qemu.h, not the top. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 790d440605a997a5e146809e824e95ca22a14652 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:51 2013 +0100 configure: Enable threading for unicore32-linux-user unicore32-linux-user provides cpu_set_tls(), so the failure to enable target_nptl was presumably an oversight. Enable it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d769c64147d32a80e5e37d41b397f45943d45e0d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:50 2013 +0100 configure: Enable threading on all ppc and mips linux-user targets Though threading (target_nptl) was enabled on the base PPC and MIPS targets, it wasn't enabled for the variants mipsn32, mipsn32el, mips64, mips64el, ppc64 or ppc46abi32 (probably an oversight). Enable threading consistently on all these targets. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit fa78f3dbe4e0e1d9a34556b73e5118cb40153875 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:49 2013 +0100 configure: Don't say target_nptl="no" if there is no linux-user target For architectures with no linux-user target, don't claim no NPTL support. This has no behavioural change, but it means that we won't accidentally add a new linux-user target without threading support in future (because attempting to do so would be a compile failure rather than a silent lack of support). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit aa004f5f9c5785273ef56b8c0b775f57ccb19168 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 18:44:48 2013 +0100 configure: Flip default of target_nptl Most targets either (a) support threading or (b) don't have a linux-user/bsd-user target, so make it default to 'yes', with those targets that don't support threading having to specifically say so. This is a mechanical no-behaviour-change commit; some of the "no" entries it adds will be taken out in later patches. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit b1e749c02172583ca85bb3a964a9b39221f9ac39 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Jul 22 09:04:32 2013 +0200 gtk: Fix accelerator filtering This is in fact very simply: When the input in grabbed, everything should be exclusively passed to the guest - except it has our magic CTRL-ALT modifier set. Then let GTK filter out those accels that are in use. When checking the modifier state, we just need to filter out NUM and CAPS lock. Note: Filtering based on hard-coded modifiers breaks overriding accelerators. Needs to be fixed at a later point. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 549c272b3c7c2aac69155be2e158c970828b2844 Merge: c9fea5d... fd76663... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:14:24 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130722' into staging arm-devs queue # gpg: Signature made Mon 22 Jul 2013 06:38:52 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Peter Maydell (8) and Soren Brinkmann (2) # Via Peter Maydell * pmaydell/tags/pull-arm-devs-20130722: hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header hw/loader: Support ramdisk with u-boot header vexpress: Add virtio-mmio transports vexpress: Make VEDBoardInfo extend arm_boot_info arm/boot: Allow boards to modify the FDT blob virtio: Implement MMIO based virtio transport virtio: Support transports which can specify the vring alignment virtio: Add support for guest setting of queue size arm/boot: Use qemu_devtree_setprop_sized_cells() device_tree: Add qemu_devtree_setprop_sized_cells() utility functions Message-id: 1374493427-3254-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c9fea5d701f8fd33f0843728ec264d95cee3ed37 Merge: a20bd9e... e1622f4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:14:18 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (2) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: exec: fix incorrect assumptions in memory_access_size memory: Return -1 again on reads from unsigned regions memory: actually set the owner exec.c: Pass correct pointer type to qemu_ram_ptr_length Message-id: 1374264478-23913-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a20bd9eec3cf3f9dd7e27d45a96d7b1b9ab09ebd Merge: 5447a9a... be022d6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:49 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Michael Tokarev (2) and others # Via Michael Tokarev * mjt/trivial-patches: doc: monitor multiplexing rewording block/m25p80: Update Micron entries Fix command example in qemu.sasl slirp: remove mbuf(m_hdr,m_dat) indirection linux-user: declare sys_futex to have 6 arguments Message-id: 1374225073-12959-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5447a9afc4150693d3909a8632891061147e170d Merge: 293706d... a23fdf3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:34 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Peter Lieven (5) and others # Via Stefan Hajnoczi * stefanha/block: block/raw: add .bdrv_get_info block: fix bdrv_read_unthrottled() cpus: Let vm_stop[_force_state]() always flush block devices block-migration: efficiently encode zero blocks block/raw: add bdrv_co_write_zeroes block: add bdrv_write_zeroes() block: fix vvfat error path for enable_write_target QEMUBH: make AioContext's bh re-entrant dataplane: sync virtio.c and vring.c virtqueue state gluster: Add discard support for GlusterFS block driver. gluster: Use pkg-config to configure GlusterFS block driver Message-id: 1374223132-29107-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 293706dd682f578b457d052988cf3c20b4eab82d Merge: 90c66f5... b957a1b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:27 2013 -0500 Merge remote-tracking branch 'rth/axp-next' into staging # By Richard Henderson # Via Richard Henderson * rth/axp-next: pc-bios: Update palcode-clipper target-alpha: Move alarm to vm_clock Message-id: 1374161033-11449-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 90c66f587c8d020a642d3c9376f9102c16f2234e Merge: 2494397... 3ba0063... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 22 10:13:15 2013 -0500 Merge remote-tracking branch 'stefanha/tracing' into staging # By Markus Armbruster # Via Stefan Hajnoczi * stefanha/tracing: trace-events: Fix up source file comments trace-events: Drop unused events milkymist-minimac2: Fix minimac2_read/_write tracepoints slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints cleanup-trace-events.pl: New Message-id: 1374119369-26496-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd76663e3fe59dc7f7d5c439561b74f472727137 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Mon Jul 8 15:40:02 2013 -0700 hw/arm: Use 'load_ramdisk()' for loading ramdisks w/ U-Boot header The load_ramdisk function is used to load ramdisk featuring a U-Boot header. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373323202-17083-3-git-send-email-soren.brinkmann@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 84aee0deae0de620277759e2c3cd3a9cf45390b0 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Mon Jul 8 15:40:01 2013 -0700 hw/loader: Support ramdisk with u-boot header Introduce 'load_ramdisk()' which can load "normal" ramdisks and ramdisks with a u-boot header. To enable this and leverage synergies 'load_uimage()' is refactored to accomodate this additional use case. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373323202-17083-2-git-send-email-soren.brinkmann@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c8a07b355d7de568b93a61eb09cfe953ef0db409 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:12 2013 +0100 vexpress: Add virtio-mmio transports Add some virtio-mmio transports to the vexpress board model, together with a modify_dtb hook which adds them to the device tree so that the kernel will probe for them. We put them in a reserved area of the address map. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-9-git-send-email-peter.maydell@xxxxxxxxxx commit cef04a26e76c9beb6f51f1703ccf17440619e226 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:11 2013 +0100 vexpress: Make VEDBoardInfo extend arm_boot_info Make the VEDBoardInfo struct extend arm_boot_info; this will allow us to get at the VEDBoardInfo information inside callbacks from arm/boot code. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-8-git-send-email-peter.maydell@xxxxxxxxxx commit 3b1cceb8b52320150fd93dc094ba11fd01c6adfa Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:10 2013 +0100 arm/boot: Allow boards to modify the FDT blob Add a callback hook in arm_boot_info to allow board models to modify the device tree blob if they need to. (The major expected use case is to add virtio-mmio nodes for virtio-mmio transports that exist in QEMU but not in the hardware.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-7-git-send-email-peter.maydell@xxxxxxxxxx commit 4b52530be987f33f8bffbdec9826298ad53ec180 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:09 2013 +0100 virtio: Implement MMIO based virtio transport Add support for the generic MMIO based virtio transport. This patch includes some fixes for bugs spotted by Ying-Shiuan Pan <yspan@xxxxxxxxxxx>. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1373977512-28932-6-git-send-email-peter.maydell@xxxxxxxxxx [Fred changes: updated to new virtio-bus mechanisms] Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> [PMM changes: * fixed trivial makefile conflict * removed unused int_enable * host_features doesn't need migrating * reset guest accessible state in the reset function * minor style fixes like extra blank lines * RAZ/WI if there's no backend * made transport size 0x200, in line with kvmtool * set has_variable_vring_alignment ] commit 6ce69d1c7741c0ad524e4cad6dca31e782108a65 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:08 2013 +0100 virtio: Support transports which can specify the vring alignment Support virtio transports which can specify the vring alignment (ie where the guest communicates this to the host) by providing a new virtio_queue_set_align() function. (The default alignment remains as before.) Transports which wish to make use of this must set the has_variable_vring_alignment field in their VirtioBusClass struct to true; they can then change the alignment via virtio_queue_set_align(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-5-git-send-email-peter.maydell@xxxxxxxxxx commit e63c0ba1bce0b3cc7037c6c2d327267a585534ec Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:07 2013 +0100 virtio: Add support for guest setting of queue size The MMIO virtio transport spec allows the guest to tell the host how large the queue size is. Add virtio_queue_set_num() function which implements this in the QEMU common virtio support code. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373977512-28932-4-git-send-email-peter.maydell@xxxxxxxxxx commit 70976c41c1def9d6e8b664c64cdf83b1ea0daa03 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:06 2013 +0100 arm/boot: Use qemu_devtree_setprop_sized_cells() Replace the opencoded assembly of the reg property array for the /memory node with a call to qemu_devtree_setprop_sized_cells(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1373977512-28932-3-git-send-email-peter.maydell@xxxxxxxxxx commit 97c38f8c279ae2f71cb0f6aed11aa94ef59b2955 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 16 13:25:05 2013 +0100 device_tree: Add qemu_devtree_setprop_sized_cells() utility functions We already have a qemu_devtree_setprop_cells() which sets a dtb property to an array of cells whose values are specified by varargs. However for the fairly common case of setting a property to a list of addresses or of address,size pairs the number of cells used by each element in the list depends on the parent's #address-cells and #size-cells properties. To make this easier we provide an analogous qemu_devtree_setprop_sized_cells() macro which allows the number of cells used by each element to be specified. This is implemented using an underlying qemu_devtree_setprop_sized_cells_from_array() function which takes the values and sizes as an array; this may also be directly useful for cases where the cell contents are constructed programmatically. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1373977512-28932-2-git-send-email-peter.maydell@xxxxxxxxxx commit be022d61f4938bb051e8af8e6cb470ec1602c488 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jul 11 12:55:50 2013 +0400 doc: monitor multiplexing rewording Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f5aac8e07ff25846c7a5c1a5153c49c18715d9f0 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Tue Jun 4 11:59:14 2013 -0400 block/m25p80: Update Micron entries - Split 32Mb and 256Mb parts into a11 and a13 variants. - Add the 4K sector flag to the 128Mb parts. (These entries were taken from the Linux kernel list, which is missing the flag.) - Fill out the table of sizes with entries for 64Mb parts. Prodded by Peter Crosthwaite. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 805695daf64879959e3ea357fe9c391ddacea9c6 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Jul 9 10:07:53 2013 -0400 Fix command example in qemu.sasl sasldblistusers2 doesn't have a '-a' option Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 0e44486cdccb4c1f9e5fad390cfd7186850c7204 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jul 13 13:10:05 2013 +0400 slirp: remove mbuf(m_hdr,m_dat) indirection commit 43be1343667ae03cfb0c9ea4d56575c61b5c8d92 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 15 15:17:40 2013 +0200 linux-user: declare sys_futex to have 6 arguments sys_futex has 6 arguments, and all of these need to be copied. Fix incorrect declaration in the mips_syscall_args array. This change fixes the cases where the 5th and 6th arguments have non-zero value and have importance. An example is a Linux implementation of pthread_cond_wait() function. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a23fdf355969d331f60593fa5b857d43aec25aac Author: Peter Lieven <pl@xxxxxxx> Date: Mon Jul 15 12:49:34 2013 +0200 block/raw: add .bdrv_get_info Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4e7395e84fc7534f6a6c6f3d5563e770501dbe2e Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 18 10:37:32 2013 +0200 block: fix bdrv_read_unthrottled() Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 594a45ce64dbef1829996403506a1154eb2fd1cc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Jul 18 14:52:19 2013 +0200 cpus: Let vm_stop[_force_state]() always flush block devices Even if the VM is already stopped, we cannot assume that all data has already been successfully flushed to disk. The flush during the previous vm_stop() could have failed. Run bdrv_flush_all() unconditionally so that we get an error each time if the block device isn't really flushed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 323004a39d4d8d33c744a5b108f80bfe6402fca3 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 18 09:48:50 2013 +0200 block-migration: efficiently encode zero blocks this patch adds a efficient encoding for zero blocks by adding a new flag indicating a block is completely zero. additionally bdrv_write_zeros() is used at the destination to efficiently write these zeroes. depending on the implementation this avoids that the destination target gets fully provisioned. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8bf9344ad6883e6d85b69bab36d9d76e4257e9ed Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:23 2013 +0200 block/raw: add bdrv_co_write_zeroes Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4105eaaab9376ea959de711b81bba9e1494c971d Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:22 2013 +0200 block: add bdrv_write_zeroes() Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 78f27bd02ceba4a2f6ac5c725f4d4410eec205ef Author: Fam Zheng <famz@xxxxxxxxxx> Date: Wed Jul 17 17:57:37 2013 +0800 block: fix vvfat error path for enable_write_target s->qcow and s->qcow_filename are allocated but not freed on error. Fix the possible leaks, remove unnecessary check for bdrv_new(), propagate ret code of bdrv_create() and also the one of enable_write_target(). Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dcc772e2f2b7c2a68644133fea2b874f6751a57b Author: Liu Ping Fan <qemulist@xxxxxxxxx> Date: Tue Jul 16 12:28:58 2013 +0800 QEMUBH: make AioContext's bh re-entrant BH will be used outside big lock, so introduce lock to protect between the writers, ie, bh's adders and deleter. The lock only affects the writers and bh's callback does not take this extra lock. Note that for the same AioContext, aio_bh_poll() can not run in parallel yet. Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9154b02c53bb6685797c973fcdbec51c4714777d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jul 1 13:29:17 2013 +0200 dataplane: sync virtio.c and vring.c virtqueue state Load the virtio.c state into vring.c when we start dataplane mode and vice versa when stopping dataplane mode. This patch makes it possible to start and stop dataplane any time while the guest is running. This will eventually allow us to go back to QEMU main loop for bdrv_drain_all() and live migration. In the meantime, this patch makes the dataplane lifecycle more robust but should make no visible difference. It may be useful in the virtio-net dataplane effort. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0c14fb47ece5ef42d7a0a4b3e8e43e022b375720 Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 16 21:47:42 2013 +0530 gluster: Add discard support for GlusterFS block driver. Implement bdrv_aio_discard for gluster. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e01bee0881e0f0c8a79555f6729d7238841a5b04 Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 16 21:47:41 2013 +0530 gluster: Use pkg-config to configure GlusterFS block driver Use pkg-config to determine the version and library dependency for GlusterFS block driver. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 24943978cbe79634a9a8b02a20efb25b29b3ab49 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:23 2013 +0200 boot-order-test: Add tests for Sun4u Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-13-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26491a388ce69d80c6d7d2b15ddf93d4399f04bc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:22 2013 +0200 libqos: Generalize I/O-mapped fw_cfg Provide a constructor that takes the base address in addition to the PC-specific one. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-12-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f88dc7dd4d5942714672aa293a3357f5c6469568 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:21 2013 +0200 boot-order-test: Add tests for Sun4m Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-11-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e99f87cc86ba57a57d2472342a51d21f1e8b4966 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:20 2013 +0200 boot-order-test: Add tests for PowerPC PREP Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-10-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 484986e24282e922e5acb1db2c2b324e55c39ea4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:19 2013 +0200 boot-order-test: Code motion for better readability Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-9-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit aea6a16907ca377d450d344dddda8456f87d5c0b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:18 2013 +0200 boot-order-test: Better separate target-specific and generic parts The initial version did just PC. I didn't bother to separate out generic parts, because I don't like to abstract from a single case. Now we have two cases, PC and PowerMac, and I'm about to add more. Time to do it right. To ease review, this commit changes the code in-place, and the next commit reorders it for better readability. Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 995b0e136fca7786657c5b63fa094032114615e3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:17 2013 +0200 boot-order-test: Cover -boot once in ppc tests Cc: Andreas Färber <afaerber@xxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 530a7e48bccddd8f1558f48cd4e3f6d46c272c83 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 26 15:52:16 2013 +0200 boot-order-test: Add tests for PowerMacs They set the boot device via fw_cfg, which is then translated to a boot path of "hd" or "cd" in OpenBIOS. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-6-git-send-email-armbru@xxxxxxxxxx Cc: Alexander Graf <agraf@xxxxxxx> Cc: qemu-ppc@xxxxxxxxxx Converted to libqos/fw_cfg on Anthony's request. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7a10016509f740ef33b7875630d6c3549d57c6e8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:15 2013 +0200 libqos: Add support for memory-mapped fw_cfg Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db2b5500c9780730b8ad09fca4a1d2de365dcbf0 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jun 26 15:52:14 2013 +0200 libqos: include dependencies Otherwise rebuilds can fail when libqos is modified. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit edbd790d20cf19d039dfe431aaf0973a9e0afa8f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:13 2013 +0200 boot-order-test: New; covering just PC for now Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ba646ff6a3149f416424122c628e798be4957997 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jun 26 15:52:12 2013 +0200 qtest: Don't reset on qtest chardev connect libqtest's qtest_init() connecting to the qtest socket triggers reset. This was coded in the hope we could use the same QEMU process for multiple tests that way. Never used. Injects an extra reset even when it's not used, and that can mess up tests such as the one of -boot once I'm about to add. Drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372254743-15808-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1d9358e686125c125b52529fa68baf36aa2d0d09 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 20 08:55:29 2013 +0200 libqtest: New qtest_end() to go with qtest_start() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371711329-9144-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fdd26fca3ce66863e547560fbde1a444fc5d71b7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 20 08:55:28 2013 +0200 libqtest: Plug fd and memory leaks in qtest_quit() Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371711329-9144-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 293d2a0014a0e849477413f55aaa05f2743b2e04 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Jul 16 20:19:41 2013 +0200 monitor: maintain at most one G_IO_OUT watch When monitor_flush() is invoked repeatedly outside the monitor_unblocked() callback, for example from tlb_info() -> ... -> print_pte(), several watches may be added for the same event. This is no problem per se because the extra monitor_unblocked() callbacks are harmless if mon->outbuf is empty, the watches will be removed gradually. However a big number of watches can grow "gpollfds" without limit in glib_pollfds_fill(), triggering a -1/EINVAL condition in g_poll(). Keep at most one such watch, by following the pattern observable in eg. commits c874ea97 and c3d6b96e. The change has no effect when monitor_unblocked() calls monitor_flush() (when the watch can either be removed or renewed 1-for-1), but non-callback contexts won't create an additional watch when the monitor already has one. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=970047 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1373998781-29561-3-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ac8c26f633b01bb32cdf347f9dbd5a80c6712925 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Jul 16 20:19:40 2013 +0200 char: io_channel_send: don't lose written bytes The g_io_channel_write_chars() documentation states, bytes_written: The number of bytes written. This can be nonzero even if the return value is not G_IO_STATUS_NORMAL. [...] io_channel_send() could lose such bytes before. Furthermore, the (status == G_IO_STATUS_EOF) condition used to evaluate to constant false whenever it was reached. When that condition actually held, it always led to -1 / EINVAL. This patch (almost) distinguishes G_IO_STATUS_EOF only when no bytes have been written, and then treats it as an error. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1373998781-29561-2-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0d185e638861bd9b05b2abb43774a368cadabd38 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jul 18 16:42:01 2013 +0100 configure: Provide more helpful message if libvte not present If the system has GTK but not libvte, it's more helpful to tell the user that libvte is missing than to simply say that GTK is not present. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1374162121-31582-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b957a1b03cfd56134519ebc01ba8fe1b166c0c84 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 16 06:48:28 2013 -0700 pc-bios: Update palcode-clipper Update image to c87a92639b28ac42bc8f6c67443543b405dc479b, incorporating changes for vm_time. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 19e0cbb82ffab7220cdbcc78ab2c1dac823ce4e3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jul 16 06:45:57 2013 -0700 target-alpha: Move alarm to vm_clock Basing the alarm off the rtc_clock was silly. It leads to horrible spinning in the guest after being suspended and resumed, as it tries to catch up with lost ticks. This requires adding an accessor for reading the vm_clock too. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 28199c48ed44895012ae0be3b6e8f080404a4d34 Merge: bbcf59b... 7b4b0e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:14:22 2013 -0500 Merge remote-tracking branch 'awilliam/tags/vfio-for-qemu-1.6' into staging vfio: enhanced VGA quirks + AER error containment # gpg: Signature made Wed 17 Jul 2013 05:39:38 PM CDT using RSA key ID 3BB08B22 # gpg: Can't check signature: public key not found # By Alex Williamson (1) and Vijay Mohan Pandarathil (1) # Via Alex Williamson * awilliam/tags/vfio-for-qemu-1.6: vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices vfio-pci: VGA quirk update Message-id: 20130717224939.4763.87264.stgit@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bbcf59bc4ba813b1ff8f1312585f773a675b2e3e Merge: 5ab4dba... f9b1d9b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:14:10 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Amos Kong (1) and Luiz Capitulino (1) # Via Luiz Capitulino * luiz/queue/qmp: qmp: update send-key document qapi: qapi-commands: fix possible leaks on visitor dealloc Message-id: 1374093679-29213-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5ab4dba4dac1932f8b14561772d3473d02ccd259 Merge: e9acb8c... 0777b5d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:13:50 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Peter Lieven (4) and Ronnie Sahlberg (1) # Via Paolo Bonzini * bonzini/scsi-next: iscsi: factor out sector conversions iscsi: assert that sectors are aligned to LUN blocksize iscsi: remove support for misaligned nb_sectors in aio_readv iscsi: fix -ENOSPC in iscsi_create() Fix iSCSI crash on SG_IO with an iovector Message-id: 1374073524-8469-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9acb8cea9b11679cab8cb3c20c4348803bbb58a Merge: 6453a3a... d26d9e1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jul 18 08:12:47 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,net,pc enhancements This includes some fixes and enhancements that accumulated in my tree: pci fixes by dkoch, virtio-net enhancements by akong and mst, and a fix for xen pc by mst. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Wed 17 Jul 2013 04:44:45 AM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Don Koch (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: pc: don't access fw cfg if NULL virtio-net: add feature bit for any header s/g net: add support of mac-programming over macvtap in QEMU side pci: fix BRDIGE typo pci-bridge: update mappings for migration/restore Message-id: 1374054430-21966-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e1622f4b15391bd44eb0f99a244fdf19a20fd981 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 17 13:17:41 2013 +0200 exec: fix incorrect assumptions in memory_access_size access_size_min can be 1 because erroneous accesses must not crash QEMU, they should trigger exceptions in the guest or just return garbage (depending on the CPU). I am not sure I understand the comment: placing a 4-byte field at the last byte of a region makes no sense (unless impl.unaligned is true), and that is why memory.c:access_with_adjusted_size does not bother with minimums larger than the remaining length. access_size_max can be mr->ops->valid.max_access_size because memory.c can and will still break accesses bigger than mr->ops->impl.max_access_size. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Tested-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9b8c69243585a32d14b9bb9fcd52c37b0b5a1b71 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Jul 16 14:45:16 2013 +0200 memory: Return -1 again on reads from unsigned regions This restore the behavior prior to b018ddf633 which accidentally changed the return code to 0. Specifically guests probing for register existence were affected by this. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4afea11aafe85975e74dd562bb94f7ce3de1ef1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 15 15:48:50 2013 +0200 memory: actually set the owner Brown paper bag for me. Originally commit 803c0816 came before commit 2c9b15c. When the order was inverted, I left in the NULL initialization of mr->owner. Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb85f7ab045e8c05ee182b3573c9aba8e287e36b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 8 09:44:04 2013 +0100 exec.c: Pass correct pointer type to qemu_ram_ptr_length Commit e3127ae0 introduced a problem where we're passing a hwaddr* to qemu_ram_ptr_length() but it wants a ram_addr_t*; this will cause problems on 32 bit hosts and in any case provokes a clang warning on MacOSX: CC arm-softmmu/exec.o exec.c:2164:46: warning: incompatible pointer types passing 'hwaddr *' (aka 'unsigned long long *') to parameter of type 'ram_addr_t *' (aka 'unsigned long *') [-Wincompatible-pointer-types] return qemu_ram_ptr_length(raddr + base, plen); ^~~~ exec.c:1392:63: note: passing argument to parameter 'size' here static void *qemu_ram_ptr_length(ram_addr_t addr, ram_addr_t *size) ^ Since this function is only used in one place, change its prototype to pass a hwaddr* rather than a ram_addr_t*, rather than contorting the calling code to get the type right. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3ba00637d024b9d43b26106060a23a85411d0757 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:21 2013 +0200 trace-events: Fix up source file comments They're all wrong since (at least) Paolo's big source tree reorganization. Need to shuffle some event declarations around to keep them under the correct source file comment. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3ae76d23d21a1f47390c6abe3497c33b708aec1f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:20 2013 +0200 trace-events: Drop unused events Dropped event Unused since mirror_cow 884fea4 paio_complete 47e6b25 paio_cancel 47e6b25 usb_ehci_data 0ce668b megasas_qf_dequeue never used megasas_handle_frame never used megasas_io_continue never used megasas_iovec_map_failed never used megasas_dcmd_map_failed never used milkymist_softusb_mouse_event 4c15ba9 xen_map_block 6506e4f xen_unmap_block 6506e4f qemu_spice_start 67be672 qemu_spice_stop 67be672 Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0ece9671fd22e3ea518aa30f941e8794116985e7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:19 2013 +0200 milkymist-minimac2: Fix minimac2_read/_write tracepoints Broken in milkymist-minimac.c from the start (commit 0742454), faithfully moved to milkymist-minimac2.c (commit 57aa265). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f3a64b8c89ac9b5111f97e2653d249e4668764b3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:18 2013 +0200 slavio_misc: Fix slavio_led_mem_readw/_writew tracepoints Broken since they got added in commit 97bf485. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f0c03c8cf6184f25ba91449c1ff77e5e006ce514 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 12:59:17 2013 +0200 cleanup-trace-events.pl: New Simple script to drop unused events and fix up source file comments. The next few commits put it to use. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f9b1d9b20f5d25b95f67a498e312f625d168fc51 Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Jul 16 19:52:14 2013 +0800 qmp: update send-key document commit 9f328977 changes qmp_send_key() to accept key codes in hex, but the document wasn't updated. The items of keys list is union now, not enum. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 0777b5dde42f4f453abc8bb2c4e145fb8749415d Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:25 2013 +0200 iscsi: factor out sector conversions Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:27 2013 +0200 iscsi: assert that sectors are aligned to LUN blocksize if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE it is possible that sector_num or nb_sectors are not correctly aligned. to avoid corruption we fail requests which are misaligned. Signed-off-by: Peter Lieven <pl@xxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:26 2013 +0200 iscsi: remove support for misaligned nb_sectors in aio_readv this hask is not working (anymore). support for misaligned offsets should be handled at the block layer. Signed-off-by: Peter Lieven <pl@xxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d3bda7bc166f40326ba646ee145630bb1b59da96 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Jul 11 14:16:24 2013 +0200 iscsi: fix -ENOSPC in iscsi_create() the -ENOPSC case did not work due to the missing goto. Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0a53f010745635c39a83756a948df60a84e88fe5 Author: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> Date: Sun Jun 23 08:07:08 2013 -0700 Fix iSCSI crash on SG_IO with an iovector Don't assume that SG_IO is always invoked with a simple buffer, check the iovec_count and if it is >= 1 then we need to pass an array of iovectors to libiscsi instead of just a plain buffer. Signed-off-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8f91ad8a1b4702966d91ea58cd90bbde1faea1b3 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu Jul 11 14:26:56 2013 -0400 qapi: qapi-commands: fix possible leaks on visitor dealloc In qmp-marshal.c the dealloc visitor calls use the same errp pointer of the input visitor calls. This means that if any of the input visitor calls fails, then the dealloc visitor will return early, before freeing the object's memory. Here's an example, consider this code: int qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict, QObject **ret) { [...] char * device = NULL; char * password = NULL; mi = qmp_input_visitor_new_strict(QOBJECT(args)); v = qmp_input_get_visitor(mi); visit_type_str(v, &device, "device", errp); visit_type_str(v, &password, "password", errp); qmp_input_visitor_cleanup(mi); if (error_is_set(errp)) { goto out; } qmp_block_passwd(device, password, errp); out: md = qapi_dealloc_visitor_new(); v = qapi_dealloc_get_visitor(md); visit_type_str(v, &device, "device", errp); visit_type_str(v, &password, "password", errp); qapi_dealloc_visitor_cleanup(md); [...] return 0; } Consider errp != NULL when the out label is reached, we're going to leak device and password. This patch fixes this by always passing errp=NULL for dealloc visitors, meaning that we always try to free them regardless of any previous failure. The above example would then be: out: md = qapi_dealloc_visitor_new(); v = qapi_dealloc_get_visitor(md); visit_type_str(v, &device, "device", NULL); visit_type_str(v, &password, "password", NULL); qapi_dealloc_visitor_cleanup(md); Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7b4b0e9eda51902b53bc1a2318df53cdb8b72eed Author: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx> Date: Mon Jul 15 15:49:49 2013 -0600 vfio: QEMU-AER: Qemu changes to support AER for VFIO-PCI devices Add support for error containment when a VFIO device assigned to a KVM guest encounters an error. This is for PCIe devices/drivers that support AER functionality. When the host OS is notified of an error in a device either through the firmware first approach or through an interrupt handled by the AER root port driver, the error handler registered by the vfio-pci driver gets invoked. The qemu process is signaled through an eventfd registered per VFIO device by the qemu process. In the eventfd handler, qemu decides on what action to take. In this implementation, guest is brought down to contain the error. The kernel patches for the above functionality has been already accepted. This is a refresh of the QEMU patch which was reviewed earlier. http://marc.info/?l=linux-kernel&m=136281557608087&w=2 This patch has the same contents and has been built after refreshing to latest upstream and after the linux headers have been updated in qemu. - Create eventfd per vfio device assigned to a guest and register an event handler - This fd is passed to the vfio_pci driver through the SET_IRQ ioctl - When the device encounters an error, the eventfd is signalled and the qemu eventfd handler gets invoked. - In the handler decide what action to take. Current action taken is to stop the guest. Signed-off-by: Vijay Mohan Pandarathil <vijaymohan.pandarathil@xxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 39360f0b91d38790b5756d621ca9a7dd93ca8816 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Jul 15 15:48:11 2013 -0600 vfio-pci: VGA quirk update Turns out all the suspicions for AMD devices were correct, everywhere we read a BAR address that the address matches the config space offset, there's full access to PCI config space. Attempt to generalize some helpers to allow quirks to easily be added for mirrors and windows. Also fill in complete config space for AMD. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit f290e4988dd8eb012de0517a1ff93df130e87da1 Merge: a281778... c6d8ed2... Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 15 13:21:10 2013 -0700 Merge git://github.com/hw-claudio/qemu-aarch64-queue into tcg-next commit a28177820a868eafda8fab007561cc19f41941f4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 18 19:20:47 2013 +0200 tcg: Remove temp_buf All targets have been converted to allocating space for temporaries on the stack. No need to allocate space within the CPU_COMMON block. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6453a3a69488196f26d12654c6b148446abdf3d6 Merge: 2562bec... 7ca1dfa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:49:15 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Chegu Vinod # Via Juan Quintela * quintela/migration.next: Force auto-convegence of live migration Add 'auto-converge' migration capability Introduce async_run_on_cpu() Message-id: 1373664508-5404-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2562becfc126ed7678c662ee23b7c1fe135d8966 Merge: ab4e158... bf72d89... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:02:41 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Dominik Dingel # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Enable x-data-plane for virtio-ccw-blk Message-id: 1373903207-27085-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab4e1589f072c7a5d1238c7f0d289c163c7736b2 Merge: 1750d01... 82a3a11... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:02:32 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130715-1' into staging target-arm queue # gpg: Signature made Mon 15 Jul 2013 11:15:13 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Mans Rullgard (3) and others # Via Peter Maydell * pmaydell/tags/pull-target-arm-20130715-1: target-arm: Avoid g_hash_table_get_keys() target-arm: avoid undefined behaviour when writing TTBCR target-arm/helper.c: Allow const opaques in arm CP target-arm/helper.c: Implement MIDR aliases target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup target-arm: explicitly decode SEVL instruction target-arm: implement LDA/STL instructions target-arm: add feature flag for ARMv8 Message-id: 1373905022-27735-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1750d019cea1e2383d3283eaad38cd0f93d07b11 Merge: a34001f... b25a83f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:02:12 2013 -0500 Merge remote-tracking branch 'pmaydell/tags/pull-arm-devs-20130715' into staging arm-devs queue # gpg: Signature made Mon 15 Jul 2013 10:53:44 AM CDT using RSA key ID 14360CDE # gpg: Can't check signature: public key not found # By Peter Maydell (4) and others # Via Peter Maydell * pmaydell/tags/pull-arm-devs-20130715: ARM/highbank: add support for Calxeda ECX-2000 / Midway ARM/highbank: prepare for adding similar machines hw/arm/vexpress: Add alias for flash at address 0 on A15 board hw/dma/omap_dma: Fix bugs with DMA requests above 32 sd/pl181.c: Avoid undefined shift behaviour in RWORD macro hw/cpu/a15mpcore: Correct default value for num-irq char/cadence_uart: Fix reset for unattached instances Message-id: 1373904095-27592-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a34001fab5da2d0df605a8b83880c917c8aa0606 Merge: 5699a02... e605e96... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:00:57 2013 -0500 Merge remote-tracking branch 'rth/axp-next' into staging # By Richard Henderson # Via Richard Henderson * rth/axp-next: hw/alpha: Use SRM epoch hw/alpha: Drop latch_tmp hack exec: Support 64-bit operations in address_space_rw hw/alpha: Don't machine check on missing pci i/o hw/alpha: Don't use get_system_io Message-id: 1373840171-25556-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5699a02e01a4d046652bc6e77abd67e887ae209c Merge: c3cb8e7... a62eaa2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 15 14:00:32 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (6) and Stefan Hajnoczi (2) # Via Kevin Wolf * kwolf/for-anthony: ahci: Fix FLUSH command migration: Fail migration on bdrv_flush_all() error cpus: Add return value for vm_stop() block: Add return value for bdrv_flush_all() qemu-iotests: Update 051 reference output block: Don't parse protocol from file.filename block: add drive_backup HMP command blockdev: add sync mode to drive-backup QMP command Message-id: 1373887000-4488-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d26d9e14c15837eba2b7447e8d15230bab8e0940 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Jul 10 18:28:04 2013 +0300 pc: don't access fw cfg if NULL commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c "pc: pass PCI hole ranges to Guests" broke Xen as it has no fw_cfg. Check for this configuration and boil out. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 488f069bd1f3aeb6ee748acb02b7581831bcb3f8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Jul 11 16:06:46 2013 +0300 virtio-net: add feature bit for any header s/g Old qemu versions required that 1st s/g entry is the header. Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup" removed this limitation but a feature bit is needed so guests know it's safe to lay out header differently. This patch applies on top and adds such a feature bit to QEMU. It is set by default for virtio-net. virtio net header inline with the data is beneficial for latency and small packet bandwidth - guest driver code utilizing this feature has been acked but missed 3.11 by a narrow margin, it's pending for 3.12. This feature bit is cleared by default when compatibility with old machine types is requested. Other performance-sensitive devices (blk and scsi) don't yet support arbitrary s/g layouts, so we only set this bit for virtio-net for now. There are plans to allow arbitrary layouts there, but no code has been posted yet. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit b1be42803b31a913bab65bab563a8760ad2e7f7f Author: Amos Kong <akong@xxxxxxxxxx> Date: Fri Jun 14 15:45:52 2013 +0800 net: add support of mac-programming over macvtap in QEMU side Currently macvtap based macvlan device is working in promiscuous mode, we want to implement mac-programming over macvtap through Libvirt for better performance. Design: QEMU notifies Libvirt when rx-filter config is changed in guest, then Libvirt query the rx-filter information by a monitor command, and sync the change to macvtap device. Related rx-filter config of the nic contains main mac, rx-mode items and vlan table. This patch adds a QMP event to notify management of rx-filter change, and adds a monitor command for management to query rx-filter information. Test: If we repeatedly add/remove vlan, and change macaddr of vlan interfaces in guest by a loop script. Result: The events will flood the QMP client(management), management takes too much resource to process the events. Event_throttle API (set rate to 1 ms) can avoid the events to flood QMP client, but it could cause an unexpected delay (~1ms), guests guests normally expect rx-filter updates immediately. So we use a flag for each nic to avoid events flooding, the event is emitted once until the query command is executed. The flag implementation could not introduce unexpected delay. There maybe exist an uncontrollable delay if we let Libvirt do the real change, guests normally expect rx-filter updates immediately. But it's another separate issue, we can investigate it when the work in Libvirt side is done. Michael S. Tsirkin: tweaked to enable events on start Michael S. Tsirkin: fixed not to crash when no id Michael S. Tsirkin: fold in patch: "additional fixes for mac-programming feature" Amos Kong: always notify QMP client if mactable is changed Amos Kong: return NULL list if no net client supports rx-filter query Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 82a3a11897308b606120f7235001e87809708f85 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jul 1 12:40:19 2013 +0100 target-arm: Avoid g_hash_table_get_keys() g_hash_table_get_keys() was only introduced in glib 2.14, and we're still targeting a minimum version of 2.12. Rewrite the offending code (introduced in commit 721fae1) to use g_hash_table_foreach() to build the list of keys. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1372678819-8633-1-git-send-email-peter.maydell@xxxxxxxxxx commit 2ebcebe262e88111ff583f97bc5fe0aae64b8940 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 16:38:47 2013 +0100 target-arm: avoid undefined behaviour when writing TTBCR LPAE CPUs have more potentially valid bits in the TTBCR, and so the simple masking out of invalid bits is no longer sufficient to obtain the base address width field of the register, which is what we use to precalculate c2_mask and c2_base_mask. Explicitly extract the relevant register field rather than simply shifting by the register value. This bug would have had no ill effects in practice, since if the EAE bit (TTBCR bit 31) is set then we don't use the precalculated masks, and if EAE is zero then bits 30..3 are all UNK/SBZP, so well-behaved guests won't set them. However the shift is undefined behaviour, so we should avoid it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372347527-4428-1-git-send-email-peter.maydell@xxxxxxxxxx commit 204a9c43afb92e2ff44fc9d1d377bc98ee97e3d7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Jul 10 14:22:59 2013 +1000 target-arm/helper.c: Allow const opaques in arm CP Allow for defining const opaque data in ARM CP register definitions by setting .opaque = foo. If non null opaque is passed into define_one_arm_cp_reg_with_opaque then that opaque will take precedence, otherwise if null opaque is passed, the original opaque data will be used. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: cf0a3ac3438d97464240db9f5f4ef1585cbc1d77.1373429432.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 97ce8d61559b99492b4d389eba51a198e55b8455 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Jul 10 14:22:21 2013 +1000 target-arm/helper.c: Implement MIDR aliases Unimplemented registers in the cp15, CRn=0, opc1=0, CRm=0 space default to aliasing the MIDR register. Set all registers in the space to access MIDR by default. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 6127846712b7ad2727354a4f5e1d809451f1e859.1373429432.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a703eda18a5c3e9b45f2b9a337a3e1e16c836cf9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Jul 10 14:21:42 2013 +1000 target-arm/helper.c: OMAP/StrongARM cp15 crn=0 cleanup The if block detecting OMAP/StrongARM modifies the id_cp_reginfo .access fields in place. So there is no need to replicate the call to define_arm_cp_reg(). Dropped, and let the OMAP case fall through to the normal behaviour after the in-place modification. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 72aae9b8ebbc9a76d2b06faf8666ef8a4b34b92a.1373429432.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 12b10571141a20e1c23d3b597e55d5d1a3113265 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Mon Jul 15 14:35:25 2013 +0100 target-arm: explicitly decode SEVL instruction The ARMv8 SEVL instruction is in the architectural hint space already emulated as nop. This makes the decoding of SEVL explicit for clarity. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Message-id: 1370606786-5650-3-git-send-email-mans@xxxxxxxxx [PMM: added 'SEVL' to the TODO comment] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2359bf80c1c4e8ed1e7ddb03661fec6bace82a87 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Mon Jul 15 14:35:25 2013 +0100 target-arm: implement LDA/STL instructions This adds support for the ARMv8 load acquire/store release instructions. Since qemu does nothing special for memory barriers, these can be emulated like their non-acquire/release counterparts. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit bf72d89f0a8fb27a6bfde1a689690fd577227762 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 11 13:22:19 2013 +0200 virtio-ccw: Enable x-data-plane for virtio-ccw-blk Add property x-data-plane to virtio-ccw-blk devices. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b25a83f0538fceede15cba6cfd6ea0f1ffc9d777 Author: Andre Przywara <andre.przywara@xxxxxxxxxxx> Date: Fri Jul 5 14:21:37 2013 +0200 ARM/highbank: add support for Calxeda ECX-2000 / Midway The Calxeda ECX-2000 chip (aka. Midway) is model-wise quite similar to the Highbank. The most prominent difference is the Cortex-A15 CPU core in it, together with the associated core peripherals. Add a new ARM machine type called "midway". Move the L2 cache controller device into the Highbank specific part, since Midway does not have (and need) it. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx> Message-id: 1373026897-12085-3-git-send-email-andre.przywara@xxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 574f66bcbe10cd8fbf8bbf6d87451a944ae421bd Author: Andre Przywara <andre.przywara@xxxxxxxxxxx> Date: Fri Jul 5 14:21:36 2013 +0200 ARM/highbank: prepare for adding similar machines To allow the modelling of machines similar to Calxeda Highbank, introduce a parameter to the init function and call it from a wrapper. This allows to tweak the definition for individual machines later on. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxxx> Message-id: 1373026897-12085-2-git-send-email-andre.przywara@xxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8941d6ce25b43824cf96d30cb94742e02e80b2f2 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 9 13:49:40 2013 +0100 hw/arm/vexpress: Add alias for flash at address 0 on A15 board The A15 Versatile Express board can remap a variety of things at address 0. We don't currently emulate the Serial Configuration Controller which is how the guest can control this remapping, but we can provide the initial default mapping of the first flash device into this space. In particular this allows QEMU to boot flash images such as UEFI which expect to include an exception vector table. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Grant Likely <grant.likely@xxxxxxxxxx> Message-id: 1373374180-19884-1-git-send-email-peter.maydell@xxxxxxxxxx commit 7648673636bbd7dcb9abf3cc87a8ba7a65b85436 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 13:51:59 2013 +0100 hw/dma/omap_dma: Fix bugs with DMA requests above 32 The drqbmp field of struct soc_dma_s is a uint64_t; however several places in the code attempt to set bits in it using "(1 << drq)", which will fail if drq is large enough that the 1 bit gets shifted off the top of a 32 bit integer. Change these to "(1ULL << drq)" so that the promotion to 64 bit happens before the shift rather than afterwards. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372423919-5669-1-git-send-email-peter.maydell@xxxxxxxxxx commit 8827b0fb66cab9f7978c4e66dad4cf3c0989a72e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 15:03:51 2013 +0100 sd/pl181.c: Avoid undefined shift behaviour in RWORD macro Add a cast to avoid potentially shifting into the sign bit of a signed value, which is undefined behaviour in C. (Detected with clang's -fsanitize=undefined.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372341831-4264-1-git-send-email-peter.maydell@xxxxxxxxxx commit 528622421eb1be95eaadfe91e8e11729d1e46431 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jul 5 14:54:41 2013 +0100 hw/cpu/a15mpcore: Correct default value for num-irq The a15mpcore device claims that its default value for num-irq is the number of interrupts used by the A15MP in the vexpress-a15 board. However that chip has 128 external interrupts, not 64. Since there is only one A15 based model in QEMU currently, we can fix this by simply changing the default value. This error was causing recent (3.10) Linux kernels to print warnings/backtraces when the number of interrupts reported by the GIC was smaller than an interrupt number they wanted to use. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1373032481-15280-1-git-send-email-peter.maydell@xxxxxxxxxx commit 81e69fb093099ec5dccd61c92cec308f83091511 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Mon Jul 15 14:35:25 2013 +0100 target-arm: add feature flag for ARMv8 Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9121d02cb33c96b444a3973579f5edc119597e81 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jul 15 12:28:07 2013 +0100 char/cadence_uart: Fix reset for unattached instances commit 1db8b5efe0c2b5000e50691eea61264a615f43de introduced an issue where QEMU would segfault if you have an unattached Cadence UART. Fix by guarding the flush-on-reset logic on there being a qemu_chr attachment. Reported-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Message-id: 9009578ee10a50d994b2e10aa2840d73765f5968.1370577272.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c6d8ed24b446b1f1e07af87cde54317f54a1d42e Author: Jani Kokkonen <Jani.Kokkonen@xxxxxxxxxx> Date: Wed Jul 10 17:02:00 2013 +0200 tcg/aarch64: Implement tlb lookup fast path Supports CONFIG_QEMU_LDST_OPTIMIZATION Signed-off-by: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> commit a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 15 11:25:55 2013 +0200 ahci: Fix FLUSH command AHCI couldn't cope with asynchronous commands that aren't doing DMA, it simply wouldn't complete them. Due to the bug fixed in commit f68ec837, FLUSH commands would seem to have completed immediately even if they were still running on the host. After the commit, they would simply hang and never unset the BSY bit, rendering AHCI unusable on any OS sending flushes. This patch adds another callback for the completion of asynchronous commands. This is what AHCI really wants to use for its command completion logic rather than an DMA completion callback. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0e1146a7a011a69d8cbc958b4f7ebad186730fc3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 5 13:54:55 2013 +0200 migration: Fail migration on bdrv_flush_all() error If bdrv_flush_all() returns an error, there is an inconsistency in the view of an image file between the source and the destination host. Completing the migration would lead to corruption. Better abort migration in this case. To reproduce this case, try the following (ensures that there is something to flush, and then fails that flush): $ qemu-img create -f qcow2 test.qcow2 1G $ cat blkdebug.cfg [inject-error] event = "flush_to_os" errno = "5" $ qemu-system-x86_64 -hda blkdebug:blkdebug.cfg:test.qcow2 -monitor stdio (qemu) qemu-io ide0-hd0 "write 0 4k" (qemu) migrate ... Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5698346391b306c2c84358c68ee897c095d714cc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 5 13:49:54 2013 +0200 cpus: Add return value for vm_stop() If flushing the block devices fails, return an error. The VM is stopped anyway. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f0f0fdfeec6c67ad374114ecc4b3e3ccde5e94d2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jul 5 13:48:01 2013 +0200 block: Add return value for bdrv_flush_all() bdrv_flush() can fail, and bdrv_flush_all() should return an error as well if this happens for a block device. It returns the first error return now, but still at least tries to flush the remaining devices even in error cases. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7a370406bdd13b1d46230d1cbca308d984d0dcae Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 10 17:30:26 2013 +0200 qemu-iotests: Update 051 reference output This has been broken by commit bd5c51ee. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 98289620e0460fa595581020ab20127da4a2fc44 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jul 10 15:47:39 2013 +0200 block: Don't parse protocol from file.filename One of the major reasons for doing something new for -blockdev and blockdev-add was that the old block layer code parses filenames instead of just taking them literally. So we should really leave it untouched when it's passing using the new interfaces (like -drive file.filename=...). This allows opening relative file names that contain a colon. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit de90930a0c45760e7523138fac57ff07312bf51d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Jun 26 14:11:58 2013 +0200 block: add drive_backup HMP command Make "drive_backup" available on the HMP monitor: drive_backup [-n] [-f] device target [format] The -n flag requests QEMU to reuse the image found in new-image-file, instead of recreating it from scratch. The -f flag requests QEMU to copy the whole disk, so that the result does not need a backing file. Note that this flag *must* currently be passed since the other sync modes ('none' and 'top') have not been implemented yet. Requiring it ensures that "drive_backup" behaves like "drive_mirror". Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b53169eae06d6cf6f512a8b1fdd5424a0a6aab85 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Jun 26 14:11:57 2013 +0200 blockdev: add sync mode to drive-backup QMP command The drive-backup command is similar to the drive-mirror command, except no guest data written after the command executes gets copied. Add a sync mode argument which determines whether the entire disk is copied, just allocated clusters, or only clusters being written to by the guest. Currently only sync mode 'full' is supported - it copies the entire disk. For read-only point-in-time snapshots we may only need sync mode 'none' since the target can be a qcow2 file using the guest's disk as its backing file (no need to copy the entire disk). Finally, sync mode 'top' is useful if we wish to preserve the backing chain. Note that this patch just adds the sync mode argument to drive-backup. It does not implement sync modes 'top' or 'none'. This patch is necessary so we can add a drive-backup HMP command that behaves like the existing drive-mirror HMP command and takes a sync mode. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e605e969953d793036dbd450da6b59bb434fb3d8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Jul 13 17:23:37 2013 -0700 hw/alpha: Use SRM epoch The 1980 epoch is used by the ARC PALcode for NT. But we're emulating a system using the SRM PALcode. Using the proper epoch results in less confusion in the guest userland. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 678421650dc166cd6cb35bb2bc0baf1b481b40ca Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 14:57:39 2013 -0700 hw/alpha: Drop latch_tmp hack The memory and i/o core now support passing 64-bit accesses along from the guest, so we no longer need to emulate them. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 23326164ae6fe8d94b7eff123e03f97ca6978d33 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 14:55:59 2013 -0700 exec: Support 64-bit operations in address_space_rw Honor the implementation maximum access size, and at least check the minimum access size. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3661049fec64ffd7ab008e57e396881c6a4b53a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 15:46:37 2013 -0700 hw/alpha: Don't machine check on missing pci i/o Not really correct, but we don't implement all of the random devices that the kernel looks for. This is good enough to keep us booting. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 056e6bae1c91f47165d962564f82f5176bae47f0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jul 8 13:55:30 2013 -0700 hw/alpha: Don't use get_system_io Advancements in the ioport subsystem mean that we need no longer thunk memory-mapped i/o through the system-io address space. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c3cb8e77804313e1be99b5f28a34a346736707a5 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 12 14:37:47 2013 -0500 ioport: remove LITTLE_ENDIAN mark for portio Setting it to LE forces a byte swap when host != guest endian but this makes no sense at all. Herve made the suggestion upon observing that word writes/reads were broken into byte writes/reads in such a way as to assume devices are interpret registers as LE. However, even if this were a problem, marking the region as LE is not useful because what's essentially happening here is that LE is open coded. So by marking it LE in MemoryRegionOps, we're doing a superflous swap. Now, the portio code is suspicious to begin with. The dispatch layer really has no purpose in splitting I/O requests in the first place... Cc: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Cc: Alex Graf <agraf@xxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7ca1dfad952d8a8655b32e78623edcc38a51b14a Author: Chegu Vinod <chegu_vinod@xxxxxx> Date: Mon Jun 24 03:47:39 2013 -0600 Force auto-convegence of live migration If a user chooses to turn on the auto-converge migration capability these changes detect the lack of convergence and throttle down the guest. i.e. force the VCPUs out of the guest for some duration and let the migration thread catchup and help converge. Verified the convergence using the following : - Java Warehouse workload running on a 20VCPU/256G guest(~80% busy) - OLTP like workload running on a 80VCPU/512G guest (~80% busy) Sample results with Java warehouse workload : (migrate speed set to 20Gb and migrate downtime set to 4seconds). (qemu) info migrate capabilities: xbzrle: off auto-converge: off <---- Migration status: active total time: 1487503 milliseconds expected downtime: 519 milliseconds transferred ram: 383749347 kbytes remaining ram: 2753372 kbytes total ram: 268444224 kbytes duplicate: 65461532 pages skipped: 64901568 pages normal: 95750218 pages normal bytes: 383000872 kbytes dirty pages rate: 67551 pages --- (qemu) info migrate capabilities: xbzrle: off auto-converge: on <---- Migration status: completed total time: 241161 milliseconds downtime: 6373 milliseconds transferred ram: 28235307 kbytes remaining ram: 0 kbytes total ram: 268444224 kbytes duplicate: 64946416 pages skipped: 64903523 pages normal: 7044971 pages normal bytes: 28179884 kbytes Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bde1e2ec2176c363c1783bf8887b6b1beb08dfee Author: Chegu Vinod <chegu_vinod@xxxxxx> Date: Mon Jun 24 03:49:42 2013 -0600 Add 'auto-converge' migration capability The auto-converge migration capability allows the user to specify if they choose live migration seqeunce to automatically detect and force convergence. Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3c02270db980007424d797506301826310ce2db4 Author: Chegu Vinod <chegu_vinod@xxxxxx> Date: Mon Jun 24 03:49:41 2013 -0600 Introduce async_run_on_cpu() Introduce an asynchronous version of run_on_cpu() i.e. the caller doesn't have to block till the call back routine finishes execution on the target vcpu. Signed-off-by: Chegu Vinod <chegu_vinod@xxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 25ca6a1f5a3ee0a1ae670590877ed14f05e28fba Merge: c170a23... f35ea98... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jul 12 07:58:31 2013 -0500 Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging # By Alexander Graf (16) and others # Via Alexander Graf * agraf/ppc-for-upstream: (22 commits) PPC: dbdma: Support more multi-issue DMA requests PPC: Add timer handler for newworld mac-io PPC: dbdma: Support unaligned DMA access PPC: dbdma: Wait for DMA until we have data PPC: dbdma: Move processing to io PPC: dbdma: macio: Add DMA callback PPC: dbdma: Move static bh variable to device struct PPC: dbdma: Introduce kick function PPC: dbdma: Move defines into header file PPC: dbdma: Allow new commands in RUN state PPC: dbdma: Fix debug print PPC: Mac: Add debug prints in macio and dbdma code PPC: dbdma: Replace tabs with spaces PPC: Macio: Replace tabs with spaces PPC: g3beige: Move secondary IDE bus to mac-io PPC: Mac: Fix guest exported tbfreq values target-ppc: Add POWER8 v1.0 CPU model pseries: move interrupt controllers to hw/intc/ spapr: Respect -bios command line option for SLOF spapr: Use named enum for function remove_hpte ... Message-id: 1373562085-29728-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f35ea98cd9f75db9286f05bf3dc4b532f4cb5eaa Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 15:29:13 2013 +0200 PPC: dbdma: Support more multi-issue DMA requests A DMA request can happen for data that hasn't been completely been provided by the IDE core yet. For example - DBDMA request for 0x1000 bytes - IDE request for 1 sector - DBDMA wants to read 0x1000 bytes (8 sectors) from bdrv - breakage Instead, we should truncate our bdrv request to the maximum number of sectors we're allowed to read at that given time. Once that transfer is through, we will fall into our recently introduced waiting logic. - DBDMA requests for 0x1000 bytes - IDE request for 1 sector - DBDMA wants to read MIN(0x1000, 1 * 512) bytes - DBDMA finishes reading, indicates to IDE core that transfer is complete - IDE request for 7 sectors - DBDMA finishes the DMA Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a0f9fdfd98cc0571f9921a7eadd7316532e3e289 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 05:15:14 2013 +0200 PPC: Add timer handler for newworld mac-io Mac OS X accesses fancy timer registers inside of the mac-io on bootup. These really should be ticking at the mac-io bus frequency, but I don't see anyone upset when we just make them as fast as we want to. With this patch on top of my previous patch queue and latest OpenBIOS I am able to boot Mac OS X 10.4 with -M mac99. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 80fc95d8bdaf3392106b131a97ca701fd374489a Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jun 28 13:30:01 2013 +0200 PPC: dbdma: Support unaligned DMA access The DBDMA engine really just reads bytes from a producing device (IDE in our case) and shoves these bytes into memory. It doesn't care whether any alignment takes place or not. Our code today however assumes that block accesses always happen on sector (512 byte) boundaries. This is a fair assumption for most cases. However, Mac OS X really likes to do unaligned, incomplete accesses that it finishes with the next DMA request. So we need to read / write the unaligned bits independent of the actual asynchronous request, because that one can only handle 512-byte-aligned data. We also need to cache these unaligned sectors until the next DMA request, at which point the data might be successfully flushed from the pipe. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cae323572eddc1a45e2f6ef98c006d98fed23b1e Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:54:35 2013 +0200 PPC: dbdma: Wait for DMA until we have data We should only start processing DMA requests when we have data to process. Hold off working through the DMA shuffling until the IDE core told us that it's ready. This is required because the guest can program the DMA engine or the IDE transfer first. Both are legal. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 03ee3b1e58266c7e5b155d58f443d94b23d2bd05 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:47:20 2013 +0200 PPC: dbdma: Move processing to io Soon we will introduce intermediate processing pauses which will allow the bottom half to restart a DMA request that couldn't be fulfilled yet. For that to work, move the processing variable into the io struct which is what DMA providers work with. While touching it, also change it into a bool Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4aa3510f6f36c5ea35219acf641788222d977437 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:36:14 2013 +0200 PPC: dbdma: macio: Add DMA callback We need to know when the IDE core starts a DMA transfer. Add a notifier function so we have the chance to start transmitting data. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d2f0ce2189feef94516d81fa5834fa4d65435053 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:22:41 2013 +0200 PPC: dbdma: Move static bh variable to device struct The DBDMA controller has a bottom half to asynchronously process DMA request queues. This bh was stored as a gross static variable. Move it into the device struct instead. While at it, move all users of it to the new generic kick function. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d1e562deb2de5c2ced639b18dee59a9ab08236b6 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:18:54 2013 +0200 PPC: dbdma: Introduce kick function The DBDMA engine really is running all the time, waiting for input. However we don't want to waste cycles constantly polling. So introduce a kick function that data providers can call to notify the DBDMA controller of new input. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f2f963fd0775263f9c1cdd3cd92b171c8dae6c77 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 02:06:35 2013 +0200 PPC: dbdma: Move defines into header file We usually keep struct and constant definitions in header files. Move them there to stay consistent and to make access to fields easier. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7eaba824b6bc14ee724f8593891f2165d2faa4ab Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:53:51 2013 +0200 PPC: dbdma: Allow new commands in RUN state The DBDMA controller can not change its command stream while it's actively streaming data, true. But the fact that it's in RUN state doesn't actually indicate anything. It could just as well be in WAIT while in RUN. And then it's legal to change commands. This fixes a real world issue I've encountered with Mac OS X. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 58c0c311838dd2c6622a156b4d261aa127c510dd Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:53:05 2013 +0200 PPC: dbdma: Fix debug print There was a debug print that didn't compile for me because the format and the arguments weren't in sync. Fix it up. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 33ce36bb33cc00ac3070d49e17b4afed62b412a8 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:23:45 2013 +0200 PPC: Mac: Add debug prints in macio and dbdma code The macio code is basically undebuggable as it stands today, with no debug prints anywhere whatsoever. DBDMA was better, but I needed a few more to create reasonable logs that tell me where breakage is. Add a DPRINTF macro in the macio source file and add a bunch of debug prints that are all disabled by default of course. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9e232428784641b8e48a237a4cb2ffe84450d15c Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:45:22 2013 +0200 PPC: dbdma: Replace tabs with spaces s/^I/ /g on the file with a few manual tweaks to align things. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8aef291fb876670b264297ab333f5072cddbf625 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 30 01:43:17 2013 +0200 PPC: Macio: Replace tabs with spaces s/^I/ /g on the file. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 14eefd0ec3b4720faddf4cc7682d7ac8c82a3a45 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jun 24 21:40:50 2013 +0200 PPC: g3beige: Move secondary IDE bus to mac-io On a real G3 Beige the secondary IDE bus lives on the mac-io chip, not on some random PCI device. Move it there to become more compatible. While at it, also clean up the IDE channel connection logic. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 536d8cda4adef3d202a800688ed5f63dae1f0f88 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jun 29 17:34:58 2013 +0200 PPC: Mac: Fix guest exported tbfreq values We can tell the guest the frequency of its time base through fwcfg. However, we tell it a different value from the speed tb actually runs at. Let's fix it and make the tbfreq initialization and the fwcfg exposure use the same values. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8d43ea1c97d0d611f9cf868fe78b17f2a1031298 Author: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 4 12:12:32 2013 +0530 target-ppc: Add POWER8 v1.0 CPU model This patch adds CPU PVR definition for POWER8, and enables QEMU to launch guests on POWER8 hardware. Signed-off-by: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Paul Mackerras <paulus@xxxxxxxxx> Reviewed-by: Andreas Farber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 42e5b4c9884c2c69825d6b6c6ddfbf25290856db Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Sat Jul 6 23:53:58 2013 +1000 pseries: move interrupt controllers to hw/intc/ Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8e7ea787a20e30d44232cafb5a6e9a9fea364c66 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 21:26:50 2013 +0200 spapr: Respect -bios command line option for SLOF Allow the user to override the firmware file name rather than always using "slof.bin". Reported-by: Dinar Valeev <k0da@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a3801402aa01e2ecb617f89b2e11f212d948b5af Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 24 19:48:47 2013 +0200 spapr: Use named enum for function remove_hpte The function returned a target_ulong which was made from unnamed enum values. The target_ulong was then assigned to an int variable which was used in a switch statement. Using a named enum in both cases makes reviews easier. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9a39970df783cf8317e7dbf00a8af184ce868b1b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jun 29 15:47:26 2013 +0200 spapr: Fix compiler warnings for some versions of gcc i686-w64-mingw32-gcc (GCC) 4.6.3 from Debian wheezy reports these warnings: hw/ppc/spapr_hcall.c:188:1: warning: control reaches end of non-void function [-Wreturn-type] hw/ppc/spapr_pci.c:454:1: warning: control reaches end of non-void function [-Wreturn-type] Both warnings are fixed by using g_assert_not_reached instead of assert. A second line with assert(0) in spapr_pci.c which did not raise a compiler warning was modified, too, because g_assert_not_reached documents the purpose of that statement and is not removed in release builds. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7162bdea75e9f63afdd2cacfe26ee4b472a59362 Author: Julio Guerra <guerr@xxxxxxxx> Date: Mon Jun 24 23:15:54 2013 +0200 e600 core for MPC86xx processors MPC86xx processors are based on the e600 core, which is not the case in qemu where it is based on the 7400 processor. This patch creates the e600 core and instantiates the MPC86xx processors based on it. Therefore, adding the high BATs, the SPRG 4..7 registers, which are e600-specific [1], and a HW MMU model (as 7400). This allows to define the MPC8610 processor too. Tested with a kernel using the HW TLB misses. [1] http://cache.freescale.com/files/32bit/doc/ref_manual/E600CORERM.pdf Signed-off-by: Julio Guerra <guerr@xxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c170a23ca0097a95b44fc7cc604018cd3c3b7d44 Merge: 51455c5... 5e2ac51... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 14:34:32 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Kevin Wolf (4) and others # Via Luiz Capitulino * luiz/queue/qmp: add timestamp to error_report() qapi-schema: Use existing type for drive-backup arguments qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync qapi.py: Allow top-level type reference for command definitions qapi.py: Avoid code duplication qemu-char: Fix ringbuf option size Message-id: 1373478767-20965-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5e2ac5191772dea782ff78e95edd395985273019 Author: Seiji Aguchi <seiji.aguchi@xxxxxxx> Date: Wed Jul 3 23:02:46 2013 -0400 add timestamp to error_report() [Issue] When we offer a customer support service and a problem happens in a customer's system, we try to understand the problem by comparing what the customer reports with message logs of the customer's system. In this case, we often need to know when the problem happens. But, currently, there is no timestamp in qemu's error messages. Therefore, we may not be able to understand the problem based on error messages. [Solution] Add a timestamp to qemu's error message logged by error_report() with g_time_val_to_iso8601(). Signed-off-by: Seiji Aguchi <seiji.aguchi@xxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit f53cae50f81449596e55159cfe61efbef9246b2e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jul 9 10:05:35 2013 +0200 qapi-schema: Use existing type for drive-backup arguments This removes duplicated definitions and documentation by reusing the existing data type. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 852ad1a900a4ae23514e1a53c86632543592c31b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 1 16:31:52 2013 +0200 qapi-schema: Use BlockdevSnapshot type for blockdev-snapshot-sync We don't have to duplicate the definition any more now that we may refer to a type instead. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit b35284ea207a0ae1c0b162344cdef2a83304befc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 1 16:31:51 2013 +0200 qapi.py: Allow top-level type reference for command definitions If 'data' for a command definition isn't a dict, but a string, it is taken as a (struct) type name and the fields of this struct are directly used as parameters. This is useful for transactionable commands that can use the same type definition for both the transaction action and the arguments of the standalone command. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit bd9927fee4e63b451b4ef67a4c49729070d8b05d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jul 1 16:31:50 2013 +0200 qapi.py: Avoid code duplication The code that interprets the read JSON expression and appends types to the respective global variables was duplicated. We can avoid that by splitting off the part that reads from the file. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 0f953051178f2e3df36efa5158a71f33d35fa812 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 27 16:22:07 2013 +0200 qemu-char: Fix ringbuf option size Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER" assertion. Broken in commit 1da48c65. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 51455c59ddc370612f6e070d8eb0e594aaa7ef24 Merge: 9f9a03b... 91b1df8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 10:54:16 2013 -0500 Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging QOM CPUState refactorings * Fix for OpenRISCCPU subclasses * Fix for gdbstub CPU selection * Move linux-user CPU functions into new header * CPUState part 10 refactoring: first_cpu, next_cpu, cpu_single_env et al. * Fix some targets to consistently inline TCG code generation * Centrally log CPU reset # gpg: Signature made Wed 10 Jul 2013 07:52:39 AM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (41) and others # Via Andreas Färber * afaerber/tags/qom-cpu-for-anthony: (43 commits) cpu: Move reset logging to CPUState target-ppc: Change LOG_MMU_STATE() argument to CPUState target-i386: Change LOG_PCALL_STATE() argument to CPUState log: Change log_cpu_state[_mask]() argument to CPUState target-i386: Change do_smm_enter() argument to X86CPU target-i386: Change do_interrupt_all() argument to X86CPU target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU target-unicore32: Change gen_intermediate_code_internal() signature target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU target-s390x: Change gen_intermediate_code_internal() argument to S390CPU target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU target-microblaze: Change gen_intermediate_code_internal() argument types target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU target-i386: Change gen_intermediate_code_internal() argument to X86CPU target-cris: Change gen_intermediate_code_internal() argument to CRISCPU target-arm: Change gen_intermediate_code_internal() argument to ARMCPU target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU ... commit 9f9a03b9818194da39c6759d9b0cbee5d7ace4e1 Merge: 6272d17... 8384274... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 10:54:09 2013 -0500 Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging # By Andreas Schwab (2) and others # Via Riku Voipio * riku/linux-user-for-upstream: linux-user: Do not ignore mmap failure from host linux-user: improve target_to_host_sock_type conversion user-exec.c: Set is_write correctly in the ARM cpu_signal_handler() linux-user: Fix sys_utimensat (would not compile on old glibc) linux-user: fix signal number range check linux-user: add SIOCADDRT/SIOCDELRT support linux-user: handle /proc/$$ like /proc/self Message-id: cover.1373051589.git.riku.voipio@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6272d17c420b8cdd6af1784edd34f0b3e9f26b76 Merge: 9d6a3d5... 0caa91f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 10 10:53:55 2013 -0500 Merge remote-tracking branch 'rth/tcg-next' into staging # By Richard Henderson # Via Richard Henderson * rth/tcg-next: tcg-arm: Implement tcg_register_jit tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size tcg: Move the CIE and FDE header definitions to common code tcg: Fix high_pc fields in .debug_info tcg-arm: Use AT_PLATFORM to detect the host ISA tcg-arm: Simplify logic in detecting the ARM ISA in use tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions tcg-arm: Make use of conditional availability of opcodes for divide tcg: Simplify logic using TCG_OPF_NOT_PRESENT tcg: Allow non-constant control macros tcg-ppc64: Don't implement rem tcg-ppc: Don't implement rem tcg-arm: Don't implement rem tcg: Split rem requirement from div requirement tcg: Add myself to general TCG maintainership Message-id: 1373379515-28596-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9d6a3d58e4d1431ab3809ff621cfd1f9ec75eef5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 19:18:59 2013 +1000 qom: Fix class cast of NULL classes Its clear from the implementation that class casting is supposed to work with a NULL class argument. Guard all dereferences of the class argument against NULL accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 94cd5ba46b74eea289a7e582635820c1c54e66fa.1371546907.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4268b096272657b129a014f6f019625c4c8df2c1 Author: Don Koch <dkoch@xxxxxxxxxxx> Date: Tue Jul 9 13:36:05 2013 -0400 pci: fix BRDIGE typo Fix typo in macro name: PCI_CLASS_BRDIGE_PCI_INF_SUB. Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e78e9ae4a933504d383703870d491615b0261801 Author: Don Koch <dkoch@xxxxxxxxxxx> Date: Tue Jul 9 11:40:02 2013 -0400 pci-bridge: update mappings for migration/restore Fix for LP#1187529: Devices on PCI bridge stop working when live-migrated. Update bridge mappings for all PCI bridge devices in get_pci_config_device(). Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 91b1df8cf9e1ecaa8679c9ea8713d1e25c28e6c4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 07:49:48 2013 +0200 cpu: Move reset logging to CPUState x86 was using additional CPU_DUMP_* flags, so make that configurable in CPUClass::reset_dump_flags. This adds reset logging for alpha, unicore32 and xtensa. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 77710e7aec1e5ae0195cf6ebae6864e3ccb5693a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 00:52:23 2013 +0200 target-ppc: Change LOG_MMU_STATE() argument to CPUState Choose CPUState rather than PowerPCCPU since doing a CPU() cast on the macro argument would hide type mismatches. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8995b7a083e0fda9fac1db3888b3dafe14bd033c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 01:07:10 2013 +0200 target-i386: Change LOG_PCALL_STATE() argument to CPUState Since log_cpu_state_mask() argument was changed to CPUState, CPUArchState is no longer needed. Choose CPUState rather than X86CPU to not hide type mismatches with CPU(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a0762859ae2aae2e221c59e2541f964f1350d68b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 07:28:50 2013 +0200 log: Change log_cpu_state[_mask]() argument to CPUState Since commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 (cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no longer needed. Add documentation and make the functions available through qemu/log.h outside NEED_CPU_H to allow use in qom/cpu.c. Moving them to qom/cpu.h was not yet possible due to convoluted include paths, so that some devices grow an implicit and unneeded dependency on qom/cpu.h for now. Acked-by: Michael Walle <michael@xxxxxxxx> (for lm32) Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> [AF: Simplified mb_cpu_do_interrupt() and do_interrupt_all() changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 518e9d7d486273f4ee8d38946e73a7483aca4a92 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 02:45:17 2013 +0200 target-i386: Change do_smm_enter() argument to X86CPU Prepares for log_cpu_state_mask() changing argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca4c810aab853788e907a791f8edea68ac30b0e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jul 3 02:00:09 2013 +0200 target-i386: Change do_interrupt_all() argument to X86CPU Prepares for log_cpu_state() changing argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90b85b7706e2f80a1f0aa148e180ed70e4093846 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:33:01 2013 +0200 target-xtensa: Change gen_intermediate_code_internal() arg to XtensaCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 62a80559368de7b2dedc91039d8d11650e31ba4c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:29:57 2013 +0200 target-unicore32: Change gen_intermediate_code_internal() signature Use UniCore32CPU and bool. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 68a471556d911a0adcf639e5fd5af2a2be4c4cb1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:27:28 2013 +0200 target-sparc: Change gen_intermediate_code_internal() argument to SPARCCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38e308103d40d859e2da74166fd4a1a80d78106d Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:24:41 2013 +0200 target-sh4: Change gen_intermediate_code_internal() argument to SuperHCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d9916c23d3024ce2ae7f6300a7b4e62780e4632b Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:22:09 2013 +0200 target-s390x: Change gen_intermediate_code_internal() argument to S390CPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 213fe1f5135abe052b634e08fddf6e9945f0eeed Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:19:32 2013 +0200 target-ppc: Change gen_intermediate_code_internal() argument to PowerPCCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6429db34c11f8cbb2af446a9c1c80395794e6113 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:17:17 2013 +0200 target-mips: Change gen_intermediate_code_internal() argument to MIPSCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4a274212f03adaf8b5971cc39d460335392a97f6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:14:44 2013 +0200 target-microblaze: Change gen_intermediate_code_internal() argument types Use MicroBlazeCPU and bool. Prepares for changing log_cpu_state() argument to CPUState and for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c296b15b7c2425a2973ad0e63810029913511b51 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:11:36 2013 +0200 target-m68k: Change gen_intermediate_code_internal() argument to M68kCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cd0db97ee050ccea7082361a1193a3bef5648454 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:09:30 2013 +0200 target-lm32: Change gen_intermediate_code_internal() argument to LM32CPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 467215c20f4befed253696dd6910839bacf75837 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:09:01 2013 +0200 target-i386: Change gen_intermediate_code_internal() argument to X86CPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7fd2592dbcc0130e9999a739867a1b539c5ee853 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:04:49 2013 +0200 target-cris: Change gen_intermediate_code_internal() argument to CRISCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5639c3f224bbe3095ce6584bc8a5ace68b6d8197 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 21:57:04 2013 +0200 target-arm: Change gen_intermediate_code_internal() argument to ARMCPU Also use bool type while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 86a35f7c4608b1961a1a459659a97033cc14d274 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 22:01:20 2013 +0200 target-alpha: Change gen_intermediate_code_internal() argument to AlphaCPU Also use bool argument while at it. Prepares for moving singlestep_enabled field to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ae06d4988d6799f0bd16f27c2bcf80fa1cd2cfd7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 20:05:21 2013 +0200 target-xtensa: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13cccc692818a570d1fb1326c84d3edae68987aa Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 20:04:28 2013 +0200 target-moxie: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fd327f48f7e5892318b6dca2c9c6030618f65728 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 20:03:00 2013 +0200 target-microblaze: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 28014bcab244e968cb03f20384943494bd069ee0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 19:35:02 2013 +0200 target-lm32: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6f47ec50db92b4bc77de06661a9e7a3eb538b660 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 2 19:30:14 2013 +0200 target-cris: gen_intermediate_code_internal() should be inlined Cc: qemu-stable@xxxxxxxxxx Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 369ff018fee40ffb8f6721e5d7f6b56bea74176c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 26 17:51:27 2013 +0200 target-i386: Don't overuse CPUArchState Use CPUX86State instead in dump support code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4fd6dd06e66a93fce31b05909ad8d9f0f9dba06e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 17:17:00 2013 +0200 target-s390x: Change handle_{hypercall,diag}() argument to S390CPU This allows to get rid of the last remaining ENV_GET_CPU() in target-s390x/ by using CPU() cast directly on the argument. Cc: Jason J. Herne <jjherne@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19079e460520053114127f812ddc488b974c2117 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 17:04:45 2013 +0200 target-s390x: Don't overuse ENV_GET_CPU() Commit 3474b679486caa8f6448bae974e131370f360c13 (Utilize selective runtime reg sync for hot code paths) introduced two uses of ENV_GET_CPU() inside target-s390x/ KVM code. In one case we can use a direct CPU() cast instead. Cc: Jason J. Herne <jjherne@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 09c6a63a6144bbfe2fe434e84d16dd4db6028b6a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 21 17:00:04 2013 +0200 target-ppc: Don't overuse ENV_GET_CPU() Commit b632a148b677b773ff155f9de840b37a653567b9 (target-ppc: QOM method dispatch for MMU fault handling) introduced a use of ENV_GET_CPU() inside target-ppc/ code. Use ppc_env_get_cpu() instead. Purely cosmetic, non-functional change to aid in locating and removing ENV_GET_CPU() usages. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit de6db419e5cfe604464a7612b5a5f9214d0af837 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 17:10:28 2013 +0200 timer/arm_mptimer: Build arm_mptimer only once Since current_cpu is CPUState it no longer depends on CPUARMState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2b927571ccdb79deda74ba84ef493e6cb37eacbe Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 17:04:21 2013 +0200 intc/openpic: Build openpic only once Since current_cpu is CPUState it no longer depends on CPUPPCState. Move ppce500_set_mpic_proxy() to a new hw/ppc/ppc_e500.h because hw/ppc/ppc.h is too heavily using CPUPPCState and PowerPCCPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dfc080791dfb9dd8907a15e6d45b6cc4969b986f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 16:42:03 2013 +0200 intc/arm_gic: Build arm_gic only once Since current_cpu is CPUState it no longer needs CPUArchState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dca1173c20e7e7366a9c36f88ae4234e5387ed28 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 19:51:23 2013 +0200 bsd-user: Change thread_env to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a2247f8ec919c51c5749c2e3659841f1a733cce3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 19:47:04 2013 +0200 linux-user: Change thread_env to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 182735efaf956ccab50b6d74a4fed163e0f35660 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 22:29:20 2013 +0200 cpu: Make first_cpu and next_cpu CPUState Move next_cpu from CPU_COMMON to CPUState. Move first_cpu variable to qom/cpu.h. gdbstub needs to use CPUState::env_ptr for now. cpu_copy() no longer needs to save and restore cpu_next. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> [AF: Rebased, simplified cpu_copy()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9b056fcc5becd183fa2bdec9d259bf26b5f71207 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 24 23:53:10 2013 +0200 linux-user: Clean up do_syscall() Coding Style for TARGET_NR_exit In particular fix 6-/10-char indentation. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d5791f4a67048591c1b038e47c85ccb2c023214 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 14:40:48 2013 +0200 kvm: Change kvm_remove_all_breakpoints() argument to CPUState Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4917cf44326a1bda2fd7f27303aff7a25ad86518 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 05:17:50 2013 +0200 cpu: Replace cpu_single_env with CPUState current_cpu Move it to qom/cpu.h. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 80b7cd735417b0883a026d79a513629a2817cdb4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 19 17:37:31 2013 +0200 kvm: Free current_cpu identifier Since CPU loops are done as last step in kvm_{insert,remove}_breakpoint() and kvm_remove_all_breakpoints(), we do not need to distinguish between invoking CPU and iterated CPUs and can thereby free the identifier for use as a global variable. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 10 16:34:06 2013 +0200 cpu: Drop unnecessary dynamic casts in *_env_get_cpu() A transition from CPUFooState to FooCPU can be considered safe, just like FooCPU::env access in the opposite direction. The only benefit of the FOO_CPU() casts would be protection against bogus CPUFooState pointers, but then surrounding code would likely break, too. This should slightly improve interrupt etc. performance when going from CPUFooState to FooCPU. For any additional CPU() casts see 3556c233d931ad5ffa46a35cb25cfc057732ebb8 (qom: allow turning cast debugging off). Reported-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6291ad77d7c57dfc52a6a938d1a77ec3ec3ad16c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 28 14:22:32 2013 +0100 linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user The functions cpu_clone_regs() and cpu_set_tls() are not purely CPU related -- they are specific to the TLS ABI for a a particular OS. Move them into the linux-user/ tree where they belong. target-lm32 had entirely unused implementations, since it has no linux-user target; just drop them. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aa48dd9319dcee78ec17f4d516fb7bfc62b1a4d2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jul 9 20:50:52 2013 +0200 Revert "gdbstub: Simplify find_cpu()" This reverts commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3, which replaced cpu_index() with cpu_index field, leading to deviation from thread ID for NTPL and off-by-one otherwise. Reported-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c1b71b0c03df575c72ea413b2f2c27a7a477c05a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:23 2013 +0200 vl: Tighten parsing of -machine option phandle_start Make it QEMU_OPT_NUMBER, so it gets parsed by generic code, which actually bothers to check for errors, rather than its user, which doesn't. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Message-id: 1372943363-24081-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ff3de685a875ece3ee21256736c0a9dbf39dc4c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:22 2013 +0200 Simplify -machine option queries with qemu_get_machine_opts() The previous two commits fixed bugs in -machine option queries. I can't find fault with the remaining queries, but let's use qemu_get_machine_opts() everywhere, for consistency, simplicity and robustness. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7bccd9402691e712305bc3b5cc6cf2fa1cc27631 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:21 2013 +0200 microblaze: Fix latent bug with default DTB lookup microblaze_load_kernel() fails to call qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename) when no -machine options are given. This can't normally happen, because -machine option kernel is mandatory for this target. Fix it anyway, by using qemu_get_machine_opts(). Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 36ad0e948e15d8d86c8dec1c17a8588d87b0107d Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:20 2013 +0200 Fix -machine options accel, kernel_irqchip, kvm_shadow_mem Multiple -machine options with the same ID are merged. All but the one without an ID are to be silently ignored. In most places, we query these options with a null ID. This is correct. In some places, we instead query whatever options come first in the list. This is wrong. When the -machine processed first happens to have an ID, options are taken from that ID, and the ones specified without ID are silently ignored. Example: $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine id=foo -machine accel=kvm,usb=on $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine id=foo,accel=kvm,usb=on -machine accel=xen $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine accel=xen -machine id=foo,accel=kvm,usb=on $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine accel=kvm,usb=on QEMU 1.5.50 monitor - type 'help' for more information (qemu) info kvm kvm support: enabled (qemu) info usb (qemu) q $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine id=foo -machine accel=kvm,usb=on QEMU 1.5.50 monitor - type 'help' for more information (qemu) info kvm kvm support: disabled (qemu) info usb (qemu) q $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine id=foo,accel=kvm,usb=on -machine accel=xen QEMU 1.5.50 monitor - type 'help' for more information (qemu) info kvm kvm support: enabled (qemu) info usb USB support not enabled (qemu) q $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine accel=xen -machine id=foo,accel=kvm,usb=on xc: error: Could not obtain handle on privileged command interface (2 = No such file or directory): Internal error xen be core: can't open xen interface failed to initialize Xen: Operation not permitted Option usb is queried correctly, and the one without an ID wins, regardless of option order. Option accel is queried incorrectly, and which one wins depends on option order and ID. Affected options are accel (and its sugared forms -enable-kvm and -no-kvm), kernel_irqchip, kvm_shadow_mem. Additionally, option kernel_irqchip is normally on by default, except it's off when no -machine options are given. Bug can't bite, because kernel_irqchip is used only when KVM is enabled, KVM is off by default, and enabling always creates -machine options. Downstreams that enable KVM by default do get bitten, though. Use qemu_get_machine_opts() to fix these bugs. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7f9d6e540ec4f3bf4dc3501c4a1405998c2be4e7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:19 2013 +0200 vl: New qemu_get_machine_opts() To be used in the next few commits to fix or clean up queries of "machine" options (-machine and its sugared forms). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d4cd408686f5ae60b2b3b94b79f48ddedc2f39d Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:18 2013 +0200 qemu-option: Fix qemu_opts_set_defaults() for corner cases Commit 4f6dd9a changed the initialization of opts in opts_parse() to this: if (defaults) { if (!id && !QTAILQ_EMPTY(&list->head)) { opts = qemu_opts_find(list, NULL); } else { opts = qemu_opts_create(list, id, 0); } } else { opts = qemu_opts_create(list, id, 1); } Same as before for !defaults. If defaults is true, and params has no ID, and options exist, we use the first assignment. It sets opts to null if all options have an ID. opts_parse() then returns null. qemu_opts_set_defaults() asserts the value is non-null. It's the only caller that passes true for defaults. To reproduce, try "-M xenpv -machine id=foo" (yes, "id=foo" is silly, but it shouldn't crash). I believe the function attempts to do the following: If options don't yet exist, create new options Else, if defaults, modify the existing options Else, if list->merge_lists, modify the existing options Else, fail A straightforward call of qemu_opts_create() does exactly that. Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1372943363-24081-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96bc97ebf350ec480b69082819cedb8850f46a0f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jul 4 15:09:17 2013 +0200 qemu-option: Fix qemu_opts_find() for null id arguments Crashes when the first list member has an ID. Admittedly nonsensical reproducer: $ qemu-system-x86_64 -nodefaults -machine id=foo -machine "" Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372943363-24081-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 154bb106dc195b4fbb76df0452ab6e3e24e80d72 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jul 5 19:07:16 2013 +0200 exec: Remove unused global variable phys_ram_fd It seems to be unused since several years (commit be995c27640a82c7056b6f53d02ec823570114e5 in 2006). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1373044036-14443-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 92304bf3998cedcf3b1026a795edba7e1fd17c74 Author: M. Mohan Kumar <mohan@xxxxxxxxxx> Date: Thu Jul 4 14:51:18 2013 +0530 hw/9pfs: Fix memory leak in error path Fix few more memory leaks in virtio-9p-device.c detected using valgrind. Signed-off-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Message-id: 1372929678-14341-1-git-send-email-mohan@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b58c86e1e4cdf59373aad2ec25f99f772766374c Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 12:02:40 2013 +0200 fsdev: Fix potential memory leak This leak was reported by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: M. Mohan Kumar <mohan@xxxxxxxxxx> Message-id: 1371376960-18192-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit edb5092c245d34e05ca410d4bf32cf0c2786c8e8 Author: MRatnikov <m.o.ratnikov@xxxxxxxxx> Date: Mon Jul 8 01:03:02 2013 +0400 Extend support of SMBUS(module pm_smbus.c) HST_STS register. Previous realization doesn't consider flags in the status register. Add DS and INTR bits of HST_STS register set after transaction execution. Update bits resetting in HST_STS register. Update error processing: if DEV_ERR bit set transaction isn't execution. Signed-off-by: MRatnikov <m.o.ratnikov@xxxxxxxxx> Message-id: 1373230982-9190-1-git-send-email-m.o.ratnikov@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 02c4bdf1d2ca8c02a9bae16398f260b5c08d08bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 3 20:29:45 2013 +0400 trap signals for "-serial mon:stdio" With mon:stdio you can exit the VM by switching to the monitor and sending the "quit" command. It is then useful to pass Ctrl-C to the VM instead of exiting. This in turn lets us stop tying the default signal handling behavior to -nographic, removing gratuitous differences between "-display none" and "-nographic". This patch changes behavior for "-display none -serial mon:stdio", as expected, but not for "-display none -serial stdio". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372868986-25988-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 964c6fa16f50a607f9da5068d6bf15ccc93872c0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jun 21 19:10:16 2013 -0700 configure: Simplify alternate .text segment For bsd-user and linux-user emulation modes QEMU needs to be linked at an alternate .text segment address, so that it's out of the way of the guest executable. Instead of including modified linker scripts for each arch, just set the address with -Ttext-segment if supported, or by using sed to edit the default linker script. Cc: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Message-id: 1371867016-7660-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 071b3364e7995036816aa4ebf80ecfa04b1a31de Author: Dongxue Zhang <elta.era@xxxxxxxxx> Date: Tue Jul 2 17:11:55 2013 +0800 target-openrisc: Fix typename in openrisc_cpu_class_by_name() Commit 478032a93d908e59085c1ac56f10979942e7dc4f (target-openrisc: Rename CPU subtypes) suffixed CPU sub-types with "-or32-cpu" but forgot to update openrisc_cpu_class_by_name(), so that it was still looking for the types without suffix. Make target-openrisc running OK by adding the suffix to the model name. This means it is no longer possible to use -cpu or1200-or32-cpu or -cpu any-or32-cpu though. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx> Tested-by: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0caa91fe1f0a60269d7af032118639303e6eddd6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jun 5 07:55:33 2013 -0700 tcg-arm: Implement tcg_register_jit Allows unwinding past the code_gen_buffer. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b5cc476da7e71629d8d4ab77f691c70346368788 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jun 5 07:56:29 2013 -0700 tcg-i386: Use QEMU_BUILD_BUG_ON instead of assert for frame size We can check the condition at compile time, rather than run time. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 497a22eb87da704c0a59ebebfde441849cd5189b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jun 5 07:39:57 2013 -0700 tcg: Move the CIE and FDE header definitions to common code These will necessarily be the same layout for all hosts. This limits the amount of boilerplate required to implement jit debug for a host. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 45aba097d24544ed2d3244b3268a071750e4499b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri May 24 14:16:14 2013 -0700 tcg: Fix high_pc fields in .debug_info I don't think the debugger actually looks at this for anything, using the correct .debug_frame contents, but might as well get it all correct. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1e709f38331ef5bab76cd454c61d4af982cadf0b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jun 6 10:46:35 2013 -0700 tcg-arm: Use AT_PLATFORM to detect the host ISA With this we can generate armv7 insns even when the OS compiles for a lower common denominator. The macros are arranged so that when we do compile for a given ISA, all of the runtime checks for that ISA are optimized away. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cb91021a4786efdd6e4ca1ebfd8729481466bbb8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jun 6 10:21:37 2013 -0700 tcg-arm: Simplify logic in detecting the ARM ISA in use GCC 4.8 defines a handy __ARM_ARCH symbol that we can use, which will make us nicely forward compatible with ARMv8 AArch32. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit fb82273851a855e72248fcabe93bc43ab3a8efe4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jul 4 11:20:26 2013 -0700 tcg-arm: Rename use_armv5_instructions to use_armvt5_instructions As it really controls the availability of a thumb interworking instruction on armv5t. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 72e1ccfc0cf32005e23d308edfe2d06c7472154e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu May 2 12:18:38 2013 +0100 tcg-arm: Make use of conditional availability of opcodes for divide We can now detect and use divide instructions at runtime, rather than having to restrict their availability to compile-time. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c1a61f6c85f63d379b4a03d399986174371f5c2e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu May 2 11:57:40 2013 +0100 tcg: Simplify logic using TCG_OPF_NOT_PRESENT Expand the definition of "not present" to include "should not be present". This means we can simplify the logic surrounding the generic tcg opcodes for which the host backend ought not be providing definitions. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4ef76952bd702d29ee4c021f068d85b063fdb928 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu May 2 11:35:08 2013 +0100 tcg: Allow non-constant control macros This allows TCG_TARGET_HAS_* to be a variable rather than a constant, which allows easier support for differing ISA levels for the host. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5b9f72ab59ec9d57546cfc499ccc863327cb8a46 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 23:24:55 2013 -0700 tcg-ppc64: Don't implement rem Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 865a4671f97e3b52c3ba4167d4f2630e79927712 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 23:24:15 2013 -0700 tcg-ppc: Don't implement rem Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5e1108b3709d7bc04cae141f36d35cc11430a79b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 23:13:30 2013 -0700 tcg-arm: Don't implement rem Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ca675f46e695bd49a1c21a5e82c6b8c77ee12edf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 22:41:47 2013 -0700 tcg: Split rem requirement from div requirement There are several hosts with only a "div" insn. Remainder is computed manually from the quotient and inputs. We can do this generically. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cc7772bdbe4cb0ff1bac538bda86260b871d8b1a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jul 3 11:09:03 2013 -0700 tcg: Add myself to general TCG maintainership Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dc11549ec213f85f6a024c7df68d349464cd1688 Merge: 945dad6... 7588e2b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 8 08:00:23 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,misc enhancements This includes some pci enhancements: Better support for systems with multiple PCI root buses FW cfg interface for more robust pci programming in BIOS Minor fixes/cleanups for fw cfg and cross-version migration - because of dependencies with other patches Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Sun 07 Jul 2013 03:11:18 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By David Gibson (10) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: pci: Fold host_buses list into PCIHostState functionality pci: Remove domain from PCIHostBus pci: Simpler implementation of primary PCI bus pci: Add root bus parameter to pci_nic_init() pci: Add root bus argument to pci_get_bus_devfn() pci: Replace pci_find_domain() with more general pci_root_bus_path() pci: Use helper to find device's root bus in pci_find_domain() pci: Abolish pci_find_root_bus() pci: Move pci_read_devaddr to pci-hotplug-old.c pci: Cleanup configuration for pci-hotplug.c pvpanic: fix fwcfg for big endian hosts pvpanic: initialization cleanup MAINTAINERS: s/Marcelo/Paolo/ e1000: cleanup process_tx_desc pc_piix: cleanup init compat handling pc: pass PCI hole ranges to Guests pci: store PCI hole ranges in guestinfo structure range: add Range structure Message-id: 1373228271-31223-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7588e2b0559ae72d3c2952c7807fc05c03099970 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:54 2013 +1000 pci: Fold host_buses list into PCIHostState functionality The host_buses list is an odd structure - a list of pointers to PCI root buses existing in parallel to the normal qdev tree structure. This patch removes it, instead putting the link pointers into the PCIHostState structure, which have a 1:1 relationship to PCIHostBus structures anyway. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2b8cc89a5c4a8bccbef8c6862bae7371afbf3e76 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:53 2013 +1000 pci: Remove domain from PCIHostBus There are now no users of the domain field of PCIHostBus, so remove it from the structure, and as a parameter from the pci_host_bus_register() function which sets it. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 9bc473057db773dd24be381ccbde4c686595d2e7 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:52 2013 +1000 pci: Simpler implementation of primary PCI bus Currently pci_find_primary_bus() searches the list of root buses for one with domain 0. But since host buses are always registered with domain 0, this just amounts to finding the only PCI host bus. The only remaining users of pci_find_primary_bus() are in pci-hotplug-old.c, which implements the old style pci_add/pci_del commands. Therefore, this patch redefines pci_find_primary_bus() to find the only PCI root bus, returning an error if there are multiple roots. The callers in pci-hotplug-old.c are updated correspondingly, to produce sensible error messages. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 29b358f93a48a415853d11fc9b02f711b5ec8f76 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:51 2013 +1000 pci: Add root bus parameter to pci_nic_init() At present, pci_nic_init() and pci_nic_init_nofail() assume that they will only create a NIC under the primary PCI root. As we add support for multiple PCI roots, that may no longer be the case. This patch adds a root bus parameter to pci_nic_init() (and updates callers accordingly) to allow the machine init code using it to specify the right PCI root for NICs created by old-style -net nic parameters. NICs created new-style, with -device can of course be put anywhere. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 85c6e4fabb4c26e5cd8a024415ed2f5bcdd578db Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:50 2013 +1000 pci: Add root bus argument to pci_get_bus_devfn() pci_get_bus_devfn() interprets a full PCI address string to give a PCIBus * and device/function number within that bus. Currently it assumes it is working on an address under the primary PCI root bus. This patch extends it to allow the caller to specify a root bus. This might seem a little odd since the supplied address can (theoretically) include a PCI domain number. However, attempting to use a non-zero domain number there is currently an error, so that shouldn't really cause problems. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:49 2013 +1000 pci: Replace pci_find_domain() with more general pci_root_bus_path() pci_find_domain() is used in a number of places where we want an id for a whole PCI domain (i.e. the subtree under a PCI root bus). The trouble is that many platforms may support multiple independent host bridges with no hardware supplied notion of domain number. This patch, therefore, replaces calls to pci_find_domain() with calls to a new pci_root_bus_path() returning a string. The new call is implemented in terms of a new callback in the host bridge class, so it can be defined in some way that's well defined for the platform. When no callback is available we fall back on the qbus name. Most current uses of pci_find_domain() are for error or informational messages, so the change in identifiers should be harmless. The exception is pci_get_dev_path(), whose results form part of migration streams. To maintain compatibility with old migration streams, the PIIX PCI host is altered to always supply "0000" for this path, which matches the old domain number (since the code didn't actually support domains other than 0). For the pseries (spapr) PCI bridge we use a different platform-unique identifier (pseries machines can routinely have dozens of PCI host bridges). Theoretically that breaks migration streams, but given that we don't yet have migration support for pseries, it doesn't matter. Any other machines that have working migration support including PCI devices will need to be updated to maintain migration stream compatibility. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c473d18da1b73301c580115e527207b73dcd597f Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:48 2013 +1000 pci: Use helper to find device's root bus in pci_find_domain() Currently pci_find_domain() performs two functions - it locates the PCI root bus above the given bus, then looks up that root bus's domain number. This patch adds a helper function to perform the first task, finding the root bus for a given PCI device. This is then used in pci_find_domain(). This changes pci_find_domain()'s signature slightly, taking a PCIDevice instead of a PCIBus - since all callers passed something of the form dev->bus, this simplifies things slightly. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:47 2013 +1000 pci: Abolish pci_find_root_bus() pci_find_root_bus() takes a domain parameter. Currently PCI root buses with domain other than 0 can't be created, so this is more or less a long winded way of retrieving the main PCI root bus. Numbered domains don't actually properly cover the (non x86) possibilities for multiple PCI root buses, so this patch for now enforces the domain == 0 restriction in other places to replace pci_find_root_bus() with an explicit pci_find_primary_bus(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 945dad6d9d795f03fd839c6e36cc883b3839f5e5 Author: Jia Liu <proljc@xxxxxxxxx> Date: Tue Jul 2 20:55:17 2013 +0800 MAINTAINERS: Add myself into MAINTAINERS file Add myself into MAINTAINERS file, I'll looking at target-openrisc and hw/openrisc. Signed-off-by: Jia Liu <proljc@xxxxxxxxx> Message-id: 1372769717-852-1-git-send-email-proljc@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e481d5754a3ff4170e995f6ea0d2f73c55ab072 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jun 24 11:49:32 2013 +0100 MAINTAINERS: fix bad F: patterns This patch fixes a number of incorrect F: patterns which didn't match any files in the source tree. This was caused by a mix of minor typos (- for _ and the like) and a few entries which hadn't been correctly updated following the rearrangement of hw/. Offending entries were located with the following shell rune: for pattern in $(sed -ne 's/^F: //p' MAINTAINERS); do if ! stat --printf='' $pattern 2>/dev/null; then echo bad pattern: $pattern fi done Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1372070972-30776-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9b4abb4677dd59a3bd83e65d2ca84414e7639a1a Merge: c3ab4c9... 58fda17... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Jul 7 11:28:01 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Fam Zheng (2) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/block: block: fix bdrv_flush() ordering in bdrv_close() curl: refuse to open URL from HTTP server without range support vmdk: Implement .bdrv_has_zero_init Message-id: 1373023972-3587-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3ab4c9cf24ec9efb9c6d82b6027c0587d3081fa Merge: ab8bf29... c7086b4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Jul 7 11:19:27 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (50) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: (66 commits) exec: change some APIs to take AddressSpaceDispatch exec: remove cur_map exec: put memory map in AddressSpaceDispatch exec: separate current radix tree from the one being built exec: move listener from AddressSpaceDispatch to AddressSpace memory: move MemoryListener declaration earlier exec: separate current memory map from the one being built exec: change well-known physical sections to macros qom: Use atomics for object refcounting memory: add reference counting to FlatView memory: use a new FlatView pointer on every topology update memory: access FlatView from a local variable add a header file for atomic operations hw/[u-x]*: pass owner to memory_region_init* functions hw/t*: pass owner to memory_region_init* functions hw/s*: pass owner to memory_region_init* functions hw/p*: pass owner to memory_region_init* functions hw/n*: pass owner to memory_region_init* functions hw/m*: pass owner to memory_region_init* functions hw/i*: pass owner to memory_region_init* functions ... Message-id: 1372950842-32422-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8384274eda1d7cb01f326143fa6118562c1eb5be Author: Jürg Billeter <j@xxxxxxxxx> Date: Sat Jun 29 11:41:32 2013 +0200 linux-user: Do not ignore mmap failure from host File mapping may fail with EACCES. Signed-off-by: Jürg Billeter <j@xxxxxxxxx> Message-id: 1372498892-23676-1-git-send-email-j@xxxxxxxxx Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f651e6ae55b047a8ac4b6b5891fe69ba4c66c57c Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Jul 1 02:44:14 2013 +0200 linux-user: improve target_to_host_sock_type conversion Previous implementation has failed to take into account different value of SOCK_NONBLOCK on target and host, and existence of SOCK_CLOEXEC. The same conversion has to be applied both for do_socket and do_socketpair, so the code has been isolated in a static inline function. enum sock_type in linux-user/socket.h has been extended to include TARGET_SOCK_CLOEXEC and TARGET_SOCK_NONBLOCK, similar to definition in libc. The patch also includes necessary code style changes (tab to spaces) in the header file since most of the file has been touched by this change. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Message-id: 1372639454-7560-1-git-send-email-petar.jovanovic@xxxxxxxxx Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 023b0ae33be6ce2e60d75d2b54a3d2cea6b6020e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 4 14:31:45 2013 +0100 user-exec.c: Set is_write correctly in the ARM cpu_signal_handler() In the ARM implementation of cpu_signal_handler(), set is_write correctly using the FSR value which the kernel passes us in the error_code field of uc_mcontext. Since the WnR bit of the FSR was only introduced in ARMv6, this means that v5 cores will continue to behave as before this patch, but they are not really supported as hosts for linux-user mode anyway since they do not have the modern behaviour for unaligned accesses. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1370352705-27590-1-git-send-email-peter.maydell@xxxxxxxxxx commit 1acae9f22380a03b468a29a3cc035b280610b5e4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: Fix sys_utimensat (would not compile on old glibc) Commit c0d472b12e accidentally dropped the definition of __NR_SYS_utimensat even though its use is guarded by CONFIG_UTIMENSAT, not CONFIG_ATFILE. Some older glibc don't have utimensat() (even if they have the other *at() functions). Fix this by correctly cleaning up the sys_utimensat() implementation and #defines, so that we always provide the syscall if needed whether we're doing it via glibc or not. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx> Message-id: 1371743841-26110-1-git-send-email-peter.maydell@xxxxxxxxxx commit 167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: fix signal number range check When translating between host and target signal numbers keep negative numbers unchanged, avoiding access beyond array bounds. Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 878v2b8sek.fsf@xxxxxxxxx commit 7ff7b666186a86f0121e6e7db6784222cefe22a2 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: add SIOCADDRT/SIOCDELRT support This allows to pass the device name. You can test this with the "route" command. WITHOUT this patch: $ sudo route add -net default gw 10.0.3.1 eth0 SIOCADDRT: Bad address $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Ifa 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth WITH this patch: $ sudo route add -net default gw 10.0.3.1 eth0 $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Ifa 0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0 eth 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 463d8e7393681b300946d6bf9f9d5b7035d718c6 Author: Andreas Schwab <schwab@xxxxxxx> Date: Tue Jul 2 14:04:12 2013 +0100 linux-user: handle /proc/$$ like /proc/self Some applications use /proc/$$/... (where $$ is the own pid) instead of /proc/self/... to refer to their own proc files. Extend the interception for open and readlink to handle this case. Also, do the same interception in readlinkat. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 58fda173e1156d24e5ff62361774715152188a07 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jul 2 15:36:25 2013 +0200 block: fix bdrv_flush() ordering in bdrv_close() Since 80ccf93b we flush the block device during close. The bdrv_drain_all() call should come before bdrv_flush() to ensure guest write requests have completed. Otherwise we may miss pending writes when flushing. Call bdrv_drain_all() again for safety as the final step after bdrv_flush(). This should not be necessary but we can be paranoid here in case bdrv_flush() left I/O pending. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3494d650273e619606c6cb2c38aa9b8b7bed98e2 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue Jul 2 15:19:21 2013 +0800 curl: refuse to open URL from HTTP server without range support CURL driver requests partial data from server on guest IO req. For HTTP and HTTPS, it uses "Range: ***" in requests, and this will not work if server not accepting range. This patch does this check when open. * Removed curl_size_cb, which is not used: On one hand it's registered to libcurl as CURLOPT_WRITEFUNCTION, instead of CURLOPT_HEADERFUNCTION, which will get called with *data*, not *header*. On the other hand the s->len is assigned unconditionally later. In this gone function, the sscanf for "Content-Length: %zd", on (void *)ptr, which is not guaranteed to be zero-terminated, is potentially a security bug. So this patch fixes it as a side-effect. The bug is reported as: https://bugs.launchpad.net/qemu/+bug/1188943 (Note the bug is marked "private" so you might not be able to see it) * Introduced curl_header_cb, which is used to parse header and mark the server as accepting range if "Accept-Ranges: bytes" line is seen from response header. If protocol is HTTP or HTTPS, but server response has no not this support, refuse to open this URL. Note that python builtin module SimpleHTTPServer is an example of not supporting range, if you need to test this driver, get a better server or use internet URLs. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit da7a50f938516d0f2302965eeb82940c32028ed8 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Mon Jul 1 11:33:17 2013 +0800 vmdk: Implement .bdrv_has_zero_init Depending on the subformat, has_zero_init queries underlying storage for flat extent. If it has a flat extent and its underlying storage doesn't have zero init, return 0. Otherwise return 1. Aligns the operator assignments. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c7086b4a237520d2bbe5146d8b1ace1894c2b2bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jun 2 15:27:39 2013 +0200 exec: change some APIs to take AddressSpaceDispatch Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6092666ebdc68b2634db050689292c71a5c368c0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:30:26 2013 +0200 exec: remove cur_map cur_map is not used anymore; instead, each AddressSpaceDispatch has its own nodes/sections pair. The priorities of the MemoryListeners, and in the future RCU, guarantee that the nodes/sections are not freed while they are still in use. (In fact, next_map itself is not needed except to free the data on the next update). To avoid incorrect use, replace cur_map with a temporary copy that is only valid while the topology is being updated. If you use it, the name prev_map makes it clear that you're doing something weird. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0475d94fffe4e5fda59e0334b6dd53df00c5deb6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:28:21 2013 +0200 exec: put memory map in AddressSpaceDispatch After this patch, AddressSpaceDispatch holds a constistent tuple of (phys_map, nodes, sections). This will be important when updates of the topology will run concurrently with reads. cur_map is not used anymore except for freeing it at the end of the topology update. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0075270317fbd37160bc40e481a1e9cb5cbdc2f6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:13:54 2013 +0200 exec: separate current radix tree from the one being built This same treatment previously done to phys_node_map and phys_sections is now applied to the dispatch field of AddressSpace. Topology updates use as->next_dispatch while accesses use as->dispatch. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 89ae337acbe4dba5b2481007aec1277252d2b86c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jun 2 10:39:07 2013 +0200 exec: move listener from AddressSpaceDispatch to AddressSpace This will help having two copies of AddressSpaceDispatch during the recreation of the radix tree (one being built, and one that is complete and will be protected by RCU). We do not want to have to unregister and re-register the listener. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c2fc83e83d4fbc6f63b2b0f0be898374e6ddc78f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Jun 2 15:20:47 2013 +0200 memory: move MemoryListener declaration earlier Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9affd6fc0e7904fb36d58d1992bbd7cae3649197 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:09:47 2013 +0200 exec: separate current memory map from the one being built Currently, phys_node_map and phys_sections are shared by all of the AddressSpaceDispatch. When updating mem topology, all AddressSpaceDispatch will rebuild dispatch tables sequentially on them. In order to prepare for RCU access, leave the old memory map alive while the next one is being accessed. When rebuilding, the new dispatch tables will build and lookup next_map; after all dispatch tables are rebuilt, we can switch to next_* and free the previous table. Based on a patch from Liu Ping Fan. Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b41aac4f0d17000babd815e088699d58e59917b8 Author: Liu Ping Fan <qemulist@xxxxxxxxx> Date: Wed May 29 11:09:17 2013 +0200 exec: change well-known physical sections to macros Sections like phys_section_unassigned always have fixed address in phys_sections. Declared as macro, so we can use them when having more than one phys_sections array. Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx> Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f08c03f3c404e85a2b81890191ccb48dc1ecc157 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Jul 2 11:36:39 2013 +0200 qom: Use atomics for object refcounting Object reference counts will soon be changed outside the BQL. So we need to use atomics in object_ref/unref. Based on a patch by Liu Ping Fan. Signed-off-by: Liu Ping Fan <qemulist@xxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 856d72454f03aea26fd61c728762ef9cd1d71512 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 11:57:21 2013 +0200 memory: add reference counting to FlatView With this change, a FlatView can be used even after a concurrent update has replaced it. Because we do not yet have RCU, we use a mutex to protect the small critical sections that read/write the as->current_map pointer. Accesses to the FlatView can be done outside the mutex. If a MemoryRegion will be used after the FlatView is unref-ed (or after a MemoryListener callback is returned), a reference has to be added to that MemoryRegion. memory_region_find already does it for the region that it returns. The same will be done for address_space_translate as soon as the dispatch tree is also converted to RCU-style. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a9a0c06dd750cca982f21089099207874b960656 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 10:29:07 2013 +0200 memory: use a new FlatView pointer on every topology update This is the first step towards converting as->current_map to RCU-style updates, where the FlatView updates run concurrently with uses of an old FlatView. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99e86347fe960b95514531f84282438ae4e6ca64 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 10:26:13 2013 +0200 memory: access FlatView from a local variable We will soon require accesses to as->current_map to be placed under a lock (with reference counting so as to keep the critical section small). To simplify this change, always fetch as->current_map into a local variable and access it through that variable. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5444e768ee1abe6e021bece19a9a932351f88c88 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 13:29:47 2013 +0200 add a header file for atomic operations We're already using them in several places, but __sync builtins are just too ugly to type, and do not provide seqcst load/store operations. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 22fc860b0a0b689eacf4a01f5aa2ccbf36043a12 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/[u-x]*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 853dca12055ea74994629d06798165d811c5e1e2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/t*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2977673992b7d363d0f402ee7c4217795fe13809 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/s*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 40c5dce99bac2d1d5f240c8c8ec53dc23ea46a89 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/p*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eedfac6f38b2ba8be827088cd3facd19d21af1e1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/n*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3c16154210ce6277bee553e72f7c7b2b2fecefbf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/m*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1437c94b2689c2010362f84d14f14feaa1d8dba3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/i*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b716368778aebdb523546d72a28706420a8c32ae Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/gpio: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3eadad551d3d5901b75f8c53dbd57b9bec2f2b01 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/d*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 300b1fc68c47478f36705f23a93dce77ac3e429a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/c*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2d256e6f652b519c59d0bea926ebb1cb866d4241 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/block: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 64bde0f3e7170cc8a9b60da835b9b3cefd03a7a5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:25:08 2013 -0400 hw/a*: pass owner to memory_region_init* functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit db10ca9057b11222408f708d5d99a3888eca4feb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:19:53 2013 -0400 piolist: add owner argument to initialization functions and pass devices Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3cd2cf4375993494bcf6195c1637a3d009aa6fae Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 12:33:01 2013 +0200 pam: pass device to init_pam and use it to set owner Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 84af6d9f97bb144bbebe688364431804a190074a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 12:32:25 2013 +0200 spapr_iommu: pass device to spapr_tce_new_table and use it to set owner Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5cb022a1bfaa0c15a13d3266bc6d683cc1f44d7f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 12:31:46 2013 +0200 vfio: pass device to vfio_mmap_bar and use it to set owner Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dcb117bfda5af6f6ceb7231778d36d8bce4aee93 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 15:04:35 2013 +0200 ne2000: pass device to ne2000_setup_io, use it as owner Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42e038fe918f4eecdd84ef9ee406bba1deb15cec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: set owner in vga_update_memory_access Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c84b28eeea1ab3f90e619b6af63e7db770c579ec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_init_io Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 831183277318395ecd02f2fe2423f5fe983ed96a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_init_vbe Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9eb58a473b615d9d6d26ee8e568eeb2e67d8e274 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to cirrus_init_common Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 270327feb2535f74379030e028b96b57fd60ca39 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_common_init Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 712f0cc777dc8abc1f43b8e2a5e65ab3ae563cbd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 21:21:13 2013 -0400 vga: pass owner to vga_init Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3cf63ff25c6f1bdac7cb153f87ff830e932ac2f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 15:02:38 2013 +0200 escc: rename struct to ESCCState We are using the same struct name for two devices. 8250 is widespread enough that this causes some confusion, rename the other instance. Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d3e71559a81ca7b6221465dd19282429101f983d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jun 28 17:33:29 2013 +0200 memory: ref/unref memory across address_space_map/unmap The iothread mutex might be released between map and unmap, so the mapped region might disappear. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e3127ae0cdcde6b10a8643836f5bec197f2eff1a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jun 28 17:29:27 2013 +0200 exec: reorganize address_space_map First of all, rename "todo" to "done". Second, clearly separate the case of done == 0 with the case of done != 0. This will help handling reference counting in the next patch. Third, this test: if (memory_region_get_ram_addr(mr) + xlat != raddr + todo) { does not guarantee that the memory region is the same across two iterations of the while loop. For example, you could have two blocks: A) size 640 K, mapped at physical address 0, ram_addr_t 0 B) size 64 K, mapped at physical address 0xa0000, ram_addr_t 0xa0000 then mapping 1 M starting at physical address zero will erroneously treat B as the continuation of block A. qemu_ram_ptr_length ensures that no invalid memory is accessed, but it is still a pointless complication of the algorithm. The patch makes the logic clearer with an explicit test that the memory region is the same. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1b5ec2346703c060d26ada7d95fe9aaf476b1947 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 14:36:15 2013 +0200 memory: return MemoryRegion from qemu_ram_addr_from_host It will be needed in the next patch. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7443b43758ba5eeca8f81ca15fe9fced8983be26 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 12:44:02 2013 +0200 exec: move qemu_ram_addr_from_host_nofail to cputlb.c After the next patch it would not be used elsewhere anyway. Also, the _nofail and the standard versions of this function return different things, which is confusing. Removing the function from the public headers limits the confusion. Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 23887b79df2be53dc49166e1b677469abfb92147 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 14:28:39 2013 +0200 exec: check MRU in qemu_ram_addr_from_host This function is not used outside the iothread mutex, so it can use ram_list.mru_block. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dfde4e6e1a868f60033ece0590b1f75e6c57fa16 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 10:46:11 2013 +0200 memory: add ref/unref calls Add ref/unref calls at the following places: - places where memory regions are stashed by a listener and used outside the BQL (including in Xen or KVM). - memory_region_find callsites - creation of aliases and containers (only the aliased/contained region gets a reference to avoid loops) - around calls to del_subregion/add_subregion, where the region could disappear after the first call Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3ce10901ca8da9142dcdcde198fda1a4c290934c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jul 2 13:40:48 2013 +0200 memory: introduce memory_region_present This new API will avoid having too many memory_region_ref/unref in paths that currently use memory_region_find. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 46637be269aaaceb9867ffdf176e906401138fff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 09:06:00 2013 +0200 memory: add ref/unref Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 803c0816a7d3ab35460991ba5b7d1fccc070332b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 06:59:09 2013 +0200 memory: add getter for owner Whenever memory regions are accessed outside the BQL, they need to be preserved against hot-unplug. MemoryRegions actually do not have their own reference count; they piggyback on a QOM object, their "owner". The owner is set at creation time, and there is a function to retrieve the owner. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b7e95164d1a9969aa591b8a72e05b94d08c49738 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:07:03 2013 +0200 exec: simplify destruction of the phys map Do not bother visiting the radix tree when an address space is destroyed. After the previous patch, this has become a pointless exercise. When called from address_space_destroy_dispatch, all you're doing is zeroing out a structure that will be freed as soon as you come back. When called from mem_begin, when phys_page_set_level will call phys_map_node_alloc the radix tree's array will be zeroed too. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 058bc4b57f9d6b39d9a6748b4049e1be3fde3dac Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 25 09:30:48 2013 +0200 memory: destroy phys_sections one by one phys_sections_clear is invoked after the dispatch tree has been destroyed. This leaves a window where phys_sections_nb > 0 but the subpages are not valid anymore, which is a recipe for use-after-free bugs. Move the destruction of subpages in phys_sections_clear. We will still destroy the subpages when an address space is cleaned up, because address_space_destroy will clear as->root and commit the change before it calls address_space_destroy_dispatch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2c9b15cab12c21e32dffb67c5e18f3dc407ca224 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 6 05:41:28 2013 -0400 memory: add owner argument to initialization functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5767e4e19835cd39de9945bba17438e368e253bb Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:07 2013 +0200 ioport: Move portio types to ioport.h This decouples memory.h from ioport.h, concentrating all portio related types in a single header. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d67f679d99778d9e07ec470ebf803249c2bea625 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:06 2013 +0200 vmport: Disentangle read handler type from portio In case the latter may vanish one day, make sure the vmport read handler type will remain unaffected. This is also conceptually cleaner. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0659097de2b47470b4d706c2634240f54700c807 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:05 2013 +0200 ioport: Remove unused old dispatching services Remove unused ioport_register and isa_unassign_ioport along with everything that only those services used. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b40acf99bef69fa8ab0f9092ff162fde945eec12 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Jun 24 10:45:09 2013 +0200 ioport: Switch dispatching to memory core layer The current ioport dispatcher is a complex beast, mostly due to the need to deal with old portio interface users. But we can overcome it without converting all portio users by embedding the required base address of a MemoryRegionPortio access into that data structure. That removes the need to have the additional MemoryRegionIORange structure in the loop on every access. To handle old portio memory ops, we simply install dispatching handlers for portio memory regions when registering them with the memory core. This removes the need for the old_portio field. We can drop the additional aliasing of ioport regions and also the special address space listener. cpu_in and cpu_out now simply call address_space_read/write. And we can concentrate portio handling in a single source file. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 962b03fcf509db25c847aa67c4eff574c240dcfe Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:03 2013 +0200 xen: Mark fixed platform I/O as unaligned Before switching to the memory core dispatcher, we need to make sure that this pv-device will continue to receive unaligned portio accesses. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 04e8cd506a2a7b57084d7d7b823540c2baf9a1da Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:02 2013 +0200 vmware-vga: Accept unaligned I/O accesses Before switching to the memory core dispatcher, we need to make sure that this pv-device will continue to receive unaligned portio accesses. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b6f3296292f027c9a87a12dddd736a7c344d0206 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:01 2013 +0200 isa: implement isa_is_ioport_assigned via memory_region_find Open-code isa_is_ioport_assigned via a memory region lookup. As all IO ports are now directly or indirectly registered via the memory API, this becomes possible and will finally allow us to drop the ioport tables. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8ab9b41876c0ead43648b55576a8f17aa2c8b027 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:07:00 2013 +0200 Privatize register_ioport_read/write No more users outside of ioport.c. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bcc37e24bda4666e1ddd75e9c523641f8b8a1b7e Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:59 2013 +0200 vt82c686: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd533eb510bace3efabe3378caae4002eb941508 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:58 2013 +0200 prep: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f94b64acb6ec2871676990ea5ba956a91b20cc75 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:57 2013 +0200 i82374: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0c6c4e28b3e6a2d0d87b7ca87ffb19e03d44267b Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:56 2013 +0200 wdt_ib700: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e3914e3ad883cff0247da8471e9cb3051e88ab38 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:55 2013 +0200 applesmc: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a8aec29569e8baa4d86ea2aac16f8c4d78ab2a2a Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sat Jun 22 08:06:54 2013 +0200 adlib: replace register_ioport* Convert over to memory regions to obsolete register_ioport*. CC: malc <av1474@xxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f487b677c2dc15786dbe7c61326cc49e7c64daea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 14:17:19 2013 +0200 dma: keep a device alive while it has SGLists Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cac3c384bb986f06a308e551641284586924813c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 14:09:39 2013 +0200 scsi: keep device alive while it has requests Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6ac363b50c569815786a795d806e068b3f6a07eb Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:46 2013 +1000 pci: Move pci_read_devaddr to pci-hotplug-old.c pci_read_devaddr() is only used by the legacy functions for the old PCI hotplug interface in pci-hotplug-old.c. So we move the function there, and make it static. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 79ca616f291124d166ca173e512c4ace1c2fe8b2 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 18:48:45 2013 +1000 pci: Cleanup configuration for pci-hotplug.c pci-hotplug.c and the CONFIG_PCI_HOTPLUG variable which controls its compilation are misnamed. They're not about PCI hotplug in general, but rather about the pci_add/pci_del interface which are now deprecated in favour of the more general device_add/device_del interface. This patch therefore renames them to pci-hotplug-old.c and CONFIG_PCI_HOTPLUG_OLD. CONFIG_PCI_HOTPLUG=y was listed twice in {i386,x86_64}-softmmu.make for no particular reason, so we clean that up too. In addition it was included in ppc64-softmmu.mak for which the old hotplug interface was never used and is unsuitable, so we remove that too. Most of pci-hotplug.c was additionaly protected by #ifdef TARGET_I386. The small piece which wasn't is only called from the pci_add and pci_del hooks in hmp-commands.hx, which themselves were protected by #ifdef TARGET_I386. This patch therefore also removes the #ifdef from pci-hotplug-old.c, and changes the ifdefs in hmp-commands.hx to use CONFIG_PCI_HOTPLUG_OLD. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit fea7d5966a54a5e5400cd38897a95ea576b5af4d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jun 16 23:48:42 2013 +0300 pvpanic: fix fwcfg for big endian hosts Convert port number to little endian when exposing it in fw cfg. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jun 16 18:31:30 2013 +0300 pvpanic: initialization cleanup Avoid use of static variables: PC systems initialize pvpanic device through pvpanic_init, so we can simply create the fw_cfg file at that point. This also makes it possible to skip device creation completely if fw_cfg is not there, e.g. for xen - so the ports it reserves are not discoverable by guests. Also, make pvpanic_init void since callers ignore return status anyway. Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c6d559d9cf8687d8378e888e7570c07ce53b94e2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 4 16:06:37 2013 +0300 MAINTAINERS: s/Marcelo/Paolo/ Marcelo doesn't maintain kvm anymore, Paolo is taking over the job. Update MAINTAINERS to stop flooding Marcelo with mail. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a0ae17a63e08a57a644eacc1f0fd89d535ed36bf Author: Andrew Jones <drjones@xxxxxxxxxx> Date: Tue Jun 4 10:49:48 2013 +0200 e1000: cleanup process_tx_desc Coverity complains about two overruns in process_tx_desc(). The complaints are false positives, but we might as well eliminate them. The problem is that "hdr" is defined as an unsigned int, but then used to offset an array of size 65536, and another of size 256 bytes. hdr will actually never be greater than 255 though, as it's assigned only once and to the value of tp->hdr_len, which is an uint8_t. This patch simply gets rid of hdr, replacing it with tp->hdr_len, which makes it consistent with all other tp member use in the function. v2: - also cleanup coding style issues in the touched lines Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit fcbe0a707a227ea25f06382e61ff9b2761c77661 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 18 17:11:42 2013 +0300 pc_piix: cleanup init compat handling Make sure 1.4 calls 1.5, 1.3 calls 1.4 etc. This way it's enough to add enough new compat hook in a single place in piix. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 20:00:23 2013 +0300 pc: pass PCI hole ranges to Guests Guest currently has to jump through lots of hoops to guess the PCI hole ranges. It's fragile, and makes us change BIOS each time we add a new chipset. Let's report the window in a ROM file, to make BIOS do exactly what QEMU intends. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 3459a625215449b67b9c67d9151ff72892d0a42a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 12:57:26 2013 +0300 pci: store PCI hole ranges in guestinfo structure Will be used to pass hole ranges to guests. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 620ac82eb0fc4218fb6a4937bcef3fdab3126703 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 17:13:15 2013 +0300 range: add Range structure Sometimes we need to pass ranges around, add a handy structure for this purpose. Note: memory.c defines its own concept of AddrRange structure for working with 128 addresses. It's necessary there for doing range math. This is not needed for most users: struct Range is much simpler, and is only used for passing the range around. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf Merge: 1acd5a3... 00f4d64... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jul 3 08:36:59 2013 -0500 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging # By Michael S. Tsirkin (2) and others # Via Paolo Bonzini * qemu-kvm/uq/master: kvmclock: clock should count only if vm is running pci-assign: remove the duplicate function name in debug message kvm: skip system call when msi route is unchanged kvm: zero-initialize KVM_SET_GSI_ROUTING input kvm: add detail error message when fail to add ioeventfd Message-id: 1372841072-22265-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1f6dc0d2a03f0e114cc5ff08b0a133e24fd55ad Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Tue Jun 11 10:14:09 2013 +0200 tcg/aarch64: implement ldst 12bit scaled uimm offset implement the 12bit scaled unsigned immediate offset variant of LDR/STR. This improves code size by avoiding the movi + ldst_r for naturally aligned offsets in range. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> commit 00f4d64ee76e873be881a82d893a591487aa7950 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Tue Jun 18 20:38:25 2013 -0300 kvmclock: clock should count only if vm is running kvmclock should not count while vm is paused, because: 1) if the vm is paused for long periods, timekeeping math can overflow while converting the (large) clocksource delta to nanoseconds. 2) Users rely on CLOCK_MONOTONIC to count run time, that is, time which OS has been in a runnable state (see CLOCK_BOOTTIME). Change kvmclock driver so as to save clock value when vm transitions from runnable to stopped state, and to restore clock value from stopped to runnable transition. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bd50cbaa0f34e47c5b82eba1cd1e88143018fa19 Author: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Date: Wed Jun 19 11:18:39 2013 +0800 pci-assign: remove the duplicate function name in debug message While DEBUG() already includes the function name. Signed-off-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 40509f7f52672fe41c2cce895e187352fc09f53a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 4 14:52:35 2013 +0300 kvm: skip system call when msi route is unchanged Some guests do a large number of mask/unmask calls which currently trigger expensive route update system calls. Detect that route in unchanged and skip the system call. Reported-by: "Zhanghaoyu (A)" <haoyu.zhang@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 0fbc20740342713f282b118b4a446c4c43df3f4a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jun 4 14:52:32 2013 +0300 kvm: zero-initialize KVM_SET_GSI_ROUTING input kvm_add_routing_entry makes an attempt to zero-initialize any new routing entry. However, it fails to initialize padding within the u field of the structure kvm_irq_routing_entry. Other functions like kvm_irqchip_update_msi_route also fail to initialize the padding field in kvm_irq_routing_entry. It's better to just make sure all input is initialized. Once it is, we can also drop complex field by field assignment and just do the simple *a = *b to update a route entry. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit fa4ba923bd539647ace9d70d226a848bd6a89dac Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed May 22 12:57:35 2013 +0800 kvm: add detail error message when fail to add ioeventfd I try to hotplug 28 * 8 multiple-function devices to guest with old host kernel, ioeventfds in host kernel will be exhausted, then qemu fails to allocate ioeventfds for blk/nic devices. It's better to add detail error here. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 6046c620866f6f5c53eaece9f4ad8d44a12e1185 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jun 20 16:19:32 2013 +0200 int128: optimize and add test cases For add, the carry only requires checking one of the arguments. For sub and neg, we can similarly optimize computation of the carry. For ge, we can just do lexicographic order. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1acd5a373905ddb28957842256a038956941f332 Merge: f7d1f9d... 2345f1c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 1 09:03:04 2013 -0500 Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging # By Alexander Graf (12) and others # Via Alexander Graf * agraf/ppc-for-upstream: (32 commits) PPC: Ignore writes to L2CR mac-io: Add escc-legacy memory alias region PPC: Newworld: Add second uninorth control register set PPC: Newworld: Add uninorth token register PPC: Add clock-frequency export for Mac machines PPC: Introduce an alias cache for faster lookups PPC: Fix GDB read on code area for PPC6xx PPC: Add dump_mmu() for 6xx target-ppc: Introduce unrealizefn for PowerPCCPU booke_ppc: limit booke timer to max when timeout overflow Graphics: Switch to 800x600x32 as default mode pseries: Update MAINTAINERS information target-ppc kvm: save cr register pseries: Fix compiler warning (conversion of pointer to integral value) spapr-rtas: add CPU argument to RTAS calls target-ppc: Change default machine for 64-bit ppc: do not register IABR SPR twice for 603e target-ppc: Drop redundant flags assignments from CPU families mpc8544_guts: Turn qdev initfn into instance_init mpc8544_guts: QOM'ify ... Message-id: 1372556709-23868-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7d1f9d4e74d66cc7c72de46575a61bd6b433360 Merge: d75416e... cc3ac9c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 1 09:02:30 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: fix build breakage on windows Message-id: 1372669523-4039-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d75416ef29e477ebeadf9da41677be6f8166e8be Merge: ffeec22... fbe2e26... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jul 1 09:02:25 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Kevin Wolf # Via Luiz Capitulino * luiz/queue/qmp: hmp: Make "info block" output more readable Message-id: 1372452199-23237-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc3ac9c4a6fd0574b767c599e4a582be8f23260d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Jun 28 09:28:06 2013 +0200 virtio-ccw: fix build breakage on windows event_notifier_get_fd() is not available on windows hosts. Fix this by moving the calls to event_notifier_get_fd() to the kvm code. Reported-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 2345f1c0146672ce6eb0025bd2cfa4afabdef5fd Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jun 27 00:31:42 2013 +0200 PPC: Ignore writes to L2CR The L2CR register contains a number of bits that either impose configuration which we can't deal with or mean "something is in progress until the bit is 0 again". Since we don't model the former and we do want to accomodate guests using the latter semantics, let's just ignore writes to L2CR. That way guests always read back 0 and are usually happy with that. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0d54a5024f846ce7d53db25012fb4c7481e971ff Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Jun 26 13:58:31 2013 +0200 mac-io: Add escc-legacy memory alias region Mac OS X's debugging serial driver accesses the ESCC through a different register layout, called "escc-legacy". This layout differs from the normal escc register layout purely by the location of the respective registers. This patch adds a memory alias region that takes normal escc registers and maps them into the escc-legacy register space. With this patch applied, a Mac OS X guest successfully emits debug output on the serial port when run with debug parameters set, for example by running: $ qemu-system-ppc -prom-env -'boot-args=-v debug=0x8 io=0xff serial=0x3' \ -cdrom 10.4.iso -boot d Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 593c18116090237db96af6e50b902d790265ebc5 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jun 25 03:46:33 2013 +0200 PPC: Newworld: Add second uninorth control register set Mac OS X requires a second uninorth register set to be mapped a few bytes above the first one. Let's just expose it to make it happy. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4e46dcdbd31314c66fc19f73d9358852f77e8e2e Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jun 25 03:39:21 2013 +0200 PPC: Newworld: Add uninorth token register Mac OS X expects the uninorth control register set to contain one register that always reads back what it writes in. Expose that. This is just a temporary hack. Eventually, we want to expose the uninorth (/uni-n in device tree) as a separate QOM device. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a1014f25ef54bbbdaf571873a1254f85d6dcf132 Author: Alexander Graf <agraf@xxxxxxx> Date: Sun Jun 23 00:22:50 2013 +0200 PPC: Add clock-frequency export for Mac machines Support in fwcfg has been around for exposure of the clock-frequency CPU property. OpenBIOS reads it, we just never exposed it. Since Mac OS X is very picky about its clock frequency values, let's just take a known good value and always expose that. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9761ad757182be663fa31af99abad959ac63b17f Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Jun 22 03:53:35 2013 +0200 PPC: Introduce an alias cache for faster lookups When running QEMU with "-cpu ?" we walk through every alias for every target CPU we know about. This takes several seconds on my very fast host system. Let's introduce a class object cache in the alias table. Using that we don't have to go through the tedious work of finding our target class. Instead, we can just go directly from the alias name to the target class pointer. This patch brings -cpu "?" to reasonable times again. Before: real 0m4.716s After: real 0m0.025s Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b177d8b77c7301da9b51b829b0edcff367e92023 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Jun 18 16:53:01 2013 +0200 PPC: Fix GDB read on code area for PPC6xx On PPC 6xx, data and code have separated TLBs. Until now QEMU was only looking at data TLBs, which is not good when GDB wants to read code. This patch adds a second call to get_physical_address() with an ACCESS_CODE type of access when the first call with ACCESS_INT fails. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 886b75779104f38c30cc2594fcf2b214615a242d Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Fri Jun 21 15:26:57 2013 +0200 PPC: Add dump_mmu() for 6xx "(qemu) info tlb" is a very useful tool for debugging, so I implemented the missing 6xx version. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> [agraf: fix printfs on hwaddr to PRI] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b048960f15dbedeceb4e1d7e469080cf68d4cf67 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:11:49 2013 +0200 target-ppc: Introduce unrealizefn for PowerPCCPU Use it to clean up the opcode table, resolving a former TODO from Jocelyn. Also switch from malloc() to g_malloc(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ab8131afee34d6aa427bd56ac18c4d3b6df80728 Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Wed Jun 12 18:00:50 2013 +0530 booke_ppc: limit booke timer to max when timeout overflow Limit watchdog and fit timer to maximum timeout value which qemu timer can support (INT64_MAX). This maximum timeout will be hundreds of years, so limiting to max timeout is pretty safe. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f1ff0e89c8287de79c804ec7a50d43f39a9f65dc Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jun 20 14:06:27 2013 +0200 Graphics: Switch to 800x600x32 as default mode We have stayed at 800x600x15 as default graphics mode for the last 9 years. If there ever was a reason to be there, surely nobody remembers it. However, recently non-Linux PPC guests started to show bad effects on 15 bit color mode. They do work just fine with 32 bits however. So let's switch to 32 bit color as the default graphic mode. Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f9de2da728d885c5c246d6ba94edea067ad00434 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 15 11:51:52 2013 +1000 pseries: Update MAINTAINERS information I'm no longer at IBM, and therefore no long actively working on the pseries (aka sPAPR) qemu machine type. This patch removes my information in the MAINTAINERS file. While we're at it, I've added some extra file patterns for pseries specific files that weren't included in the existing pattern. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: Remove new maintainer addition] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4bddaf552c3a05e1fdd2c82d6b28ebc8f99269c9 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Sat Jun 15 11:51:51 2013 +1000 target-ppc kvm: save cr register This adds a missing code to save CR (condition register) via kvm_arch_put_registers(). kvm_arch_get_registers() already has it. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ec4936e1a49ef2d7129a1813ed7a3ca826698bfb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jun 19 23:08:29 2013 +0200 pseries: Fix compiler warning (conversion of pointer to integral value) This kind of type cast must use uintptr_t or target_ulong to be portable for hosts with sizeof(void *) != sizeof(long). Here the value is assigned to a variable of type target_ulong. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> [agraf: fix compilation on 32bit hosts] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 210b580b106fa798149e28aa13c66b325a43204e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jun 19 15:40:30 2013 -0500 spapr-rtas: add CPU argument to RTAS calls RTAS is a hypervisor provided binary blob that a guest loads and calls into to execute certain functions. It's similar to the vsyscall page in Linux or the short lived VMCI paravirt interface from VMware. The QEMU implementation of the RTAS blob is simply a passthrough that proxies all RTAS calls to the hypervisor via an hypercall. While we pass a CPU argument for hypercall handling in QEMU, we don't pass it for RTAS calls. Since some RTAs calls require making hypercalls (normally RTAS is implemented as guest code) we have nasty hacks to allow that. Add a CPU argument to RTAS call handling so we can more easily invoke hypercalls just as guest code would. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 159f8286b760deace1008f5f68a46cadba337780 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 15 11:51:50 2013 +1000 target-ppc: Change default machine for 64-bit Currently, for qemu-system-ppc64, the default machine type is 'mac99'. The mac99 machine is not being actively maintained, and represents a bizarre hybrid of components that never actually existed as a real system. This patch changes the default machine to 'pseries', which is actively maintained and works well with most modern ppc64 Linux distributions as a guest. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: adjust commit message] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9fea2ae25080ad790d7d904d01a1300a45a634eb Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat May 11 21:03:50 2013 +0200 ppc: do not register IABR SPR twice for 603e IABR SPR is already registered in gen_spr_603(), called from init_proc_603E(). Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1e3438df5a9e75355b36200f3bd8b94d1a32cc24 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 22 18:35:46 2013 +0100 target-ppc: Drop redundant flags assignments from CPU families Previous code has #define POWERPC_INSNS2_<family> PPC_NONE in some places for macrofied assignment to insns_flags2 field. PPC_NONE is defined as zero though and QOM classes are zero-initialized, so drop any pcc->insns_flags2 = PPC_NONE; assignments. PPC_NONE itself is still in use in translate.c. Suggested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7587ea5bcbdeb08a204b4c1d5afe039d47d613fa Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:47:35 2013 +0200 mpc8544_guts: Turn qdev initfn into instance_init SysBus can deal with NULL SysBusDeviceClass::init since 4ce5dae. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 43f691e9e248edca7b70680fd87b5be786cc4e01 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:47:34 2013 +0200 mpc8544_guts: QOM'ify Introduce type constant, cast macro and rename parent field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1f1a83f459dab7fbec9c5866a4d6a1ae16549edd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 22:47:33 2013 +0200 mpc8544_guts: Fix MemoryRegion name 6544 -> 8544 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dd49c038c373329dc9e98e591677978ff2277d9f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 16 21:30:40 2013 +0200 intc/openpic_kvm: Fix QOM and build issues Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cbe72019b1432b368dde7c6cd3e270fc221de085 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 03:58:08 2013 +0200 intc/openpic: Convert to QOM realize Split qdev initfn into instance_init and realize functions. Change one occurrence of "klass" while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1766344fd1d3cb7421f734f89a9356fdec98398 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 03:58:07 2013 +0200 intc/openpic: QOM'ify Introduce type constant and cast macro. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d85937e683f6ff4d68293cb24c780fb1f6820d2c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jun 12 15:32:51 2013 -0500 kvm/openpic: in-kernel mpic support Enables support for the in-kernel MPIC that thas been merged into the KVM next branch. This includes irqfd/KVM_IRQ_LINE support from Alex Graf (along with some other improvements). Note from Alex regarding kvm_irqchip_create(): On x86, one would call kvm_irqchip_create() to initialize an in-kernel interrupt controller. That function then goes ahead and initializes global capability variables as well as the default irq routing table. On ppc, we can't call kvm_irqchip_create() because we can have different types of interrupt controllers. So we want to do all the things that function would do for us in the in-kernel device init handler. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: squash in kvm_irqchip_commit_routes patch, fix non-kvm build, fix ppcemb] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4be1db86060d803f2335c08a483218eb6a8bd9eb Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jun 28 13:47:15 2013 +0200 PPC: Add non-kvm stub file There are cases where a kvm provided function is called from generic hw code that doesn't know whether kvm is available or not. Provide a stub file which can provide simple replacement functions for those cases. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb925cf9230f77c096dae4b159a9449bc306256c Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Apr 17 01:11:55 2013 +0200 KVM: PIC: Only commit irq routing when necessary The current logic updates KVM's view of our interrupt map every time we change it. While this is nice and bullet proof, it slows things down badly for me. QEMU spends about 3 seconds on every start telling KVM what news it has on its routing maps. Instead, let's just synchronize the whole irq routing map as a whole when we're done constructing it. For things that change during runtime, we can still update the routing table on demand. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 82fc73b65c19fed0ee28aeb655d27de5ac9e78d5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Apr 15 13:19:33 2013 +0000 PPC: e500: factor out mpic init code KVM in-kernel MPIC support is going to expand this even more, so let's keep it contained. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8935a442cd3cf94f21fcc4386c1c07a7a5dd6887 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Apr 15 13:19:32 2013 +0000 openpic: factor out some common defines into openpic.h ...for use by the KVM in-kernel irqchip stub. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d07cc1f12d8e15c167857852c39190d770763824 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Apr 16 15:05:22 2013 +0200 KVM: MSI: Swap payload to native endianness The usual MSI injection mechanism writes msi.data into memory using an le32 wrapper. So on big endian guests, this swaps msg.data into the expected byte order. For irqfd however, we don't swap the payload right now, rendering in-kernel MPIC emulation broken on PowerPC. Swap msg.data to the correct endianness whenever we touch it. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b7745930b1f14057b41a257524c559e62c5faa7 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Apr 16 15:58:13 2013 +0200 KVM: Export kvm_init_irq_routing On PPC, we can have different types of interrupt controllers, so we really only know that we are going to use one when we created it. Export kvm_init_irq_routing() to common code, so that we don't have to call kvm_irqchip_create(). Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 215e79c01c4e6f766eb9add56c56453e9ea1d948 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Apr 24 22:24:12 2013 +0200 KVM: Don't assume that mpstate exists with in-kernel PIC always On PPC, we don't support MP state. So far it's not necessary and I'm not convinced yet that we really need to support it ever. However, the current idle logic in QEMU assumes that an in-kernel PIC also means we support MP state. This assumption is not true anymore. Let's split up the two cases into two different variables. That way PPC can expose an in-kernel PIC, while not implementing MP state. Signed-off-by: Alexander Graf <agraf@xxxxxxx> CC: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit ffeec223b55ea696567ed544016824199cd7c7bc Merge: 2ea3e2c... a8ad415... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 28 15:48:35 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Gerd Hoffmann (13) and Michael Tokarev (1) # Via Michael Tokarev * mjt/trivial-patches: doc: we use seabios, not bochs bios qemu-socket: don't leak opts on error qemu-char: report udp backend errors qemu-char: add -chardev mux support qemu-char: minor mux chardev fixes qemu-char: use ChardevBackendKind in CharDriver qemu-char: don't leak opts on error qemu-char: fix documentation for telnet+wait socket flags qemu-char: print notification to stderr qemu-char: use more specific error_setg_* variants qemu-char: check optional fields using has_* qemu-socket: catch monitor_get_fd failures qemu-socket: drop pointless allocation qemu-socket: zero-initialize SocketAddress Message-id: 1372443465-22384-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fbe2e26c15af35e4d157874dc80f6a19eebaa83b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 16:10:55 2013 +0200 hmp: Make "info block" output more readable HMP is meant for humans and you should notice it. This changes the output format to use a bit more space to display the information more readable and leaves out irrelevant information (e.g. mention only that an image is encrypted, but not when it's not; display I/O limits only if throttling is in effect; ...) Before: (qemu) info block ide0-hd0: removable=0 io-status=ok file=/tmp/overlay.qcow2 backing_file=/tmp/backing.img backing_file_depth=1 ro=0 drv=qcow2 encrypted=1 bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0 iops_wr=0 ide1-cd0: removable=1 locked=0 tray-open=0 io-status=ok file=/home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso ro=1 drv=raw encrypted=0 bps=0 bps_rd=0 bps_wr=0 iops=0 iops_rd=0 iops_wr=0 floppy0: removable=1 locked=0 tray-open=0 [not inserted] sd0: removable=1 locked=0 tray-open=0 [not inserted] After: (qemu) info block ide0-hd0: /tmp/overlay.qcow2 (qcow2, encrypted) Backing file: /tmp/backing.img (chain depth: 1) I/O limits: bps=0 bps_rd=0 bps_wr=0 iops=1024 iops_rd=0 iops_wr=0 ide1-cd0: /home/kwolf/images/iso/Fedora-18-x86_64-Live-Desktop.iso (raw, read-only) Removable device: not locked, tray closed floppy0: [not inserted] Removable device: not locked, tray closed sd0: [not inserted] Removable device: not locked, tray closed Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Fam Zheng <famz@xxxxxxxxxx> Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 2ea3e2c1e85097c45a882dbc1fbba4a7fdb3ff1c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jun 27 15:25:12 2013 +0200 qemu-char: Fix ID reuse after chardev-remove for qapi-based init Commit 2c5f488 introduced qapi-based character device initialization as a new code path in qemu_chr_new_from_opts(). Unfortunately, it failed to store parameter opts in the new chardev. Therefore, qemu_chr_delete() doesn't delete it. Even though the device is gone, its options linger, and any attempt to create another one with the same ID fails. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1372339512-28149-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 43f420f8419866619bd107d5ee84c727b46967b8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jun 25 10:49:31 2013 +0200 console: Hook QemuConsoles into qom tree Put them named "console[$index]" below "/backend", so you can list & inspect them via QMP. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1372150171-8707-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f087553653152fdae16ed7066d238677734e4902 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jun 25 10:48:54 2013 +0200 gtk: add support for surface conversion Also use CAIRO_FORMAT_RGB24 unconditionally. DisplaySurfaces will never ever see 8bpp surfaces. And using CAIRO_FORMAT_RGB16_565 for the 16bpp case doesn't seem to be a good idea too. <quote src="/usr/include/cairo/cairo.h"> * @CAIRO_FORMAT_RGB16_565: This format value is deprecated. It has * never been properly implemented in cairo and should not be used * by applications. (since 1.2) </quote> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1372150134-8590-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 12b7f57e2cfcd665cf5a21b4ae3c23b9361c5c05 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Jun 24 15:06:52 2013 +0400 vl: convert -smp to qemu_opts_parse() This also introduces a new suboption, "cpus=", which is the default. So after this patch, -smp n,sockets=y is the same as -smp cpus=n,sockets=y (with "cpu" being some generic thing, referring to either cores, or threads, or sockets, as before). We still don't validate relations between different numbers, for example it is still possible to say -smp 1,sockets=10 and it will be accepted to mean sockets=1. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Message-id: 1372072012-30305-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8a27c6a067acd03cbd810585552df4818a4397f7 Author: Kevin Wolf <mail@xxxxxxxxxxxxx> Date: Sun Jun 23 22:07:46 2013 +0200 multiboot: Updated ROM binary Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1372018066-21822-4-git-send-email-mail@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26a8ec07616df8eeb7ae5e76a4eade6809c426e3 Author: Kevin Wolf <mail@xxxxxxxxxxxxx> Date: Sun Jun 23 22:07:45 2013 +0200 multiboot: Calculate upper_mem in the ROM The upper_mem field of the Multiboot information struct doesn't really contain the RAM size - 1 MB like we used to calculate it, but only the memory from 1 MB up to the first (upper) memory hole. In order to correctly retrieve this information, the multiboot ROM now looks at the mmap it creates anyway and tries to find the size of contiguous usable memory from 1 MB. Drop the multiboot.c definition of lower_mem and upper_mem because both are queried at runtime now. Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1372018066-21822-3-git-send-email-mail@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 390fb6b47144adbad453cdf95c130854728c56f8 Author: Kevin Wolf <mail@xxxxxxxxxxxxx> Date: Sun Jun 23 22:07:44 2013 +0200 multiboot: Don't forget last mmap entry When the BIOS returns ebx = 0, the current entry is still valid and needs to be included in the Multiboot memory map. Fixing this meant that using bx as the entry index doesn't work any more because it's 0 on the last entry (and it was SeaBIOS-specific anyway), so the whole loop had to change a bit and should be more generic as a result (ebx can be an arbitrary continuation number now, and the entry size returned by the BIOS is used instead of hard-coding 20 bytes). Signed-off-by: Kevin Wolf <mail@xxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1372018066-21822-2-git-send-email-mail@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6bedfe94c96c5ba35fcb2a52b438fefcc682669e Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jun 27 21:00:06 2013 +0200 arch_init: Fix format string by using RAM_ADDR_FMT length is a ram_addr_t, so RAM_ADDR_FMT must be used instead of %ld. This fixes a recently introduced regression for w64 builds. Using RAM_ADDR_FMT also changes decimal output to sedecimal. This is good here because length and block->length should both use the same base in the error message. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1372359606-2759-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a8ad4159ed7d8a442a9c049a6fd0d47aa330c2aa Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Fri Jun 28 10:08:16 2013 +0400 doc: we use seabios, not bochs bios Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7a5b6af13a45ae7109900dee03a436819302126c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:56 2013 +0200 qemu-socket: don't leak opts on error Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 58a3714c529b1b97ee078ea25b58f731aabcbfff Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:55 2013 +0200 qemu-char: report udp backend errors Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit bb6fb7c0857aeda7982ac14460328edf3c29cfc8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:54 2013 +0200 qemu-char: add -chardev mux support Allow to explicitly create mux chardevs on the command line, like you can using QMP. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dc2c4eca89ec5ee7b7a4c2563c991a14a7c5ee84 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:53 2013 +0200 qemu-char: minor mux chardev fixes mux failure path has a memory leak. creating a mux chardev can't fail though, so just assert() that instead of fixing an error path which never ever runs anyway ... Also fix bid being leaked while being at it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 99aec0123ce5ba307dc357c5bf1e0f22d2be0931 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:52 2013 +0200 qemu-char: use ChardevBackendKind in CharDriver Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e668287d4413395be1a0f9ef292bb6d0c1006e29 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:51 2013 +0200 qemu-char: don't leak opts on error Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit ef993ba7bc631b57f9ea70a7f6fc8c0fcbdfa19d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:50 2013 +0200 qemu-char: fix documentation for telnet+wait socket flags Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit fdca2124adc293f84f2b7aaf0df43faa6b6bf420 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:49 2013 +0200 qemu-char: print notification to stderr Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 20c397607cb54905f452921259b4baa9c8a1d008 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:48 2013 +0200 qemu-char: use more specific error_setg_* variants Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e859eda58501cd20a2e6988fb4acc1756bc4d278 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:47 2013 +0200 qemu-char: check optional fields using has_* Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d1ec72a44e0a167f9e8254d6d1098d27f104571f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:46 2013 +0200 qemu-socket: catch monitor_get_fd failures Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c1204afc7c048cf58b0a8f1c11886f36ca73ef28 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:45 2013 +0200 qemu-socket: drop pointless allocation Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit afde3f8b9923892d21a735993f533e5d8b60e0b0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 24 08:39:44 2013 +0200 qemu-socket: zero-initialize SocketAddress Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8a9c98aedc1a3fb4dfbebeccc926e273df54f2ba Merge: 3612563... c658b94... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 28 11:48:09 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber # Via Andreas Färber * afaerber/qom-cpu: (24 commits) cpu: Turn cpu_unassigned_access() into a CPUState hook hwaddr: Make hwaddr type usable beyond softmmu cpu: Change qemu_init_vcpu() argument to CPUState cpus: Change qemu_dummy_start_vcpu() argument to CPUState cpus: Change qemu_kvm_start_vcpu() argument to CPUState cpus: Change cpu_handle_guest_debug() argument to CPUState gdbstub: Set gdb_set_stop_cpu() argument to CPUState kvm: Change kvm_cpu_exec() argument to CPUState kvm: Change kvm_handle_internal_error() argument to CPUState cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState kvm: Change kvm_set_signal_mask() argument to CPUState cpus: Change qemu_kvm_wait_io_event() argument to CPUState cpus: Change cpu_thread_is_idle() argument to CPUState cpu: Change cpu_exit() argument to CPUState kvm: Change cpu_synchronize_state() argument to CPUState kvm: Change kvm_cpu_synchronize_state() argument to CPUState gdbstub: Simplify find_cpu() cpu: Guard cpu_{save,load}() definitions target-openrisc: Register VMStateDescription for OpenRISCCPU ... commit 36125631e79d53ffb9365740f43f386e2171d116 Merge: ec3f8c9... 721da65... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 28 10:37:33 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (11) and others # Via Kevin Wolf * kwolf/for-anthony: cmd646: fix build when DEBUG_IDE is enabled. block: change default of .has_zero_init to 0 vpc: Implement .bdrv_has_zero_init vmdk: remove wrong calculation of relative path gluster: Return bdrv_has_zero_init = 0 block/ssh: Set bdrv_has_zero_init according to the file type. block: Make BlockJobTypes const qemu-iotests: add 055 drive-backup test case qemu-iotests: extract wait_until_completed() into iotests.py blockdev: add Abort transaction blockdev: add DriveBackup transaction blockdev: allow BdrvActionOps->commit() to be NULL blockdev: rename BlkTransactionStates to singular block: add drive-backup QMP command blockdev: use bdrv_getlength() in qmp_drive_mirror() blockdev: drop redundant proto_drv check block: add basic backup support to block driver block: add bdrv_add_before_write_notifier() notify: add NotiferWithReturn so notifier list can abort raw-posix: Fix /dev/cdrom magic on OS X Message-id: 1372429509-29642-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 721da65c6eba9c053d73744ecaa882b0f7cd634a Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Fri Jun 28 14:43:16 2013 +0100 cmd646: fix build when DEBUG_IDE is enabled. Make sure we use the correct TARGET/PRI macros in the debug statements. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> CC: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3ac216270a62418519c08e88c17005a8f1539cf2 Author: Peter Lieven <pl@xxxxxxx> Date: Fri Jun 28 12:47:42 2013 +0200 block: change default of .has_zero_init to 0 .has_zero_init defaults to 1 for all formats and protocols. this is a dangerous default since this means that all new added drivers need to manually overwrite it to 0 if they do not ensure that a device is zero initialized after bdrv_create(). if a driver needs to explicitly set this value to 1 its easier to verify the correctness in the review process. during review of the existing drivers it turned out that ssh and gluster had a wrong default of 1. both protocols support host_devices as backend which are not by default zero initialized. this wrong assumption will lead to possible corruption if qemu-img convert is used to write to such a backend. vpc and vmdk also defaulted to 1 altough they support fixed respectively flat extends. this has to be addresses in separate patches. both formats as well as the mentioned ssh and gluster are turned to the default of 0 with this patch for safety. a similar problem with the wrong default existed for iscsi most likely because the driver developer did oversee the default value of 1. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c658b94f6e8c206c59d02aa6fbac285b86b53d2c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 06:49:53 2013 +0200 cpu: Turn cpu_unassigned_access() into a CPUState hook Use it for all targets, but be careful not to pass invalid CPUState. cpu_single_env can be NULL, e.g. on Xen. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ce927ed9e40e25008453eb8f130661514b633341 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 14:02:38 2013 +0200 hwaddr: Make hwaddr type usable beyond softmmu While not normally needed for *-user, it can safely be used there since always based on uint64_t, to avoid ifdeffery. To avoid accidental uses, move the guards from exec/hwaddr.h to its inclusion sites. No need for them in include/hw/. Prepares for hwaddr use in qom/cpu.h. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c643bed99fcde661b034623722004562b7953669 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 03:23:24 2013 +0200 cpu: Change qemu_init_vcpu() argument to CPUState This allows to move the call into CPUState's realizefn. Therefore move the stub into libqemustub.a. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 10a9021dfd9d8ebdaf53100a8e216054ef4fa662 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:24:35 2013 +0200 cpus: Change qemu_dummy_start_vcpu() argument to CPUState Pass it to qemu_dummy_cpu_thread_fn(). Use CPUState::env_ptr for cpu_single_env. Prepares for changing qemu_init_vcpu() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 48a106bd144c60862e8b6116dc226885d1937d76 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:20:39 2013 +0200 cpus: Change qemu_kvm_start_vcpu() argument to CPUState Pass it on to qemu_kvm_cpu_thread_fn(). Prepares for changing qemu_init_vcpu() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 913250464f5ea5799d71ab033b51d1bf8ed84343 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:07:49 2013 +0200 cpus: Change cpu_handle_guest_debug() argument to CPUState CPUArchState is no longer needed. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 64f6b3469d5983141707dfc5ec2e8f5f60af1ba0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 02:06:09 2013 +0200 gdbstub: Set gdb_set_stop_cpu() argument to CPUState Use CPUState::env_ptr for now. Prepares for changing cpu_handle_guest_debug() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1458c363139a54f50ea336edc612d8c5e9142220 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:46:55 2013 +0200 kvm: Change kvm_cpu_exec() argument to CPUState It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5326ab5567c12bac0802b08b265f401fe84a4ad6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 01:55:29 2013 +0200 kvm: Change kvm_handle_internal_error() argument to CPUState It no longer uses CPUArchState. Prepares for changing kvm_cpu_exec() argument to CPUState. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon May 27 01:33:50 2013 +0200 cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks Make cpustats monitor command available unconditionally. Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec() arguments to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13618e058cf2d76bccc41251fa0095aae88a8249 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:41:00 2013 +0200 cpus: Change qemu_kvm_init_cpu_signals() argument to CPUState CPUArchState is no longer needed. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 491d6e80ea5854d75ab7c19e32a0ba01d08f6df5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:38:10 2013 +0200 kvm: Change kvm_set_signal_mask() argument to CPUState CPUArchState is no longer needed. Prepares for changing qemu_kvm_init_cpu_signals() argument to CPUState. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fd529e8f465c0d6b2d5f01c58cee4746425d2734 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:24:55 2013 +0200 cpus: Change qemu_kvm_wait_io_event() argument to CPUState It no longer uses CPUArchState. Prepares for changing qemu_kvm_cpu_thread_fn() opaque to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a98ae1d8f5ee09694c148b1787e02205ee908b53 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun May 26 23:21:08 2013 +0200 cpus: Change cpu_thread_is_idle() argument to CPUState It no longer needs CPUArchState. Prepares for changing all_cpu_threads_idle() CPU loop to CPUState and needed for changing qemu_kvm_wait_io_event() argument to CPUState. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 60a3e17a469e444a7bc4d9a14c2ecf3bdb5ec094 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 18:26:54 2013 +0200 cpu: Change cpu_exit() argument to CPUState It no longer depends on CPUArchState, so move it to qom/cpu.c. Prepares for changing GDBState::c_cpu to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cb446ecab714b2444a270be209e0533bcd2ee534 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 14:24:52 2013 +0200 kvm: Change cpu_synchronize_state() argument to CPUState Change Monitor::mon_cpu to CPUState as well. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd1750d7981cf9e38985c9dfa474dcdbbe236270 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 13:45:44 2013 +0200 kvm: Change kvm_cpu_synchronize_state() argument to CPUState It no longer relies on CPUArchState since 20d695a. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 17:49:10 2013 +0200 gdbstub: Simplify find_cpu() Use qemu_get_cpu() and CPUState::env_ptr. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d0f2baebe57ccdb09a21da80b2994b772854ad6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 15:51:06 2013 +0100 cpu: Guard cpu_{save,load}() definitions A few targets already managed to implement cpu_save() and cpu_load() without defining CPU_SAVE_VERSION that causes them to be registered. Guard the prototypes with CPU_SAVE_VERSION to avoid this happening again until all targets are converted to VMState (or QIDL). Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit da69721460e652072b6a3dd52b7693da21ffe237 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 13:59:05 2013 +0100 target-openrisc: Register VMStateDescription for OpenRISCCPU Since commit e67db06e9f6d7e514ee2a9b9b769ecd42977f6fb (target-or32: Add target stubs and QOM cpu) a VMStateDescription existed, but CPU_SAVE_VERSION was not set, so it was never registered. Drop cpu_{save,load}() and register VMStateDescription via DeviceState. Use a version_id of 1 and specify minimum versions as well. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fe31e7374299c0c6172ce618b29bf2fecbd881c7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 00:27:16 2013 +0100 target-alpha: Register VMStateDescription for AlphaCPU Commit b758aca1f6cdb175634812b79f5560c36c902d00 (target-alpha: Enable the alpha-softmmu target.) introduced cpu_{save,load}() functions but didn't define CPU_SAVE_VERSION, so they were never registered. Drop cpu_{save,load}() and register the VMStateDescription via DeviceClass. This operates on the AlphaCPU object instead of CPUAlphaState. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1a1562f5ea3da17d45d3829e35b5f49da9ec2db5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jun 17 04:09:11 2013 +0200 cpu: Introduce VMSTATE_CPU() macro for CPUState To be used to embed common CPU state into CPU subclasses. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19e3835cffbcae37ade8c3abcc4525895f7b528a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 02:23:36 2013 +0200 cpu: Introduce device_class_set_vmsd() helper It's the equivalent to cpu_class_set_vmsd(), to assign DeviceClass::vmsd. It wasn't needed before since only static, unmigratable VMStateDescriptions were assigned so far. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 76d5f0294a744fa6786683760aa33e2b7fae6d8f Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 02:22:13 2013 +0200 cpu: Fix cpu_class_set_vmsd() documentation It's CPUClass::vmsd, not CPUState::vmsd. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7483e7f15139603380c45ebcd8cc2a57dda5583c Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Fri Jun 28 11:23:16 2013 +0000 xen_disk: support "direct-io-safe" backend option Support backend option "direct-io-safe". This is documented as follows in the Xen backend specification: * direct-io-safe * Values: 0/1 (boolean) * Default Value: 0 * * The underlying storage is not affected by the direct IO memory * lifetime bug. See: * http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html * * Therefore this option gives the backend permission to use * O_DIRECT, notwithstanding that bug. * * That is, if this option is enabled, use of O_DIRECT is safe, * in circumstances where we would normally have avoided it as a * workaround for that bug. This option is not relevant for all * backends, and even not necessarily supported for those for * which it is relevant. A backend which knows that it is not * affected by the bug can ignore this option. * * This option doesn't require a backend to use O_DIRECT, so it * should not be used to try to control the caching behaviour. Also, BDRV_O_NATIVE_AIO is ignored if BDRV_O_NOCACHE, so clarify the default flags passed to the qemu block layer. The original proposal for a "cache" backend option has been dropped because it was believed too wide, especially considering that at the moment the backend doesn't have a way to tell the toolstack that it is capable of supporting it. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> commit 72c6cc94daa727f41ecfc2b2ff94aa6f0e459b7f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jun 28 10:21:00 2013 +0200 vpc: Implement .bdrv_has_zero_init Depending on the subformat, has_zero_init on VHD must behave like raw and query the underlying storage (fixed) or like other sparse formats that can always return 1 (dynamic, differencing). Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8ed610a1c983dd2ed1eed8841036af55751d115f Author: Fam Zheng <famz@xxxxxxxxxx> Date: Wed Jun 26 17:24:32 2013 +0800 vmdk: remove wrong calculation of relative path When creating image with backing file, the driver tries to calculate the relative path from created image file to backing file, but the path computation is incorrect. e.g.: $ qemu-img create -f vmdk -b vmdk-data-disk.vmdk vmdk-data-snapshot1 Formatting 'vmdk-data-snapshot1', fmt=vmdk size=10737418240 backing_file='vmdk-data-disk.vmdk' compat6=off zeroed_grain=off $ qemu-img info vmdk-data-snapshot1 image: vmdk-data-snapshot1 file format: vmdk virtual size: 10G (10737418240 bytes) disk size: 12K -> backing file: disk.vmdk The common part in file names, "vmdk-data-", is incorrectly forgotten by relative_path(). As the VMDK specification has no restriction on parentNameHint to be relative path, we simply remove this by using the backing_file option. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8ab6feec2c7500faafd9a4571fb40d03dd360a64 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 26 09:41:57 2013 +0200 gluster: Return bdrv_has_zero_init = 0 GlusterFS volumes can be backed by block devices, in which case bdrv_create() doesn't make sure that the image is zeroed out. It is currently not possibly to detect whether a given image is backed by a file or a block device, and incorrectly assuming that it is zeroed corrupts images during qemu-img convert, so let's err on the side of caution and always return 0. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0b3f21e6a99c025c829d342ee417f317fe2e03b2 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Jun 25 18:15:18 2013 +0100 block/ssh: Set bdrv_has_zero_init according to the file type. If the remote is a regular file, set it to true (ie. reads of uninitialized areas in a newly created file will return zeroes). If we can't prove that, return false (a safe default). Tested by adding a debugging print statement [not part of this commit] and creating a remote file and a remote block device: $ ./qemu-img create ssh://localhost/tmp/new 100M Formatting 'ssh://localhost/tmp/new', fmt=raw size=104857600 filename ssh://localhost/tmp/new: has_zero_init = 1 $ sudo lvcreate -L 1G -n tmp /dev/fedora Logical volume "tmp" created $ ./qemu-img create ssh://localhost/dev/fedora/tmp 1G Formatting 'ssh://localhost/dev/fedora/tmp', fmt=raw size=1073741824 filename ssh://localhost/dev/fedora/tmp: has_zero_init = 0 Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f59fee8d509b446df24843c1145a99b740492725 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 25 15:13:43 2013 +0200 block: Make BlockJobTypes const Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e5ca8fdd407431e281c6f303dc9f45f63a28048f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:20 2013 +0200 qemu-iotests: add 055 drive-backup test case Testing drive-backup is similar to image streaming and drive mirroring. This test case is based on 041. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0dbe8a1b042b5eb22c6587dcc9884ebe8cedcbb6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:19 2013 +0200 qemu-iotests: extract wait_until_completed() into iotests.py The 'drive-mirror' tests often issue 'block-job-complete' and wait for the QMP completion event. Other types of block jobs also want to wait for completion but they may not need to issue 'block-job-complete'. Extract wait_until_completed() from 041 and put it into iotests.py. Return the QMP event object so the caller can make additional assertions, if necessary. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 78b18b78aa89c28aecbd007ae1967c978d39bfd6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:18 2013 +0200 blockdev: add Abort transaction The Abort action can be used to test QMP 'transaction' failure. Add it as the last action to exercise the .abort() and .cleanup() code paths for all previous actions. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3037f36446eb3556c14757ac468463c3902f331b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:17 2013 +0200 blockdev: add DriveBackup transaction This patch adds a transactional version of the drive-backup QMP command. It allows atomic snapshots of multiple drives along with automatic cleanup if there is a failure to start one of the backup jobs. Note that QMP events are emitted for block job completion/cancellation and the block job will be listed by query-block-jobs. @device: the name of the device whose writes should be mirrored. @target: the target of the new image. If the file exists, or if it is a device, the existing file/device will be used as the new destination. If it does not exist, a new file will be created. @format: #optional the format of the new destination, default is to probe if @mode is 'existing', else the format of the source @mode: #optional whether and how QEMU should create a new image, default is 'absolute-paths'. @speed: #optional the maximum speed, in bytes per second @on-source-error: #optional the action to take on an error on the source, default 'report'. 'stop' and 'enospc' can only be used if the block device supports io-status (see BlockInfo). @on-target-error: #optional the action to take on an error on the target, default 'report' (no limitations, since this applies to a different block device than @device). Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f9ea81e82519f44071b3dd617de98f0d6d6cca0a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:16 2013 +0200 blockdev: allow BdrvActionOps->commit() to be NULL Some QMP 'transaction' types don't need to do anything on .commit(). Make .commit() optional just like .abort(). The "drive-backup" action will take advantage of this, it only needs to cancel the block job on .abort(). Other block job actions will probably follow the same pattern, so allow .commit() to be NULL. Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ba5d6ab68f7bc55520cddd5e00bd48b041c7aecd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:15 2013 +0200 blockdev: rename BlkTransactionStates to singular The QMP 'transaction' command keeps a list of in-flight transactions. The transaction state structure is called BlkTransactionStates even though it only deals with a single transaction. The only plural thing is the linked list of transaction states. I find it confusing to call the single structure "States". This patch renames it to "State", just like BlockDriverState is singular. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 99a9addf567e31244d934376060dd1d34f0f012c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:14 2013 +0200 block: add drive-backup QMP command @drive-backup Start a point-in-time copy of a block device to a new destination. The status of ongoing drive-backup operations can be checked with query-block-jobs where the BlockJobInfo.type field has the value 'backup'. The operation can be stopped before it has completed using the block-job-cancel command. @device: the name of the device which should be copied. @target: the target of the new image. If the file exists, or if it is a device, the existing file/device will be used as the new destination. If it does not exist, a new file will be created. @format: #optional the format of the new destination, default is to probe if @mode is 'existing', else the format of the source @mode: #optional whether and how QEMU should create a new image, default is 'absolute-paths'. @speed: #optional the maximum speed, in bytes per second @on-source-error: #optional the action to take on an error on the source, default 'report'. 'stop' and 'enospc' can only be used if the block device supports io-status (see BlockInfo). @on-target-error: #optional the action to take on an error on the target, default 'report' (no limitations, since this applies to a different block device than @device). Note that @on-source-error and @on-target-error only affect background I/O. If an error occurs during a guest write request, the device's rerror/werror actions will be used. Returns: nothing on success If @device is not a valid block device, DeviceNotFound Since 1.6 Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ac3c5d831aa0ff796659300e186be1a35862dbd3 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:13 2013 +0200 blockdev: use bdrv_getlength() in qmp_drive_mirror() Use bdrv_getlength() for its byte units and error return instead of bdrv_get_geometry(). Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cb78466ef60ccf707a6f38a1294c435b65a828e0 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:12 2013 +0200 blockdev: drop redundant proto_drv check It is not necessary to check that we can find a protocol block driver since we create or open the image file. This produces the error that we need anyway. Besides, the QERR_INVALID_BLOCK_FORMAT is inappropriate since the protocol is incorrect rather than the format. Also drop an empty line between bdrv_open() and checking its return value. This may be due to copy-pasting from earlier code that performed other operations before handling errors. Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 98d2c6f2cd80afaa2dc10091f5e35a97c181e4f5 Author: Dietmar Maurer <dietmar@xxxxxxxxxxx> Date: Mon Jun 24 17:13:11 2013 +0200 block: add basic backup support to block driver backup_start() creates a block job that copies a point-in-time snapshot of a block device to a target block device. We call backup_do_cow() for each write during backup. That function reads the original data from the block device before it gets overwritten. The data is then written to the target device. Currently backup cluster size is hardcoded to 65536 bytes. [I made a number of changes to Dietmar's original patch and folded them in to make code review easy. Here is the full list: * Drop BackupDumpFunc interface in favor of a target block device * Detect zero clusters with buffer_is_zero() and use bdrv_co_write_zeroes() * Use 0 delay instead of 1us, like other block jobs * Unify creation/start functions into backup_start() * Simplify cleanup, free bitmap in backup_run() instead of cb * function * Use HBitmap to avoid duplicating bitmap code * Use bdrv_getlength() instead of accessing ->total_sectors * directly * Delete the backup.h header file, it is no longer necessary * Move ./backup.c to block/backup.c * Remove #ifdefed out code * Coding style and whitespace cleanups * Use bdrv_add_before_write_notifier() instead of blockjob-specific hooks * Keep our own in-flight CowRequest list instead of using block.c tracked requests. This means a little code duplication but is much simpler than trying to share the tracked requests list and use the backup block size. * Add on_source_error and on_target_error error handling. * Use trace events instead of DPRINTF() -- stefanha] Signed-off-by: Dietmar Maurer <dietmar@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit d616b224745b2c522f965cf8de7da17b553b959a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:10 2013 +0200 block: add bdrv_add_before_write_notifier() The bdrv_add_before_write_notifier() function installs a callback that is invoked before a write request is processed. This will be used to implement copy-on-write point-in-time snapshots where we need to copy out old data before overwriting it. Note that BdrvTrackedRequest is moved to block_int.h since it is passed to .notify() functions. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5dae8e5fb803f53fadc116cefe353953b938cbe1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 24 17:13:09 2013 +0200 notify: add NotiferWithReturn so notifier list can abort notifier_list_notify() has no return value. This is fine when we just want to invoke side-effects. Sometimes it's useful for notifiers to produce a return value. This allows notifiers to "veto" an operation and will be used by the block layer before-write notifier. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a5c5ea3f60c000bf18c99435439533728a5f34a2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 11 10:44:58 2013 +0200 raw-posix: Fix /dev/cdrom magic on OS X The raw-posix driver has code to provide a /dev/cdrom on OS X even though it doesn't really exist. However, since commit c66a6157 the real filename is dismissed after finding it, so opening /dev/cdrom fails. Put the filename back into the options QDict to make this work again. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ec3f8c9913c1eeab78a02711be7c2a803dfb4d62 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 27 20:53:38 2013 +0100 linux-user: Fix compilation failure Fix compilation failures for linux-user targets following recent migration related commits bd2fa51fcd and 43487c67. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1372362818-4740-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c394ace828a559be13ec0bde15b476970f186dad Merge: 3e50873... 60d9222... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jun 27 08:48:38 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Michael R. Hines (9) and others # Via Juan Quintela * quintela/migration.next: rdma: introduce capability x-rdma-pin-all rdma: new QEMUFileOps hooks rdma: introduce qemu_ram_foreach_block() rdma: export qemu_fflush() rdma: introduce qemu_file_mode_is_not_valid() rdma: export throughput w/ MigrationStats QMP rdma: export yield_until_fd_readable() rdma: introduce qemu_update_position() rdma: add documentation migration: do not overwrite zero pages Revert "migration: do not sent zero pages in bulk stage" arch_init/ram_load: add error message for block length mismatch Message-id: 1372329455-5995-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 60d9222c8f50c3e5dd3df9ee84ddd1d1c4b35389 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:36 2013 -0400 rdma: introduce capability x-rdma-pin-all This capability allows you to disable dynamic chunk registration for better throughput on high-performance links. For example, using an 8GB RAM virtual machine with all 8GB of memory in active use and the VM itself is completely idle using a 40 gbps infiniband link: 1. x-rdma-pin-all disabled total time: approximately 7.5 seconds @ 9.5 Gbps 2. x-rdma-pin-all enabled total time: approximately 4 seconds @ 26 Gbps These numbers would of course scale up to whatever size virtual machine you have to migrate using RDMA. Enabling this feature does *not* have any measurable affect on migration *downtime*. This is because, without this feature, all of the memory will have already been registered already in advance during the bulk round and does not need to be re-registered during the successive iteration rounds. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 43487c678d6e4e7182bfa70d2bc75422578782aa Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:35 2013 -0400 rdma: new QEMUFileOps hooks These are the prototypes and implementation of new hooks that RDMA takes advantage of to perform dynamic page registration. An optional hook is also introduced for a custom function to be able to override the default save_page function. Also included are the prototypes and accessor methods used by arch_init.c which invoke funtions inside savevm.c to call out to the hooks that may or may not have been overridden inside of QEMUFileOps. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bd2fa51fcdba3408f308df1b08fae04053ecdee5 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:34 2013 -0400 rdma: introduce qemu_ram_foreach_block() This is used during RDMA initialization in order to transmit a description of all the RAM blocks to the peer for later dynamic chunk registration purposes. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit be903b2ae7ca750bde2549432c5536087436cf49 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:32 2013 -0400 rdma: export qemu_fflush() RDMA uses this to flush the control channel before sending its own message to handle page registrations. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bc1256f7f187cc7d491bfe3861249a60873adbbc Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:31 2013 -0400 rdma: introduce qemu_file_mode_is_not_valid() QEMUFileRDMA also has read and write modes. This function is now shared to reduce code duplication. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7e114f8cf24a01893226e3a4d22a288125515cfd Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:30 2013 -0400 rdma: export throughput w/ MigrationStats QMP This exposes throughput (in megabits/sec) through QMP. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9f05d0c3a4f9e8fcb13ed09cc350af45a627809a Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:29 2013 -0400 rdma: export yield_until_fd_readable() The RDMA event channel can be made non-blocking just like a TCP socket. Exporting this function allows us to yield so that the QEMU monitor remains available. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 2b0ce0797d6bfb13ebefe010da86abced0b7a9b3 Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:28 2013 -0400 rdma: introduce qemu_update_position() RDMA writes happen asynchronously, and thus the performance accounting also needs to be able to occur asynchronously. This allows anybody to call into savevm.c to update both f->pos as well as into arch_init.c to update the acct_info structure with up-to-date values when the RDMA transfer actually completes. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f4abc9d621823b14a6cd508c66c1ecb21f96349e Author: Michael R. Hines <mrhines@xxxxxxxxxx> Date: Tue Jun 25 21:35:27 2013 -0400 rdma: add documentation docs/rdma.txt contains full documentation, wiki links, github url and contact information. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx> Tested-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 211ea74022f51164a7729030b28eec90b6c99a08 Author: Peter Lieven <pl@xxxxxxx> Date: Mon Jun 10 12:14:20 2013 +0200 migration: do not overwrite zero pages on incoming migration do not memset pages to zero if they already read as zero. this will allocate a new zero page and consume memory unnecessarily. even if we madvise a MADV_DONTNEED later this will only deallocate the memory asynchronously. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9ef051e5536b6368a1076046ec6c4ec4ac12b5c6 Author: Peter Lieven <pl@xxxxxxx> Date: Mon Jun 10 12:14:19 2013 +0200 Revert "migration: do not sent zero pages in bulk stage" Not sending zero pages breaks migration if a page is zero at the source but not at the destination. This can e.g. happen if different BIOS versions are used at source and destination. It has also been reported that migration on pseries is completely broken with this patch. This effectively reverts commit f1c72795af573b24a7da5eb52375c9aba8a37972. Conflicts: arch_init.c Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 87d2f8254347879f80b3a834834a6b934dea5ecc Author: Alon Levy <alevy@xxxxxxxxxx> Date: Sun May 12 14:16:28 2013 +0300 arch_init/ram_load: add error message for block length mismatch Makes it easier to debug situations where the source and target have different ram blocks in a device and migration fails due to that, for instance a BAR size change on a PCI device. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3e5087329489e0beceecf3426f1216619821937f Merge: 8c260b1... 7426aa7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:13 2013 -0500 Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging # By Peter Crosthwaite (3) and others # Via Peter Maydell * pmaydell/arm-devs.for-upstream: nand: Don't inherit from Sysbus block/nand: Convert Sysbus::init to Device::realize block/nand: QOM casting sweep i.MX31: Fix PRCS bit test arm/boot: Free dtb blob memory after use i.MX: Rework functions/types name and use new style initialization i.MX: Implement a more complete version of the GPT timer. ARM: Allow dumping of device tree Message-id: 1372184516-32397-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c260b1135b15dbfe8843de799eada596167016a Merge: 9e49c8c... bdcc150... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:09 2013 -0500 Merge remote-tracking branch 'pmaydell/target-arm.for-upstream' into staging # By Peter Maydell # Via Peter Maydell * pmaydell/target-arm.for-upstream: target-arm: Make LPAE feature imply V7MP target-arm: Use tuple list to sync cp regs with KVM target-arm: Reinitialize all KVM VCPU registers on reset target-arm: Initialize cpreg list from KVM when using KVM target-arm: Convert TCG to using (index,value) list for cp migration target-arm: mark up cpregs for no-migrate or raw access target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo target-arm: Allow special cpregs to have flags set Message-id: 1372181592-32170-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9e49c8c58c7aa0eb93e4c83314a07b5c7f6339fe Merge: 1e5b868... 320ce85... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:05 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck (2) and Christian Borntraeger (1) # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Wire up guest and host notifies. virtio-ccw: Wire up ioeventfd. s390/virtio-ccw: Fix virtio reset Message-id: 1372177538-9812-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1e5b86804ca34913cf5bec5c1240659645774a4e Merge: baf8673... 39ae497... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 25 14:14:00 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-20130625' into staging # By Paul Durrant (2) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-20130625: Move hardcoded initialization of xen-platform device. Allow use of pc machine type (accel=xen) for Xen HVM domains. Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" Message-id: alpine.DEB.2.02.1306251323220.4782@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7426aa72c36c908a7d0eae3e38568bb0a70de479 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:12:41 2013 +1000 nand: Don't inherit from Sysbus Nand chips are not sysbus devices - they do not have any sense of MMIO, nor interrupts. Re-parent to TYPE_DEVICE accordingly. Cc: afaerber@xxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit d47a5d9b9dda19f975320b72c386c581dad32c7a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:11:52 2013 +1000 block/nand: Convert Sysbus::init to Device::realize The prescribed transition from Sysbus::init function to a Device::realize. Cc: afaerber@xxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e12078cc62f2b4a947903efef803ab1b2e13cfa1 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:10:44 2013 +1000 block/nand: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST and direct -> style casting. Cc: afaerber@xxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f3c8fac25f119641fd30f2014bfd368a0023769e Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 9 22:44:22 2013 +0200 i.MX31: Fix PRCS bit test cppcheck detected a condition which was always false. According to the MCIMX31 Reference Manual, the PRCS bits have to be 01 to select the Frequency Pre-Multiplier (FPM). PRCS uses bits 1 and 2, so we have to test for 2. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Message-id: 1370810662-32320-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c23045ded7571f0eaad95920ab00b6bc9c3a91e6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 arm/boot: Free dtb blob memory after use The dtb blob returned by load_device_tree() is in memory allocated with g_malloc(). Free it accordingly once we have copied its contents into the guest memory. To make this easy, we need also to clean up the error handling in load_dtb() so that we consistently handle errors in the same way (by printing a message and then returning -1, rather than either plowing on or exiting immediately). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371209256-11408-1-git-send-email-peter.maydell@xxxxxxxxxx commit 67110c3e010088d45bf0b396fca2aa8cd48ff9d0 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 i.MX: Rework functions/types name and use new style initialization * use dynamic cast whenever possible * Change function names to some more meaningful prefix * Change type names to a more meaningful one * use new style device initialization Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1369898943-1993-3-git-send-email-jcd@xxxxxxxxxxxxxxx Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5ec694b52a3a486fbc5a6eb6d6da4692c27d6575 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 i.MX: Implement a more complete version of the GPT timer. * implement compare 1 2 and 3 registers * simplify Debug printf Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1369898943-1993-2-git-send-email-jcd@xxxxxxxxxxxxxxx Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2acafb1a7b8b5ff4da48fccd7ce217cb07f36ffa Author: John Rigby <john.rigby@xxxxxxxxxx> Date: Tue Jun 25 18:34:13 2013 +0100 ARM: Allow dumping of device tree By calling qemu_devtree_dumpdtb near the end of load_dtb. Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit bdcc150dc44ea96152f05f9e68970b63508d5ae7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:08 2013 +0100 target-arm: Make LPAE feature imply V7MP The v7 ARM ARM specifies that the Large Physical Address Extension requires implementation of the Multiprocessing Extensions, so make our LPAE feature imply V7MP rather than specifying both in the A15 CPU initfn. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371127899-10364-1-git-send-email-peter.maydell@xxxxxxxxxx commit f7134d963d94d1fa64a482855585d21dbb58b6bd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Use tuple list to sync cp regs with KVM Use the tuple list of cp registers for syncing KVM state to QEMU, rather than only syncing a very minimal set by hand. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2d8e5a0e25171eca30a72a450826f539f05951d0 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Reinitialize all KVM VCPU registers on reset Since the ARM KVM API doesn't include a "reset this VCPU" ioctl, we have to capture the initial values of every register it knows about so that we can reset the VCPU by feeding those values back again. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ff047453f56713aa627e63aade1a9046ccd3bdfd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Initialize cpreg list from KVM when using KVM When using KVM, use the kernel's initial state to set up the cpreg list, and sync to and from the kernel when doing migration. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 721fae125369deba8c12a37f5824138686fb6e4e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: Convert TCG to using (index,value) list for cp migration Convert the TCG ARM target to using an (index,value) list for migrating coprocessors. The primary benefit of the (index,value) list is for passing state between KVM and QEMU, but it works for TCG-to-TCG migration as well and is a useful self-contained first step. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit d4e6df6379a31efb2cf6cab3dea3f26fb489fabe Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:07 2013 +0100 target-arm: mark up cpregs for no-migrate or raw access Mark up coprocessor register definitions to add raw access functions or mark the register as non-migratable where necessary. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 7023ec7e2b4ee14f60c530ff9ce6e04127cf1802 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:06 2013 +0100 target-arm: Add raw_readfn and raw_writefn to ARMCPRegInfo For reading and writing register values from the kernel for KVM, we need to provide accessor functions which are guaranteed to succeed and don't impose access checks, mask out unwritable bits, etc. Define new fields raw_readfn and raw_writefn for this purpose; these only need to be provided if there is a readfn or writefn already and it is not suitable. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 34affeefbbdbd97471c283677179254a2e006994 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Jun 25 18:16:06 2013 +0100 target-arm: Allow special cpregs to have flags set Relax the "is this a valid ARMCPRegInfo type value?" check to permit "special" cpregs to have flags other than ARM_CP_SPECIAL set. At the moment none of the other flags are relevant for special regs, but the migration related flag we're about to introduce can apply here too. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 320ce8503baf081725f74514d73d7bd65071a45e Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Feb 19 13:48:17 2013 +0100 virtio-ccw: Wire up guest and host notifies. Guest and host notifiers are needed by vhost. We use ioeventfds for the guest notifiers, but need to fall back on qemu injecting interrupts for the host notifiers. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b4436a0b4db0334c3157f71e9baa2944a133c4d4 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Feb 15 10:18:43 2013 +0100 virtio-ccw: Wire up ioeventfd. On hosts that support ioeventfd, make use of it for host-to-guest notifications via diagnose 500. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 6504a93011138458a2e4f67b513c5a77bdb3cae1 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jun 7 12:18:46 2013 +0200 s390/virtio-ccw: Fix virtio reset On virtio reset we must reset the indicator to avoid stale interrupts, e.g. after a reset. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 39ae4972390f78f8891a355545c56d20a9fb7770 Author: Paul Durrant <paul.durrant@xxxxxxxxxx> Date: Tue Jun 25 11:46:44 2013 +0000 Move hardcoded initialization of xen-platform device. Creation of the xen-platform device is currently hardcoded into machine type pc's initialization code, guarded by a test for the whether the xen accelerator is enabled. This patch moves the creation of xen-platform into the initialization code of the xenfv machine type. This maintains backwards compatibility for that machine type but allows more flexibility if another machine type is used with Xen HVM domains. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit a97d6fe6fbb97630d77253d20bdce78f76d01850 Author: Paul Durrant <paul.durrant@xxxxxxxxxx> Date: Tue Jun 25 11:46:37 2013 +0000 Allow use of pc machine type (accel=xen) for Xen HVM domains. Xen HVM domains normally spawn QEMU with a dedicated xenfv machine type. The initialization code for this machine type can easily be pulled into the generic pc initialization code and guarded with a test for whether the xen accelerator options is specified, which is more consistent with the way other accelerators are used. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit fc744bb10cde3ba7b9ecbaf9e723e99d3b7fa25c Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Jun 25 11:43:04 2013 +0000 Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" This reverts commit 9f24a8030a70ea4954b5b8c48f606012f086f65f. The start of the PCI hole is actually set to 0xf0000000 by hvmloader. In order to retain ABI compatibility with Xen we leave the start of the PCI hole at 0xf0000000 in QEMU (for Xen) too. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 1c514a7734b7f98625a0d18d5e8ee7581f26e50c Merge: 79c097d... 35bdc13... Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Jun 25 11:34:24 2013 +0000 Merge remote branch 'perard/cpu-hotplug-port-v2' into xen-staging-master-7 commit baf8673ca802cb3ea2cdbe94813441d23bde223b Merge: 9fbbf0d... 96c51eb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:33:17 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (22) and Fam Zheng (1) # Via Stefan Hajnoczi * stefanha/block: (23 commits) vmdk: refuse to open higher version than supported block: Always enable discard on the protocol level qcow2: Batch discards qcow2: Options to enable discard for freed clusters qcow2: Add refcount update reason to all callers Revert "block: Disable driver-specific options for 1.5" ide: Clean up ide_exec_cmd() ide: Convert SMART commands to ide_cmd_table handler ide: Convert CF-ATA commands to ide_cmd_table handler ide: Convert ATAPI commands to ide_cmd_table handler ide: Convert SEEK to ide_cmd_table handler ide: Convert FLUSH CACHE to ide_cmd_table handler ide: Convert SET FEATURES to ide_cmd_table handler ide: Convert CHECK POWER MDOE to ide_cmd_table handler ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler ide: Convert DMA read/write commands to ide_cmd_table handler ide: Convert PIO read/write commands to ide_cmd_table handler ide: Convert read/write multiple commands to ide_cmd_table handler ide: Convert verify commands to ide_cmd_table handler ide: Convert cmd_nop commands to ide_cmd_table handler ... Message-id: 1372065035-19601-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9fbbf0d1b16a0e3e4132b187c2beba458964ea98 Merge: 89f204d... 5ad24e5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:33:09 2013 -0500 Merge remote-tracking branch 'spice/spice.v71' into staging # By Gerd Hoffmann (1) and Hans de Goede (1) # Via Gerd Hoffmann * spice/spice.v71: spice: Add -spice disable-agent-file-transfer cmdline option (rhbz#961850) qxl: fix Coverity scan SIGN_EXTENSION error Message-id: 1372060666-18182-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 89f204d2c60fbf3e0c5af1ff1681e57c9f057178 Merge: 21ca4a5... 93c8e4d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:33:00 2013 -0500 Merge remote-tracking branch 'kraxel/usb.84' into staging # By Andreas Färber (3) and others # Via Gerd Hoffmann * kraxel/usb.84: usb: fix serial number for hid devices usb: add serial bus property usb-host-libusb: set USB_DEV_FLAG_IS_HOST usb/host-libusb: Fix building with libusb git master code usb/hcd-ehci: Add Faraday FUSBH200 support usb/hcd-ehci: Replace PORTSC macros with variables usb/hcd-ehci: Add Tegra2 SysBus EHCI device usb/hcd-ehci: Split off instance_init from realize usb/hcd-ehci-sysbus: Convert to QOM realize commit 21ca4a5bb3cde109e68059ee357b3114afbc51e4 Merge: b52df46... 464e367... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 24 14:32:33 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Stefan Weil (5) and others # Via Michael Tokarev * mjt/trivial-patches: configure: Add signed*signed check to [u]int128_t test Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS qapi: lack of two commas in dict sd: pass bool parameter for sd_init qemu-char: use bool in qemu_chr_open_socket and simplify code a bit vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client block/nand: Formatting sweep qxl: Fix QXLRam initialisation. acl: acl_add can't insert before last list element, fix configure: Fix "ERROR: ERROR: " for missing/incompatible DTC audio: Replace static functions in header file by macros, remove GCC_ATTR libcacard: Fix cppcheck warning and remove unneeded code savevm: Fix potential memory leak kvm: Fix potential resource leak (missing fclose) qemu-img: Add missing GCC_FMT_ATTR qemu-options: trivial fix for -mon args help vl: reformat SDL ifdeffery a bit Message-id: 1371893076-9643-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b52df46551d303ffc79ec39c38440bd8a62ee210 Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Tue Jun 18 09:22:55 2013 +0200 cadence_uart: Handle backend tx errors Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 96c51eb5e46af2312b33f745ad72acb20e799aea Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu Jun 13 11:21:29 2013 +0800 vmdk: refuse to open higher version than supported Refuse to open higher version for safety. Although we try to be compatible with published VMDK spec, VMware has newer version from ESXi 5.1 exported OVF/OVA, which we have no knowledge what's changed in it. And it is very likely to have more new versions in the future, so it's not safe to open them blindly. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 50b05b6f2e24296b4d739a638e1e7427767ed7cd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:21 2013 +0200 block: Always enable discard on the protocol level Turning on discard options in qcow2 doesn't help a lot when the discard requests that it issues are thrown away by the raw-posix layer. This patch always enables discard functionality on the protocol level so that it's the image format's responsibility to send (or not) discard requests. Requests sent by the guest will be allowed or ignored by the top level BlockDriverState, which depends on the discard=... option like before. In particular, this means that even without specifying options, the qcow2 default of discarding deleted snapshots actually takes effect now, both for qemu and qemu-img. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0b919fae31f4f80f78ebeab8388dc3a03cc5e4ed Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:20 2013 +0200 qcow2: Batch discards This optimises the discard operation for freed clusters by batching discard requests (both snapshot deletion and bdrv_discard end up updating the refcounts cluster by cluster). Note that we don't discard asynchronously, but keep s->lock held. This is to avoid that a freed cluster is reallocated and written to while the discard is still in flight. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 67af674e478054086f972811dd0a11289afa39a9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:19 2013 +0200 qcow2: Options to enable discard for freed clusters Deleted snapshots are discarded in the image file by default, discard requests take their default from the -drive discard=... option and other places that free clusters must always be enabled explicitly. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6cfcb9b8b91d303ab51b78623f2299b5288d2d51 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:18 2013 +0200 qcow2: Add refcount update reason to all callers This adds a refcount update reason to all callers of update_refcounts(), so that a follow-up patch can use this information to decide whether clusters that reach a refcount of 0 should be discarded in the image file. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 492fdc6fbe17b2d45878e813e980f782ac260c30 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 19 13:44:17 2013 +0200 Revert "block: Disable driver-specific options for 1.5" This reverts commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dfe1ea8fc49b93ab2bfaad67046c659a0dae708f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:11 2013 +0200 ide: Clean up ide_exec_cmd() All commands are now converted to ide_cmd_table handlers, so it can be unconditional now and the old switch block can go. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ff3526773080de2840481ec237db13ae3cbc7166 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:10 2013 +0200 ide: Convert SMART commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6b1dd744240896b67ab3d8fbf3a6292521aaed58 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:09 2013 +0200 ide: Convert CF-ATA commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ee425c78cad08778361bde3133162d520aa32e23 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:08 2013 +0200 ide: Convert ATAPI commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 61fdda377a7e8f05dc1171504405647131148d80 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:07 2013 +0200 ide: Convert SEEK to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9afce42903b3f8af1f9c158b411c73e41cf95df7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:06 2013 +0200 ide: Convert FLUSH CACHE to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ee03398c510ea18d44f45fc7f1ec8b21db2eee2c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:05 2013 +0200 ide: Convert SET FEATURES to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 785f63208569a38a4bed5c12bfe2211f3b14d524 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:04 2013 +0200 ide: Convert CHECK POWER MDOE to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 63a82e6a7b412f61a09d4a593685d8ca2856b093 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:03 2013 +0200 ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 92a6a6f64fbb7b7d3d8cb899a9cb52bd873d33fd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:02 2013 +0200 ide: Convert DMA read/write commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0e6498ed65e5f237b163f0bda9f689426dbf6ff0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:01 2013 +0200 ide: Convert PIO read/write commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit adf3a2c46e0b2ed9085df9aca3af76ff83731e98 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:26:00 2013 +0200 ide: Convert read/write multiple commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 413860cfb57d44baf971ae8d4f1cdf45340b3a4d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:59 2013 +0200 ide: Convert verify commands to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b300337e4e939d58ba39843b5e5fef53eb82acec Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:58 2013 +0200 ide: Convert cmd_nop commands to ide_cmd_table handler cmd_nop handles all commands that don't really do anything in our implementation except setting status register flags. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1c66869a02b81ad6b687a08d99d32f5f2b01232e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:57 2013 +0200 ide: Convert WIN_IDENTIFY to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4286434cd607b7dea8fb3366f1529abf0ae39fa9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:56 2013 +0200 ide: Convert WIN_DSM to ide_cmd_table handler Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a0436e9239d29837955a60e916f876f857d46452 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jun 18 10:25:55 2013 +0200 ide: Add handler to ide_cmd_table As a preparation for moving all IDE commands into their own function like in the ATAPI code, introduce a 'handler' callback to ide_cmd_table. Commands using this new infrastructure get some things handled automatically: * The BSY flag is set before calling the handler (in order to avoid bugs like the one fixed in f68ec837) and reset on completion. * The (obsolete) DSC flag in the status register is set on completion if the command is flagged with SET_DSC in the command table * An IRQ is triggered on completion. * The error register and the ERR flag in the status register are cleared before calling the handler and on completion it is asserted that either none or both of them are set. No commands are converted at this point. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 93c8e4dc386a243d7d417567d81dc1f1698478a4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 12 13:08:45 2013 +0200 usb: fix serial number for hid devices commit 7b074a22dab4bdda9864b933f1bc811a3db42845 changed the serial number of hid devices. Add compat properties to keep the old serial number for qemu 0.12 and older. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 71938a09d2b9fd4007515fec6c395916cb08f868 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 12 13:01:49 2013 +0200 usb: add serial bus property This patch adds a serial property for all usb devices, which can be used to set the serial number of a usb device (as listed by lsusb -v) to a specific value. Applies to emulated devices only. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 628e54857a82a3cb65ef96c12640c30d6307a064 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jun 12 13:17:02 2013 +0200 usb-host-libusb: set USB_DEV_FLAG_IS_HOST ... like host-{linux,bsd}.c do. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bc45de8c21dfc3bc3896a78b33d5a6d9e710dfff Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Jun 6 16:39:34 2013 +0200 usb/host-libusb: Fix building with libusb git master code The next libusb release will deprecate libusb_get_port_path, and since we compile with -Werror, this breaks the build. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4e3d8b4b37b67ff6896ec77975eecbaabf7968a4 Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Date: Thu Jun 6 15:41:13 2013 +0200 usb/hcd-ehci: Add Faraday FUSBH200 support Add Faraday FUSBH200 support, which is slightly different from EHCI spec. (Or maybe simply a bad/wrong implementation...) Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cc8d6a8481e64ec53d06245f249235bcaaa73b27 Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Date: Thu Jun 6 15:41:12 2013 +0200 usb/hcd-ehci: Replace PORTSC macros with variables Replace PORTSC macros with variables which could then be configured in ehci_xxxx_class_init(...) Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 20c570432e995313874eaeabc3d0251dab40e16f Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Thu Jun 6 15:41:11 2013 +0200 usb/hcd-ehci: Add Tegra2 SysBus EHCI device This prepares an EHCI device for the Nvidia Tegra2 SoC family. Values based on patch by Vincent Palatin and verified against TRM v01p. Cc: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d4614cc3121b3c6375a63d01947779e36149c68c Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 15:41:10 2013 +0200 usb/hcd-ehci: Split off instance_init from realize This makes the mem MemoryRegion available to derived instance_inits. Keep the bus in realize for now since naming breaks in instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 08f4c90b2887a4499a2f199cf9410308f8ed298c Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 15:41:09 2013 +0200 usb/hcd-ehci-sysbus: Convert to QOM realize The SysBus qdev initfn merely calls SysBusDeviceClass::init, so we can replace it with a realizefn already. This avoids getting into any initfn ambiguity with the upcoming Faraday EHCI implementation. Rename internal usb_ehci_initfn() to usb_ehci_realize() to allow to return Errors from common initialization code as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5ad24e5f3b5968240d50fb2e5b6e19517b041052 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 8 15:37:27 2013 +0200 spice: Add -spice disable-agent-file-transfer cmdline option (rhbz#961850) Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bfc10122fafc399654f11eed8dd3ceea7b569105 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jun 3 10:36:54 2013 +0200 qxl: fix Coverity scan SIGN_EXTENSION error Cc: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 464e3671f9d5c206fa9e2646c81f21ceef7cfb7d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 21 14:01:31 2013 +0100 configure: Add signed*signed check to [u]int128_t test clang 3.3 with -fsanitize=undefined will fail to link code containing an int128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404) so add this to our configure test for whether [u]int128_t are usable. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 965f486c21a0a8fed33e65278516edfc01d1e2fd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Jun 21 14:00:17 2013 +0100 Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS The dtc submodule's makefile expects -I include directives to be in CPPFLAGS, not CFLAGS. Getting this wrong meant that the include directive would not be applied when generating the dependency .d files. This in turn meant that we couldn't build libfdt when doing an out of tree build with clang. (gcc's dependency output is slightly different from clang in this situation so it happened to work.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit ad0f171e25fb60b385dc7d07632916d3b1043d81 Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed Jun 19 17:23:27 2013 +0800 qapi: lack of two commas in dict Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 6790f59da37f6b8d4f0fe3a6b17febf512511307 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jun 18 11:45:36 2013 +0800 sd: pass bool parameter for sd_init Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e990a3932847c45839355de72e73182a53fc75ac Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jun 18 11:45:35 2013 +0800 qemu-char: use bool in qemu_chr_open_socket and simplify code a bit Local variables is_* should be bool by usage. While at it, simplify the logic/code a bit. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 2c8cf549571bbe0b245fc4f9680e1dbde39a015c Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Tue Jun 11 15:42:44 2013 +0400 vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client Some arguments to these functions are booleans - either by declaration, or by actual usage, but sometimes value of 0 or 1 is passed for a bool, and sometimes it is declared as int but a bool value, or true/false, is passed to it instead. Clean it up a bit. Cc: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 1984745ea8ad309a06690a83e91d031d21d709ff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 18 21:08:57 2013 +1000 block/nand: Formatting sweep Make this code closer to passing checkpatch. Mostly missing braces, but a few rogue tabs in there as well. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 329f97fc4ff4b533fcd2d8f4eab6c9c2568aed27 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Jun 17 17:38:26 2013 +0100 qxl: Fix QXLRam initialisation. The qxl driver expect NULL for QXLRam.memory_configs, but this is never initialized. If memory is set to 0xc2c2.., it leads to a spice-critical error when trying to start qxl. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 4999f3a8a6009de05ba82e58e723277917f16254 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jun 18 10:05:23 2013 +0200 acl: acl_add can't insert before last list element, fix Watch this: $ upstream-qemu -nodefaults -S -vnc :0,acl,sasl -monitor stdio QEMU 1.5.50 monitor - type 'help' for more information (qemu) acl_add vnc.username drei allow acl: added rule at position 1 (qemu) acl_show vnc.username policy: deny 1: allow drei (qemu) acl_add vnc.username zwei allow 1 acl: added rule at position 2 (qemu) acl_show vnc.username policy: deny 1: allow drei 2: allow zwei (qemu) acl_add vnc.username eins allow 1 acl: added rule at position 1 (qemu) acl_show vnc.username policy: deny 1: allow eins 2: allow drei 3: allow zwei The second acl_add inserts at position 2 instead of 1. Root cause is an off-by-one in qemu_acl_insert(): when index == acl->nentries, it appends instead of inserting before the last list element. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f2c4ddd9c32f7f389e83a0d866fb600e37985d03 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 18 01:09:06 2013 +0200 configure: Fix "ERROR: ERROR: " for missing/incompatible DTC error_exit already prepends "ERROR: ", so no need to print it manually. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 87e613ea9ed30f4217fd11aa2ad28a9fb4f1c54a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 11:19:31 2013 +0200 audio: Replace static functions in header file by macros, remove GCC_ATTR Using macros instead of static functions for dolog and for ldebug simplifies the code and can also reduce the total code size. GCC_ATTR was only used in audio_int.h, so it is now unused and the definition can be removed from compiler.h. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 48f0475f813dfa5ceb0e1f10c2ac3f28a8af583b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 11:08:52 2013 +0200 libcacard: Fix cppcheck warning and remove unneeded code The local function vcard_emul_alloc_arrays always returned PR_TRUE. Therefore cppcheck complained about code which handled the non-existent PR_FALSE case. Remove the function's return value and the dead code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 4f080057767a684aab60998659e18f98c5fbefc7 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 13:33:05 2013 +0200 savevm: Fix potential memory leak The leak was reported by cppcheck. Fix it by moving the g_malloc0 after the argument validity check. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 90527d2a8bb08ca5b4774eacfdd6b8fe9671c077 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 13:37:25 2013 +0200 kvm: Fix potential resource leak (missing fclose) This leak was detected by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7c30f65703fc4698ea9794126f1b978f34ac93b9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 17:01:05 2013 +0200 qemu-img: Add missing GCC_FMT_ATTR Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f17e4eaafc9d89a841fd30be93512b4973e53e31 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 13:47:32 2013 +0400 qemu-options: trivial fix for -mon args help It is the (implied sub)option name which is optional, not the value of that (sub)option, make it so in the help output. (Introduced by commit 22a0e04b9bb) Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 24f6ff863bce236f39ea597206e0a8df2e9537e6 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 14:44:20 2013 +0400 vl: reformat SDL ifdeffery a bit This reformats #ifdef..#endif and case statement a bit, to make it a bit shorter and matching other cases like that (no code changes). Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 576156ffed72ab4feb0b752979db86ff8759a2a1 Merge: b1588c3... 2eb74e1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jun 20 16:53:39 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (12) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: (25 commits) memory: render_memory_region: factor out fr constant setters memory: as_update_topology_pass: Improve comments memory: Fix comment typo memory: give name to every AddressSpace dma: eliminate DMAContext spapr_vio: take care of creating our own AddressSpace/DMAContext pci: use memory core for iommu support dma: eliminate old-style IOMMU support spapr: use memory core for iommu support spapr: make IOMMU translation go through IOMMUTLBEntry spapr: convert TCE API to use an opaque type vfio: abort if an emulated iommu is used memory: Add iommu map/unmap notifiers memory: iommu support memory: make section size a 128-bit integer exec: reorganize mem_add to match Int128 version Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62" Revert "memory: limit sections in the radix tree to the actual address space size" exec: return MemoryRegion from address_space_translate exec: Implement subpage_read/write via address_space_rw ... Message-id: 1371739493-10187-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1588c3fd6daf6e23ba727c758f84ada279ae731 Merge: 4eda32f... b5a87d2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jun 20 16:53:08 2013 -0500 Merge remote-tracking branch 'kiszka/queues/slirp' into staging # By Bas van Sisseren (1) and Gertjan Halkes (1) # Via Jan Kiszka * kiszka/queues/slirp: make user networking hostfwd work with restrict=y fix -net user checks by reordering checks Message-id: cover.1371638848.git.jan.kiszka@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2eb74e1a1ef145034aa41255c4a6f469d560c96d Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:33:29 2013 +1000 memory: render_memory_region: factor out fr constant setters These 4 replicated lines set properties of fr that are constant over the course of the function. Factor out their repeated setting (and also guards against them being set multiple times in the loop below). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 41a6e477fda3e3e5c8cc860458d29164625dc5e0 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:32:42 2013 +1000 memory: as_update_topology_pass: Improve comments These comments were a little difficult to read. First one had incorrect parenthesis. The part about attributes changing is really applicable to the region being 'in both' rather than 'in new' Second comment has an obscure parenthetic about 'Logging may have changed'. Made clearer, as this if is supposed to handle the case where the memory region is unchanged (with the notable exception re logging). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8508e024cb31a4013bb462aca0235c963e785aeb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:31:56 2013 +1000 memory: Fix comment typo s/ajacent/adjacent Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7dca8043f3483ff34ac954c7012b721731ee5719 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Apr 29 16:25:51 2013 +0000 memory: give name to every AddressSpace The "info mtree" command in QEMU console prints only "memory" and "I/O" address spaces while there are actually a lot more other AddressSpace structs created by PCI and VIO devices. Those devices do not normally have names and therefore not present in "info mtree" output. The patch fixes this. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit df32fd1c9f53dd3b7abd28e29f851965039eabda Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 18:15:49 2013 +0200 dma: eliminate DMAContext The DMAContext is a simple pointer to an AddressSpace that is now always already available. Make everyone hold the address space directly, and clean up the DMA API to use the AddressSpace directly. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 96478592a93f93322ecc20d0a6eccb4d4ef33c7a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 12:38:50 2013 +0200 spapr_vio: take care of creating our own AddressSpace/DMAContext Fetch the root region from the sPAPRTCETable, and use it to build an AddressSpace and DMAContext. Now, everywhere we have a DMAContext we also have access to the corresponding AddressSpace (either because we create it just before the DMAContext, or because dma_context_memory's AddressSpace is trivially address_space_memory). Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e00387d58243d4ae24ac68008a2aea76313ab997 Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:48 2012 +0200 pci: use memory core for iommu support Use the new iommu support in the memory core for iommu support. The only user, spapr, is also converted, but it still provides a DMAContext interface until the non-PCI bits switch to AddressSpace. Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> [ Do not calls memory_region_del_subregion() on the device's bus_master_enable_region, it is an alias; return an AddressSpace from the IOMMU hook and remove the destructor hook. - David Gibson ] Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 24addbc76dcbb1d1c85b3062bbf7a030831cc7a9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 17:49:04 2013 +0200 dma: eliminate old-style IOMMU support The translate function in the DMAContext is now always NULL. Remove every reference to it. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a84bb436696159d460d03db809c27a854cee0863 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 12:35:33 2013 +0200 spapr: use memory core for iommu support Now we can stop using a "translating" DMAContext, but we do not yet modify the sPAPRTCETable users to get an AddressSpace; they keep using the table via a DMAContext. Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a71bfbfe9d0bb74912170435d687f3c5de86a9f6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 16 15:05:06 2013 +0200 spapr: make IOMMU translation go through IOMMUTLBEntry The next step is to introduce the translation code that will be used for IOMMU MemoryRegions, but still do the actual translation in a DMAContext. Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2b7dc949e241ac2b069d2d6183c1346cad792662 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 17:30:48 2013 +0200 spapr: convert TCE API to use an opaque type The TCE table is currently returned as a DMAContext, and non-type-safe APIs are called later passing back the DMAContext. Since we want to move away from DMAContext, use an opaque type instead, and add an accessor to retrieve the DMAContext from it. Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 06d985f5d844d07d31b4dada20f4ff6cf0d6ff4a Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:49 2012 +0200 vfio: abort if an emulated iommu is used vfio doesn't support guest iommus yet, indicate it to the user by gently depositing a core on their disk. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 068665757da047d7d2980c17bba0659eb0ea0a89 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue May 14 19:13:56 2013 +1000 memory: Add iommu map/unmap notifiers This patch adds a NotifierList to MemoryRegions which represent IOMMUs allowing other parts of the code to register interest in mappings or unmappings from the IOMMU. All IOMMU implementations will need to call memory_region_notify_iommu() to inform those waiting on the notifier list, whenever an IOMMU mapping is made or removed. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 30951157441aed950ad8ca326500b4986d431c7a Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:46 2012 +0200 memory: iommu support Add a new memory region type that translates addresses it is given, then forwards them to a target address space. This is similar to an alias, except that the mapping is more flexible than a linear translation and trucation, and also less efficient since the translation happens at runtime. The implementation uses an AddressSpace mapping the target region to avoid hierarchical dispatch all the way to the resolved region; only iommu regions are looked up dynamically. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> [Modified to put translation in address_space_translate; assume IOMMUs are not reachable from TCG. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 052e87b073cb70afcd767d32f45af2794a5a65de Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 10:08:27 2013 +0200 memory: make section size a 128-bit integer So far, the size of all regions passed to listeners could fit in 64 bits, because artificial regions (containers and aliases) are eliminated by the memory core, leaving only device regions which have reasonable sizes An IOMMU however cannot be eliminated by the memory core, and may have an artificial size, hence we may need 65 bits to represent its size. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 733d5ef52721a836b1d9b5cd0f15a41db88829d0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 10:47:10 2013 +0200 exec: reorganize mem_add to match Int128 version When adding support for 2^64-byte sections, we will have to change the structure of mem_add to avoid failures in int128_get64. Reorganize the code now before introducing Int128. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5b23fd03324096056cf1f6bcf111224760d4c67c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 13:18:06 2013 +0200 Revert "s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62" This reverts commit 311f83ca08c011b048c063c2fd3038a8957970bc. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99b9cc0679585b2d495d7d31ce556549b6b2721c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 27 13:18:01 2013 +0200 Revert "memory: limit sections in the radix tree to the actual address space size" This reverts commit 86a8623692b1b559a419a92eb8b6897c221bca74. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5c8a00ce186b9a58d99b0afff90f87d5760bb44b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 29 12:42:00 2013 +0200 exec: return MemoryRegion from address_space_translate Only address_space_translate_for_iotlb needs to return the section. Every caller of address_space_translate now uses only section->mr, return it directly. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit acc9d80b26e8cb4667b5b336963d91233b6a98c4 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun May 26 21:55:37 2013 +0200 exec: Implement subpage_read/write via address_space_rw This will allow to add support for unaligned memory regions: the subpage container region can activate unaligned support unconditionally because the read/write handler will now ensure that accesses are split as required by calling address_space_rw. We can furthermore drop the special handling of RAM subpages, address_space_rw takes care of this already. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 90260c6c0960b2745d79455ceaa6cb50fb796e02 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun May 26 21:46:51 2013 +0200 exec: Resolve subpages in one step except for IOTLB fills Except for the case of setting the IOTLB entry in TCG mode, we can avoid the subpage dispatching handlers and do the resolution directly on address_space_lookup_region. An IOTLB entry describes a full page, not only the region that the first access to a sub-divided page may return. This patch therefore introduces a special translation function, address_space_translate_for_iotlb, that avoids the subpage resolutions. In contrast, callers of the existing address_space_translate service will now always receive the terminal memory region section. This will be important for breaking the BQL and for enabling unaligned memory region. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f52cc467426e43792eb39f81705766bcb3d9e96a Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun May 26 21:42:40 2013 +0200 exec: Allow unaligned address_space_rw This will be needed for some corner cases with para-virtual I/O ports. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1db8abb10243abe969a2ba307664ba51b60fcac6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 21 12:07:21 2013 +0200 memory: move private types to exec.c Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9f029603abb1472a33e008f9ea4127cc52566986 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon May 6 16:48:02 2013 +0200 memory: Introduce address_space_lookup_region This introduces a wrapper for phys_page_find (before we complicate address_space_translate with IOMMU translation). This function will also encapsulate locking and reference counting when we introduce BQL-free dispatching. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3752a0364883ed00100cc537832c434de3f77931 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jun 20 15:18:04 2013 +0100 exec.c: address_space_translate: handle access to addr 0 of 2^64 sized region The memory API allows a MemoryRegion's size to be 2^64, as a special case (otherwise the size always fits in a 64 bit integer). This meant that attempts to access address zero in a 2^64 sized region would assert in address_space_translate(): #3 0x00007ffff3e4d192 in __GI___assert_fail#(assertion=0x555555a43f32 "!a.hi", file=0x555555a43ef0 "include/qemu/int128.h", line=18, function=0x555555a4439f "int128_get64") at assert.c:103 #4 0x0000555555877642 in int128_get64 (a=...) at include/qemu/int128.h:18 #5 0x00005555558782f2 in address_space_translate (as=0x55555668d140, /addr=0, xlat=0x7fffafac9918, plen=0x7fffafac9920, is_write=false) at exec.c:221 Fix this by doing the 'min' operation in 128 bit arithmetic rather than 64 bit arithmetic (we know the result of the 'min' definitely fits in 64 bits because one of the inputs did). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4eda32f588086b6cd0ec2be6a7a6c131f8c2b427 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:06 2013 +0200 doc: Drop ref to Bochs from -no-fd-bootchk documentation Manual page and qemu-doc on talk about "Bochs BIOS". We use SeaBIOS, and it implements the feature. Replace by just "BIOS", and drop the TODO line wondering about the Bochs reference. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e1123015a50abf44f9daa9495f40eeaaf4c9bb98 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:05 2013 +0200 pc: Make -no-fd-bootchk stick across boot order changes Option -no-fd-bootchk asks the BIOS to attempt booting from a floppy even when the boot sector signature isn't there, by setting a bit in RTC CMOS. It was added back in 2006 (commit 52ca8d6a). Two years later, commit 0ecdffbb added monitor command boot_set. Implemented by new function pc_boot_set(). It unconditionally clears the floppy signature bit in CMOS. Commit e0f084bf added -boot option once to automatically change the boot order on first reset. Reuses pc_boot_set(), thus also clears the floppy signature bit. Commit d9346e81 took care to preserve this behavior. Thus, -no-fd-bootchk applies to any number of boots. Except it applies just to the first boot with -boot once, and never after boot_set. Weird. Make it stick instead: set the bit according to -no-fd-bootchk in pc_boot_set(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 083b79c9fea0e3842f0b2b57ff0d20ab5f57084a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:04 2013 +0200 vl: Rename *boot_devices to *boot_order, for consistency Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8281abd548d840d84223e66812491918c713e56c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:03 2013 +0200 vl: Fix -boot order and once regressions, and related bugs Option "once" sets up a different boot order just for the initial boot. Boot order reverts back to normal on reset. Option "order" changes the normal boot order. The reversal is implemented by reset handler restore_boot_devices(), which takes the boot order to revert to as argument. restore_boot_devices() does nothing on its first call, because that must be the initial machine reset. On its second call, it changes the boot order back, and unregisters itself. Because we register the handler right when -boot gets parsed, we can revert to an incorrect normal boot order, and multiple -boot can interact in funny ways. Here's how things work without -boot once or order: * boot_devices is "". * main() passes machine->boot_order to to machine->init(), because boot_devices is "". machine->init() configures firmware accordingly. For PC machines, machine->boot_order is "cad", and pc_cmos_init() writes it to RTC CMOS, where SeaBIOS picks it up. Now consider -boot order=: * boot_devices is "". * -boot order= sets boot_devices to "" (no change). * main() passes machine->boot_order to to machine->init(), because boot_devices is "", as above. Bug: -boot order= has no effect. Broken in commit e4ada29e. Next, consider -boot once=a: * boot_devices is "". * -boot once=a registers restore_boot_devices() with argument "", and sets boot_devices to "a". * main() passes boot_devices "a" to machine->init(), which configures firmware accordingly. For PC machines, pc_cmos_init() writes the boot order to RTC CMOS. * main() calls qemu_system_reset(). This runs reset handlers. - restore_boot_devices() gets called with argument "". Does nothing, because it's the first call. * Machine boots, boot order is "a". * Machine resets (e.g. monitor command). Reset handlers run. - restore_boot_devices() gets called with argument "". Calls qemu_boot_set("") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. Bug: boot order reverts to "" instead of machine->boot_order. The actual boot order depends on how firmware interprets "". Broken in commit e4ada29e. Next, consider -boot once=a -boot order=c: * boot_devices is "". * -boot once=a registers restore_boot_devices() with argument "", and sets boot_devices to "a". * -boot order=c sets boot_devices to "c". * main() passes boot_devices "c" to machine->init(), which configures firmware accordingly. For PC machines, pc_cmos_init() writes the boot order to RTC CMOS. * main() calls qemu_system_reset(). This runs reset handlers. - restore_boot_devices() gets called with argument "". Does nothing, because it's the first call. * Machine boots, boot order is "c". Bug: it should be "a". I figure this has always been broken. * Machine resets (e.g. monitor command). Reset handlers run. - restore_boot_devices() gets called with argument "". Calls qemu_boot_set("") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. Bug: boot order reverts to "" instead of "c". I figure this has always been broken, just differently broken before commit e4ada29e. Next, consider -boot once=a -boot once=b -boot once=c: * boot_devices is "". * -boot once=a registers restore_boot_devices() with argument "", and sets boot_devices to "a". * -boot once=b registers restore_boot_devices() with argument "a", and sets boot_devices to "b". * -boot once=c registers restore_boot_devices() with argument "b", and sets boot_devices to "c". * main() passes boot_devices "c" to machine->init(), which configures firmware accordingly. For PC machines, pc_cmos_init() writes the boot order to RTC CMOS. * main() calls qemu_system_reset(). This runs reset handlers. - restore_boot_devices() gets called with argument "". Does nothing, because it's the first call. - restore_boot_devices() gets called with argument "a". Calls qemu_boot_set("a") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. - restore_boot_devices() gets called with argument "b". Calls qemu_boot_set("b") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. * Machine boots, boot order is "b". Bug: should really be "c", because that came last, and for all other -boot options, the last one wins. I figure this was broken some time before commit 37905d6a, and fixed there only for a single occurence of "once". * Machine resets (e.g. monitor command). Reset handlers run. - restore_boot_devices() gets called with argument "". Calls qemu_boot_set("") to reconfigure firmware. For PC machines, pc_boot_set() writes it into RTC CMOS. Reset handler unregistered. Same bug as above: boot order reverts to "" instead of machine->boot_order. Fix by acting upon -boot options order, once and menu only after option parsing is complete, and the machine is known. This is how the other -boot options work already. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a86b35f992f107323e432c0a96107e11e1b699ad Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:02 2013 +0200 qemu-option: check_params() is now unused, drop it Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6ef4716cecdfa1b3794c1a33edba9840e1aa6b5f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 14 13:15:01 2013 +0200 vl: Clean up parsing of -boot option argument Commit 3d3b8303 threw in some QemuOpts parsing without replacing the existing ad hoc parser, resulting in a confusing mess. Clean it up. Two user-visible changes: 1. Invalid options are reported more nicely. Before: qemu: unknown boot parameter 'x' in 'x=y' After: qemu-system-x86_64: -boot x=y: Invalid parameter 'x' 2. If -boot is given multiple times, options accumulate, just like for -machine. Before, only options order, once and menu accumulated. For the other ones, all but the first -boot in non-legacy syntax got simply ignored. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1371208516-7857-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b5a87d26e848945eb891f4d7e4a7f2be514e08d5 Author: Gertjan Halkes <qemu@xxxxxxxxxx> Date: Fri Nov 11 16:04:20 2011 +0100 make user networking hostfwd work with restrict=y This patch allows the hostfwd option to override the restrict=y setting in the user network stack, as explicitly stated in the documentation on the restrict option: restrict=on|off If this option is enabled, the guest will be isolated, i.e. it will not be able to contact the host and no guest IP packets will be routed over the host to the outside. This option does not affect any explicitly set forwarding rules. Qemu bug tracker: https://bugs.launchpad.net/qemu/+bug/829455 Signed-off-by: Gertjan Halkes <qemu@xxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit 68756ba8be2127b6ea30a466af9f78a5c97bc15f Author: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx> Date: Mon Jun 3 15:11:49 2013 +0200 fix -net user checks by reordering checks reorder slirp config options. first check the dns-server-address, then check the first-dhcp-address. the original code was comparing the first-dhcp-address with the default dns-server-address, not the configured dns-server-address. Signed-off-by: Bas van Sisseren <bas@xxxxxxxxxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit c1990468d5a13c8f1d9111fcca0a78a6adad062b Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Wed May 22 11:32:51 2013 -0500 wdt_i6300esb: fix vmstate versioning When this VMSD was introduced it's version fields were set to sizeof(I6300State), making them essentially random from build to build, version to version. To fix this, we lock in a high version id and low minimum version id to support old->new migration from all prior versions of this device's state. This should work since the device state has not changed since its introduction. The potentially breaks migration from 1.5+ to 1.5, but since the versioning was essentially random prior to this patch, new->old migration was not consistently functional to begin with. Reported-by: Nicholas Thomas <nick@xxxxxxxxxxxxxx> Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ed8a8430a896088db55ae029e9eac200aedbe5c Merge: 7d8f4b3... 1288844... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 18 10:06:47 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (3) and others # Via Paolo Bonzini * bonzini/scsi-next: iscsi: reorganize iscsi_readcapacity_sync iscsi: simplify freeing of tasks vhost-scsi: fix k->set_guest_notifiers() NULL dereference scsi-disk: scsi-block device for scsi pass-through should not be removable scsi-generic: check the return value of bdrv_aio_ioctl in execute_command scsi-generic: fix sign extension of READ CAPACITY(10) data scsi: reset cdrom tray statuses on scsi_disk_reset Message-id: 1371565016-2643-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d8f4b34a4bb6996d958da211f1dfb2686c7d82b Merge: 5b45643... 2330790... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 18 10:06:39 2013 -0500 Merge remote-tracking branch 'bonzini/nbd-next' into staging # By Ján Tomko # Via Paolo Bonzini * bonzini/nbd-next: nbd: strip braces from literal IPv6 address in URI qemu-socket: allow hostnames starting with a digit commit 5b456438f5bb395ed6b1eec95e18ce7a7a884a0a Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Fri May 31 14:12:48 2013 -0400 virtio-rng: Fix crash with non-default backend 'default_backend' isn't always set, but 'rng' is, so use that. $ ./x86_64-softmmu/qemu-system-x86_64 -object rng-random,id=rng0,filename=/dev/random -device virtio-rng-pci,rng=rng0 Segmentation fault (core dumped) Regressed with virtio refactoring in 59ccd20a9ac719cff82180429458728f03ec612f CC: qemu-stable@xxxxxxxxxx Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: bf4505014a0a941dbd3c62068f3cf2c496b69e6a.1370023944.git.crobinso@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1288844e7c4ede59509bf697a4cca0f2215a1ce3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 31 13:56:24 2013 +0200 iscsi: reorganize iscsi_readcapacity_sync Avoid the goto, and use the same retry logic for the 10- and 16- byte versions. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f0d2a4d4d63dd2f0f3ecb2d591b979b0e7f24a22 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 31 13:47:08 2013 +0200 iscsi: simplify freeing of tasks Always free them in the iscsi_aio_*_acb functions and remove the checks in their callers. Remove ifs when the task struct was previously dereferenced (spotted by Coverity). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0e22a2d18998fd183c8181663981eb681ca977e9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 30 16:14:44 2013 +0200 vhost-scsi: fix k->set_guest_notifiers() NULL dereference Coverity picked up a copy-paste bug. In vhost_scsi_start() we check for !k->set_guest_notifiers and error out. The check probably got copied but instead of erroring we actually use the function pointer! Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Cc: Asias He <asias@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 18e673b8f350e1d789b8a50d209eb4a4252ebbda Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Wed May 29 15:47:23 2013 +0200 scsi-disk: scsi-block device for scsi pass-through should not be removable This patch adds a new SCSI_DISK_F_NO_REMOVABLE_DEVOPS feature. By this feature we can set that the scsi-block (scsi pass-through) device will still be removable from the guest side, but from monitor it cannot be removed. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d836f8d35dc418e24c3b11e2ea67d361b867b650 Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Wed May 29 14:12:10 2013 +0200 scsi-generic: check the return value of bdrv_aio_ioctl in execute_command This fixes the bug introduced by this commit ad54ae80c73f. The bdrv_aio_ioctl() still could return null and we should return an error in that case. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53254e569f8e07501f3e0098bd57d2b780e52faa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 21 14:08:53 2013 +0200 scsi-generic: fix sign extension of READ CAPACITY(10) data Issuing the READ CAPACITY(10) command in the guest will cause QEMU to update its knowledge of the maximum accessible LBA in the disk. The recorded maximum LBA will be wrong if the disk is bigger than 1TB, because ldl_be_p returns a signed int. When this is fixed, a latent bug will be unmasked. If the READ CAPACITY(10) command reported an overflow (0xFFFFFFFF), we must not overwrite the previously-known maximum accessible LBA, or the guest will fail to access the disk above the first 2TB. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7721c7f7c272fd2ed9d58500b7e99c33ab8a1af1 Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Mon May 20 13:06:47 2013 +0200 scsi: reset cdrom tray statuses on scsi_disk_reset Tray statuses should be also reset. Some guests may lock the tray and right after resetting the guest it should be unlocked and closed. This is done on power-on, reset and resume from suspend/hibernate on bare-metal. This fix is already committed for IDE CD. Check the commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c. Test results on bare-metal: - on reset/power-on the CD-ROM tray is closed even before the monitor is turned on - on resume from suspend/hibernate the tray is also closed before the monitor is turned on From test results it seems that this behavior is OS and probably BIOS independent. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 23307908790cd8fad91220863d7712c571ddc977 Author: Ján Tomko <jtomko@xxxxxxxxxx> Date: Mon Jun 3 17:54:56 2013 +0200 nbd: strip braces from literal IPv6 address in URI Otherwise they would get passed to getaddrinfo and fail with: address resolution failed for [::1]:1234: Name or service not known (Broken by commit v1.4.0-736-gf17c90b) Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 391b7b9701ba3318e890ec0cba97a3c654bfa667 Author: Ján Tomko <jtomko@xxxxxxxxxx> Date: Mon Jun 3 17:54:55 2013 +0200 qemu-socket: allow hostnames starting with a digit According to RFC 1123 [1], hostnames can start with a digit too. [1] http://tools.ietf.org/html/rfc1123#page-13 Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx [Use strspn, not strcspn. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit afd59989db90683fa127fec501d2633bcfbd6379 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 11:00:40 2013 +1000 intc/xilinx_intc: Dont lower IRQ when HIE cleared This is a little strange. It is lowering the parent IRQ pin on input when HIE is cleared. There is no such behaviour in the real hardware. ISR changes based on interrupt pin state are already guarded on HIE being set. So we can just delete this if in its entirety. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit fa96d6142f7f1947717c7c45c4d3141e5ab55167 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:59:55 2013 +1000 intc/xilinx_intc: Inhibit write to ISR when HIE When the Hardware Interrupt Enable (HIE) bit is set, software cannot change ISR. Add write guard accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 45fdd3bf5a00466cb0f762c638291a5446773dc9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:59:09 2013 +1000 intc/xilinx_intc: Handle level interrupt retriggering Acking a level sensitive interrupt should have no effect if the interrupt pin is still asserted. The current implementation requires and edge condition to occur for setting a level sensitive IRQ, which means an ACK can clear a level sensitive interrupt, until the original source strobes the interrupt again. Fix by keeping track of the interrupt pin state and setting ISR based on this every time update_irq() is called. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 6327c221fff955ee979559ec85c148963e06d78f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:58:25 2013 +1000 intc/xilinx_intc: Don't clear level sens. IRQs without ACK For level sensitive interrupts, ISR bits are cleared when the input pin is lowered. This is incorrect. Only software can clear ISR bits (via IAR or direct write to ISR with !MER(2)). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 37a011e9bade7bcbdd41addffc7c94cbf628404c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Jun 11 10:57:41 2013 +1000 microblaze/petalogix_s3adsp1800_mmu: Fix UART IRQ The UART IRQ is edge sensitive, whereas the machine was registering it as level sensitive. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 21a885a7e2a0f532f7653a2607efddbd83504430 Merge: 128dc2d... dbfbc63... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 13:14:46 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino # Via Luiz Capitulino * luiz/queue/qmp: qerror: drop QERR_OPEN_FILE_FAILED macro block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED savevm: qmp_xen_save_devices_state(): use error_setg_file_open() dump: qmp_dump_guest_memory(): use error_setg_file_open() cpus: use error_setg_file_open() blockdev: use error_setg_file_open() block: mirror_complete(): use error_setg_file_open() rng-random: use error_setg_file_open() error: add error_setg_file_open() helper Message-id: 1371484631-29510-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 128dc2d1e4cb98ddbe9c0df2e0c914dc00925dac Merge: 5d71bbc... 0bed087... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 13:14:13 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Liu Yuan (2) and others # Via Kevin Wolf * kwolf/for-anthony: vmdk: Allow reading variable size descriptor files NVMe: Initial commit for new storage interface curl: Don't set curl options on the handle just before it's going to be deleted. vmdk: byteswap VMDK4Header.desc_offset field block/curl.c: Refuse to open the handle for writes. sheepdog: support 'qemu-img snapshot -a' sheepdog: fix snapshot tag initialization Message-id: 1371486710-17793-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5d71bbc5fb076e6d8a37bb3e320d61432b3c2ce0 Merge: 38aea17... d1bdd3a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 13:14:01 2013 -0500 Merge remote-tracking branch 'rth/fix-ppc64' into staging # By Anton Blanchard # Via Richard Henderson * rth/fix-ppc64: tcg-ppc64: rotr_i32 rotates wrong amount tcg-ppc64: Fix add2_i64 tcg-ppc64: bswap64 rotates output 32 bits tcg-ppc64: Fix RLDCL opcode Message-id: 1371491129-30246-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d1bdd3af49f227dd4a4b03b90cb020c55cbed440 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Sun Jun 2 22:30:18 2013 +1000 tcg-ppc64: rotr_i32 rotates wrong amount rotr_i32 calculates the amount to left shift and puts it into a temporary, but then doesn't use it when doing the shift. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 84247357104044b8c4ec4a634e84769f432cbe52 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Sun Jun 2 22:29:39 2013 +1000 tcg-ppc64: Fix add2_i64 add2_i64 was adding the lower double word to the upper double word of each input. Fix this so we add the lower double words, then the upper double words with carry propagation. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 82e0f9170ac9307de4fc15bfb4d12d5534550322 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Sun Jun 2 22:28:27 2013 +1000 tcg-ppc64: bswap64 rotates output 32 bits If our input and output is in the same register, bswap64 tries to undo a rotate of the input. This just ends up rotating the output. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8a94cfb05ea9a8991c832236b4174d354025a7b7 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Jun 11 21:19:35 2013 +1000 tcg-ppc64: Fix RLDCL opcode The rldcl instruction doesn't have an sh field, so the minor opcode is shifted 1 bit. We were using the XO30 macro which shifted the minor opcode 2 bits. Remove XO30 and add MD30 and MDS30 macros which match the Power ISA categories. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0bed087df24c7b3fae366f239b9d150de3309416 Author: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 12 14:06:30 2013 +0300 vmdk: Allow reading variable size descriptor files the hard-coded 2k buffer on the stack won't allow reading big descriptor files which can be generated when storing big images. For example 500G vmdk splitted to 2G chunks. Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f3c507adcd7b00a08f2075afb6012f791ba9aec5 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Jun 4 09:17:10 2013 -0600 NVMe: Initial commit for new storage interface Initial commit for emulated Non-Volatile-Memory Express (NVMe) pci storage device. NVMe is an open, industry driven storage specification defining an optimized register and command set designed to deliver the full capabilities of non-volatile memory on PCIe SSDs. Further information may be found on the organizations website at: http://www.nvmexpress.org/ This commit implements the minimum from the specification to work with existing drivers. Cc: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8da1aa15db2f55c42bdcea95e27b1a190d2be754 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Mon Jun 10 17:40:15 2013 +0100 curl: Don't set curl options on the handle just before it's going to be deleted. (Found by Kamil Dudka) Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Cc: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5a394b9e96eb3c39676353bdf8a230180ae8d6f4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 10 11:07:33 2013 +0200 vmdk: byteswap VMDK4Header.desc_offset field Remember to byteswap VMDK4Header.desc_offset on big-endian machines. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a7cea2ba47ea6d361584072f96d7858f5cc99009 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Mon Jun 10 12:38:43 2013 +0100 block/curl.c: Refuse to open the handle for writes. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cede621ffc13ba1e209d9a21e85b21e150b74045 Author: Liu Yuan <namei.unix@xxxxxxxxx> Date: Sat Jun 8 01:54:26 2013 +0800 sheepdog: support 'qemu-img snapshot -a' Just call sd_create_branch() in the snapshot_goto to rollback the image is good enough. With this patch, 'loadvm' process for sheepdog is modified: Suppose we have a snapshot chain A --> B --> C, we do 'loadvm A' so as to get a new chain, A --> B | V C1 in the old code: 1 reload inode of A (in snapshot_goto) 2 read vmstate via A's vdi_id (loadvm_state) 3 delete C and create C1, reload inode of C1 (sd_create_branch on write) with this patch applied: 1 reload inode of A, delete C and create C1 (in snapshot_goto) 2 read vmstate via C1's parent, that is A's vdi_id (loadvm_state) This will fix the possible bug that QEMU exit between 2 and 3 in the old code Cc: qemu-devel@xxxxxxxxxx Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b579ffb3fd64243b64ac5aaf659ac88518f17835 Author: Liu Yuan <namei.unix@xxxxxxxxx> Date: Sat Jun 8 01:54:25 2013 +0800 sheepdog: fix snapshot tag initialization This is an old and obvious bug. We should pass snapshot_id to the tag. Or simple command like 'qemu-img snapshot -a tag sheepdog:image' will fail Cc: qemu-devel@xxxxxxxxxx Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dbfbc6373441e436ac6e2bcf7a8acb284225aa21 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:37:54 2013 -0400 qerror: drop QERR_OPEN_FILE_FAILED macro Not used since the last commit. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit d8b6895f7a8e5bcc5be1557e8048db43882f3b33 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Jun 10 11:29:27 2013 -0400 block: bdrv_reopen_prepare(): don't use QERR_OPEN_FILE_FAILED The call to drv->bdrv_reopen_prepare() can fail due to reasons other than an open failure. Unfortunately, we can't use errno nor -ret, cause they are not always set. Stick to a generic error message then. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1befce9652a1b7cfca0191b3031fae3cbce26ef0 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:36:58 2013 -0400 savevm: qmp_xen_save_devices_state(): use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 7581766b719afd63dcf922ddbf982291f596ed12 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:36:01 2013 -0400 dump: qmp_dump_guest_memory(): use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 618da851ec8059460be8e0670bc835d3c2003708 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:35:06 2013 -0400 cpus: use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0eef407c7b4130d13138c1f75d9975165433f654 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:33:48 2013 -0400 blockdev: use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dacc26aae5d291317a3277970a4f39a562939a78 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:31:46 2013 -0400 block: mirror_complete(): use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bc5741add11113ee8febdcf33931ec3afe10c729 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:28:02 2013 -0400 rng-random: use error_setg_file_open() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 54028d7542cffe97c4685994baac66988c4b7db9 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Jun 7 14:24:49 2013 -0400 error: add error_setg_file_open() helper Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 38aea177d93556aada7c4c7aa530f0050715e293 Merge: b7a3b1c... 187f1bc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 08:57:56 2013 -0500 Merge remote-tracking branch 'pmaydell/configury.next' into staging # By Paolo Bonzini (4) and others # Via Peter Maydell * pmaydell/configury.next: ppc: Remove CONFIG_FDT conditionals microblaze: Remove CONFIG_FDT conditionals arm: Remove CONFIG_FDT conditionals configure: Require libfdt for arm, ppc, microblaze softmmu targets configure: dtc: Probe for libfdt_env.h build: drop TARGET_TYPE main: use TARGET_ARCH only for the target-specific #define build: do not use TARGET_ARCH build: rename TARGET_ARCH2 to TARGET_NAME Add a stp file for usage from build directory Message-id: 1371221594-11556-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b7a3b1cde2127f70d9fc24b7c99fbbc3899afab5 Merge: 030b4b7... b165b0d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 17 08:57:07 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Michael Tokarev (1) and Vladimir Senkov (1) # Via Michael Tokarev * mjt/trivial-patches: char/serial: fix copy&paste error (fifo8_is_full vs empty) vl: always define no_frame Message-id: 1371455050-9523-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 35bdc13b52197d7e9dcadd5af9621b6463290300 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Mon Jun 10 15:29:31 2013 +0100 xen: Implement hot_add_cpu hook. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit f573cdfa7afa92ebb66b2ba066b4f08bd22fc84b Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> Date: Fri Jun 14 14:43:05 2013 +0100 xen: Fix vcpus initialisation. Each vcpu needs a call to xc_evtchn_bind_interdomain in QEMU, even those that are unplug at QEMU initialisation. Without this patch, any hot-plugged CPU will be "Stuck ??" when Linux will try to use them. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 647e2f8c9c34947130c50e593a51fa50e9904145 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:25 2013 +0200 QMP: Add cpu-add command Adds "cpu-add id=xxx" QMP command. cpu-add's "id" argument is a CPU number in a range [0..max-cpus) Example QMP command: -> { "execute": "cpu-add", "arguments": { "id": 2 } } <- { "return": {} } Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit 69ca3ea5e192251f27510554611bcff6f036a00b) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 4b8e1c9837aef6297a2899fb2115c0b179250732 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:24 2013 +0200 Add hot_add_cpu hook to QEMUMachine Hook should be set by machines that implement CPU hot-add via cpu-add QMP command. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 385226be3a600c871a2cf306fca0e2788791293b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:25 2013 +0200 acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest * introduce processor status bitmask visible to guest at 0xaf00 addr, where ACPI asl code expects it * set bit corresponding to APIC ID in processor status bitmask on receiving CPU hot-plug notification * trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit b8622725cf0196f672f272922b0941dc8ba1c408) The function piix4_cpu_hotplug_req() has been modified to take an integer instead of a CPU object. There was a cpu_added_notifier in the original commit, this haven't been back-ported, as it can't be used. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit b165b0d8e62bb65a02d7670d75ebb77a9280bde1 Author: Vladimir Senkov <hangup@xxxxxxxxx> Date: Sun Jun 16 20:30:52 2013 -0400 char/serial: fix copy&paste error (fifo8_is_full vs empty) Copy&paste error in serial.c causes a crash when attempting to read from UART (if there is no data to be read) Signed-off-by: Vladimir Senkov <hangup@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 616404cd42db5f683d49772dcc2c53c8f6466024 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 14:36:22 2013 +0400 vl: always define no_frame Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options" broke build of qemu without sdl, by referencing `no_frame' variable which is defined inside #if SDL block. Fix that by defining that variable unconditionally. This is a better fix for the build issue introduced by that patch than a revert. This change keeps the new functinality introduced by that patch and just fixes the compilation. It still is not a complete fix around the original issue (not working -no-frame et al with -display gtk), because it makes only the legacy interface working, not the new suboption interface, so a few more changes are needed. Cc: Peter Wu <lekensteyn@xxxxxxxxx> Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx> commit 030b4b7debf659dcd6fc66826564285fdce5057d Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 16 16:13:07 2013 +0200 gtk: Fix compiler warning (GTK 3 deprecated function) With GTK 3, the function gdk_cursor_unref is deprecated: qemu/ui/gtk.c: In function â??gd_cursor_defineâ??: qemu/ui/gtk.c:380:5: error: â??gdk_cursor_unrefâ?? is deprecated (declared at /usr/include/gtk-3.0/gdk/gdkcursor.h:233): Use 'g_object_unref' instead [-Werror=deprecated-declarations] Fix the gcc compiler warning by using conditional compilation. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1371391987-10795-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a1077090cea97df26a754d16d7c9e1d410d81eaa Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jun 15 14:42:03 2013 +0400 vl: always define no_frame Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options" broke build of qemu without sdl, by referencing `no_frame' variable which is defined inside #if SDL block. Fix that by defining that variable unconditionally. This is a better fix for the build issue introduced by that patch than a revert. This change keeps the new functinality introduced by that patch and just fixes the compilation. It still is not a complete fix around the original issue (not working -no-frame et al with -display gtk), because it makes only the legacy interface working, not the new suboption interface, so a few more changes are needed. Cc: Peter Wu <lekensteyn@xxxxxxxxx> Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Peter Wu <lekensteyn@xxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1371292923-28105-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 90a2541b763b31d2b551b07e24aae3de5266d31b Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:10 2013 +0800 target-i386: fix over 80 chars warnings Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0bc60a8ae076402fbdbd2d6334bbe6ea88b428ff Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:09 2013 +0800 target-i386/helper: remove redundant env->eip assignment Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 80cf2c81a1be732cf1ce4a810ddc7721714d684e Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:08 2013 +0800 target-i386/helper: remove DF macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a78d0eabd4ca05789a9604fe632b9399bf378fee Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:07 2013 +0800 target-i386/helper: remove EIP macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cf75c5977c01060d344eb804abf81e938d33105b Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:06 2013 +0800 target-i386/helper: remove EDI macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 78c3c6d34a94885c8d7e83ab282062ab642af75b Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:05 2013 +0800 target-i386/helper: remove ESI macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 08b3ded6bdc06ac6b9d1f700a1ee108f4ba4030f Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:04 2013 +0800 target-i386/helper: remove ESP macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c12dddd7918e3479d0b5b0a1b25588d557347171 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:03 2013 +0800 target-i386/helper: remove EBP macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 00f5e6f21ea55046173a8a106b7654036888e9b3 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:02 2013 +0800 target-i386/helper: remove EDX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a416561005da6e4f9903541486f53c2cbc3a428d Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:01 2013 +0800 target-i386/helper: remove ECX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 70b513654c5a4722e727d69ec6999e6e7818670f Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:21:00 2013 +0800 target-i386/helper: remove EBX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4b34e3ad83588602834c05c0d59a0d2973e9f48c Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue May 28 16:20:59 2013 +0800 target-i386/helper: remove EAX macro Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 371a775dc18ece3ff7d77328d1ee28cb2d473706 Merge: 22bfa16... fef7fbc... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jun 15 10:53:44 2013 +0000 Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu * 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu: qdev: Drop FROM_QBUS() macro isa: QOM'ify ISADevice isa: QOM'ify ISABus i8259: Convert PICCommonState to use QOM realizefn kvm/i8259: QOM'ify some more i8259: QOM'ify some more i8254: Convert PITCommonState to QOM realizefn kvm/i8254: QOM'ify some more i8254: QOM'ify some more isa: Use realizefn for ISADevice cs4231a: QOM'ify some more gus: QOM'ify some more commit 22bfa16ed3d4c9d534dcfe6f2381a654f32296b9 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 10 13:23:20 2013 -0500 ide-test: fix failure for test_flush bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3 added a test to ensure BSY flag is set when a flush request is in flight. It does this by setting a blkdebug breakpoint on flush_to_os before issuing a CMD_FLUSH_CACHE. It then resumes CMD_FLUSH_CACHE operation and checks that BSY is unset. The actual unsetting of BSY does not occur until ide_flush_cb gets called in a bh, however, so in some cases this check will race with the actual completion. Fix this by polling the ide status register until BSY flag gets unset before we do our final sanity checks. According to f68ec8379e88502b4841a110c070e9b118d3151c this is in line with how a guest would determine whether or not the device is still busy. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0170b3ce88cb87346afa369a89ce9b197389058b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 24 22:58:04 2013 +0200 cpu: Add qemu_for_each_cpu() Wrapper to avoid open-coded loops and to make CPUState iteration independent of CPUArchState. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit d6b9e0d60cc511eca210834428bb74508cff3d33) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit e48f3af500a229bf9bf63fbe02ca6ef35abc2820 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:41 2013 +0200 cpu: Introduce get_arch_id() method and override it for X86CPU get_arch_id() adds possibility for generic code to get a guest-visible CPU ID without accessing CPUArchState. If derived classes don't override it, it will return cpu_index. Override it on target-i386 in X86CPU to return the APIC ID. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> (cherry picked from QEMU commit 997395d3888fcde6ce41535a8208d7aa919d824b) Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> commit 187f1bcb9ce8e3cd3f634dd5405f9e5ed02b38ce Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:57 2013 +0100 ppc: Remove CONFIG_FDT conditionals Now that we know we're compiling with libfdt we can remove the CONFIG_FDT conditionals. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-5-git-send-email-peter.maydell@xxxxxxxxxx commit 564720219a0863625e9989fd258ccc57a616550f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:56 2013 +0100 microblaze: Remove CONFIG_FDT conditionals Now that we know we're compiling with libfdt we can remove the CONFIG_FDT conditionals. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-4-git-send-email-peter.maydell@xxxxxxxxxx commit 298c3833dba62512659ab550c3daa1e6d8faec94 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:55 2013 +0100 arm: Remove CONFIG_FDT conditionals Now that we know we're compiling with libfdt, we can remove the CONFIG_FDT conditionals. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-3-git-send-email-peter.maydell@xxxxxxxxxx commit e169e1e1ae1e75c522f932554890fb0f2f3e9999 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 24 16:26:54 2013 +0100 configure: Require libfdt for arm, ppc, microblaze softmmu targets A number of our softmmu targets (PPC, ARM, Microblaze) now more or less require flattened device tree support for various board models to work correctly. Make libfdt mandatory if the target list includes these, rather than building unhelpful half-functional binaries. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1369409217-7553-2-git-send-email-peter.maydell@xxxxxxxxxx commit 96ce65457690561417ae8e6f0e85f3c6f135018b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon May 27 14:20:57 2013 +1000 configure: dtc: Probe for libfdt_env.h Currently QEMU provides a local clone of the file libfdt_env.h in /include. This file is supposed to come with the libfdt package and is only needed for broken installs of libfdt. Now that we have submodule dtc, just ignore these broken installs and prompt for the dtc submodule install instead. QEMU's local libfdt_env.h is removed accordingly. Manifests as a bug when building QEMU with modern libfdt. The new version of libfdt does not compile when QEMUs libfdt_env.h takes precedence over the hosts. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c02a9552a4c89f2fdf23defe1d2c13b834ae3a4a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 4 14:45:28 2013 +0200 build: drop TARGET_TYPE Just use the TARGET_NAME free string. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1370349928-20419-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2e59915d4375b632964c0594799fd5876958eda6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 4 14:45:27 2013 +0200 main: use TARGET_ARCH only for the target-specific #define Everything else needs to match the executable name, which is TARGET_NAME. Before: $ sh4eb-linux-user/qemu-sh4eb --help usage: qemu-sh4 [options] program [arguments...] Linux CPU emulator (compiled for sh4 emulation) After: $ sh4eb-linux-user/qemu-sh4eb --help usage: qemu-sh4eb [options] program [arguments...] Linux CPU emulator (compiled for sh4eb emulation) Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b9a7b74f77619d3e7fb3834fbdcd3bde036ac399 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jun 4 14:45:26 2013 +0200 build: do not use TARGET_ARCH TARGET_ARCH is generally wrong to use, there are better variables provided in config-target.mak. The right one is usually TARGET_NAME (previously TARGET_ARCH2), but for bsd-user we can also use TARGET_ABI_DIR for consistency with linux-user. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c1799a846285764de588533e21e61167a33f5a8f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jun 14 15:19:07 2013 +0100 build: rename TARGET_ARCH2 to TARGET_NAME Do not introduce any new use yet. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c14518e94251c5c0857915a5cef102f23abf1e8b Author: Alon Levy <alevy@xxxxxxxxxx> Date: Fri Jun 14 15:19:07 2013 +0100 Add a stp file for usage from build directory For systemtap the location of the process being tapped is crucial, as a result the existing stp file requires installation for use. There are now two files: $(TARGET_DIR)/$(QEMU_PROG).stp-installed: copied to $(tapdir)/$(QEMU_PROG).stp $(TARGET_DIR)/$(QEMU_PROG).stp: pointing to the built binary, usable without installation To use: stap -I $(TARGET_DIR) ... Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370349928-20419-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 52bb7c6a0663b9a0ac1727f7b55811d69aaf3789 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Jun 6 15:34:52 2013 +1000 audio/intel-hda: QOM casting sweep Define and use standard QOM cast macro. Remove usages of DO_UPCAST and direct -> style casting. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 96f00396338321f5a76c9b86c629b69895e4d2d0.1370496582.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 062db74023043c8fe50869f19c3b9c6bb3e4699c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Jun 6 15:34:08 2013 +1000 audio/intel-hda: Fix Inheritance hierachy The ich6 and ich9 variants either need to inherit one from the other, or both from a common base class, otherwise its not possible to create a QOM cast macro for use by the shared implementation functions. Went for option B, with a common base class. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 54453b6aa8afa1a76b2ec1932f1d7fd25205d0bc.1370496582.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e5c4540d18d1e9a5253104df161a7e0d408ca95 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:36 2013 +0200 smbios: Check R in -smbios type=0, release=R parses okay Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 527cd96f15348f4454d5bb71f69aaeb95461c90e Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:35 2013 +0200 smbios: Fix -smbios type=0, release=... for big endian hosts Classic endianness bug due to careless dirty coding: assuming reading a byte from an int variable gets the least significant byte. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ebc85e3f724d17530e74df665d1a30fb9b0041b5 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:34 2013 +0200 smbios: Clean up smbios_add_field() parameters Having size precede the associated pointer is odd. Swap them, and fix up the types. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5bb95e41868b461f37159efb48908828ebd7ab36 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:33 2013 +0200 smbios: Convert to error_report() Improves diagnistics from ad hoc messages like Invalid SMBIOS UUID string to qemu-system-x86_64: -smbios type=1,uuid=gaga: Invalid UUID Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f3eededb2fbc73c73daf08f791f0407b8541f4f4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:32 2013 +0200 log.h: Supply missing includes <stdio.h> has always been missing. Rest missed in commit eeacee4. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b293796fd71009ecffe4343713a4e4e568c33fb0 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jun 7 15:00:31 2013 +0200 error-report.h: Supply missing include Missed in commit e5924d8. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@xxxxxxxxxx> Message-id: 1370610036-10577-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 301255e6303457e10b9a42dc208f80c058004c1c Merge: 5f13731... ba275ad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:51:45 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches-next' into staging # By Michael Tokarev (4) and others # Via Michael Tokarev * mjt/trivial-patches-next: (26 commits) piix: fix some printf errors when debug is enabled cputlb: fix debug logs create qemu_openpty_raw() helper function and move it to a separate file main-loop: do not include slirp/slirp.h, use libslirp.h instead libcacard/vscclient: fix leakage of socket on error paths linux-headers: Update to v3.10-rc5 KVM: PPC: Add dummy kvm_arch_init_irq_routing() KVM: S390: Add dummy kvm_arch_init_irq_routing() KVM: ARM: Add dummy kvm_arch_init_irq_routing() ivshmem: add missing error exit(2) hw/xen: Use g_free instead of free and fix potential memory leaks target-sparc: Replace free by g_free hw/scsi: Don't increment a boolean value device tree: Fix cppcheck warning Makefile: Install qemu-img and qemu-nbd man pages only if built Unbreak -no-quit for GTK, validate SDL options gtk: implement -full-screen char/serial: serial_ioport_write: Factor out common code char/serial: Use generic Fifo8 char/serial: cosmetic fixes. ... Message-id: 1371207042-17980-1-git-send-email-mjt@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f13731f8cb6aadecf214513ec810d61dc1f71dc Merge: 86a6a07... c67e216... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:51:30 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber (12) and others # Via Andreas Färber * afaerber/qom-cpu: spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu() spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu() memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting dump: Abstract dump_init() with cpu_synchronize_all_states() cpu: Change default for CPUClass::get_paging_enabled() dump: Drop qmp_dump_guest_memory() stub and build for all targets memory_mapping: Drop qemu_get_memory_mapping() stub cpu: Turn cpu_get_memory_mapping() into a CPUState hook memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h cpu: Turn cpu_paging_enabled() into a CPUState hook monitor: Simplify do_inject_mce() with qemu_get_cpu() target-i386: cpu: Fix potential buffer overrun in get_register_name_32() target-i386: Set level=4 on Conroe/Penryn/Nehalem target-i386: Update model values on Conroe/Penryn/Nehalem CPU models pc: Create pc-*-1.6 machine-types pc: Fix crash when attempting to hotplug CPU with negative ID dump: Move stubs into libqemustub.a commit 86a6a0774509c59f1570f763a0fad57e26762d9c Merge: db9707f... b25a464... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:51:05 2013 -0500 Merge remote-tracking branch 'pmaydell/tcg-aarch64.next' into staging # By Claudio Fontana (9) and others # Via Peter Maydell * pmaydell/tcg-aarch64.next: MAINTAINERS: add tcg/aarch64 maintainer configure: permit compilation on arm aarch64 tcg/aarch64: implement user mode qemu ld/st user-exec.c: aarch64 initial implementation of cpu_signal_handler tcg/aarch64: implement sign/zero extend operations tcg/aarch64: implement byte swap operations tcg/aarch64: implement AND/TEST immediate pattern tcg/aarch64: improve arith shifted regs operations tcg/aarch64: implement new TCG target for aarch64 include/elf.h: add aarch64 ELF machine and relocs configure: Drop CONFIG_ATFILE test linux-user: Drop direct use of openat etc syscalls linux-user: Allow getdents to be provided by getdents64 Message-id: 1371052645-9006-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db9707f7a17d00781a8fb13354a359bd05a46646 Merge: 6e8d2b6... 5866e07... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:50:58 2013 -0500 Merge remote-tracking branch 'pmaydell/target-arm.next' into staging # By Peter Chubb # Via Peter Maydell * pmaydell/target-arm.next: Fix rfe instruction Message-id: 1370268884-25945-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e8d2b654656830877937ba02bb8ea1c4945a1fc Merge: bd5c51e... 56bbc2f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 14 07:50:36 2013 -0500 Merge remote-tracking branch 'rth/tcg-for-anthony' into staging # By Richard Henderson # Via Richard Henderson * rth/tcg-for-anthony: tcg: Remove redundant tcg_target_init checks tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS Message-id: 1370437167-11278-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ba275adba09adfc0f7ec533f1fddba678d9ba826 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Jun 14 15:11:30 2013 +0800 piix: fix some printf errors when debug is enabled And use PRIxxx macros if possible. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 54b949d27064a294304775e427f49d3706ed4a95 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Wed Jun 5 20:16:42 2013 +0800 cputlb: fix debug logs 'pd' variable has been removed in 06ef3525e1f271b6a842781a05eace5cf63b95c2. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 4efeabbbe8441cc327052304976c7b9b86309d72 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jun 5 18:44:54 2013 +0400 create qemu_openpty_raw() helper function and move it to a separate file In two places qemu uses openpty() which is very system-dependent, and in both places the pty is switched to raw mode as well. Make a wrapper function which does both steps, and move all the system-dependent complexity into a separate file, together with static/local implementations of openpty() and cfmakeraw() from qemu-char.c. It is in a separate file, not part of oslib-posix.c, because openpty() often resides in -lutil which is not linked to every program qemu builds. This change removes #including of <pty.h>, <termios.h> and other rather specific system headers out of qemu-common.h, which isn't a place for such specific headers really. This version has been verified to build correctly on Linux, OpenBSD, FreeBSD and OpenIndiana. On the latter it lets qemu to be built with gtk gui which were not possible there due to missing openpty() and cfmakeraw(). Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Tested-by: Andreas Färber <andreas.faerber@xxxxxx> commit 79c097d5fe7cb0b4788ed509240cde7e210650bf Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Jun 13 17:39:42 2013 +0000 Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" This reverts commit 4597594c61add43725bd207bb498268a058f9cfb. Changing the start of the PCI hole requires a corresponding change in hvmloader and libxc. Revert the commit for the moment. commit c67e216bdf42abfb8505790b2da9562356103976 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 21:06:39 2013 +0200 spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu() Instead of looping over all CPUArchState, use a helper to obtain the desired CPUState. Free the "cpu" variable for PowerPCCPU, to access its CPUPPCState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 05318a858c1212d845d03f924e6ab5f22ab51ab6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 21:03:31 2013 +0200 spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu() Instead of looping over all CPUArchState, use a helper to obtain the desired CPUState directly. Saves a CPUPPCState variable and QOM cast. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b25a464c6bddbe5d25b7552ba1fec1835269ac84 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:24 2013 +0100 MAINTAINERS: add tcg/aarch64 maintainer Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 51ACA0B2.80800@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1f0803137df68c1fc02ebd0c5ec2e7aad54bbf3b Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 configure: permit compilation on arm aarch64 support compiling on aarch64. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51A5C5ED.90103@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6a91c7c978d77461cc2ed056a2869b90bebded3e Author: Jani Kokkonen <jani.kokkonen@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 tcg/aarch64: implement user mode qemu ld/st also put aarch64 in the list of archs that do not need an ldscript. Signed-off-by: Jani Kokkoken <jani.kokkonen@xxxxxxxxxx> Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 51AF40EE.1000104@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f129061c6abfaee2133fcb55c384ec5f99028f62 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 user-exec.c: aarch64 initial implementation of cpu_signal_handler Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 51AF4028.5030504@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 31f1275b90f4803ee5a2900020f21d3320ce62b7 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 tcg/aarch64: implement sign/zero extend operations implement the optional sign/zero extend operations with the dedicated aarch64 instructions. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC9A58.40502@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9c4a059df3501ba53c00724287ef50bba80b5f80 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:23 2013 +0100 tcg/aarch64: implement byte swap operations implement the optional byte swap operations with the dedicated aarch64 instructions. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC9A33.9050003@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 7deea126b24508e8ffa7aa4aecfa6fa97eddc384 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 tcg/aarch64: implement AND/TEST immediate pattern add functions to AND/TEST registers with immediate patterns. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC9A0C.3090303@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 36fac14a6416fe1f8f6f23bfac5f9e662be78d2b Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 tcg/aarch64: improve arith shifted regs operations for arith operations, add SUBS, ANDS, ADDS and add a shift parameter so that all arith instructions can make use of shifted registers. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51AC998B.7070506@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 4a136e0a6b4ceac177bc2ab29502161553e25ae2 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 tcg/aarch64: implement new TCG target for aarch64 add preliminary support for TCG target aarch64. Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 51A5C596.3090108@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1d256776c77c211a6f60a36e700f549f3a544cc6 Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 include/elf.h: add aarch64 ELF machine and relocs we will use the 26bit relative relocs in the aarch64 tcg target. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Message-id: 51A5C52A.4080001@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 66926895433a56b657f79d14f371831cf79fd43e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jun 12 16:20:22 2013 +0100 configure: Drop CONFIG_ATFILE test Nobody uses the CONFIG_ATFILE test now, so just drop it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 1370126121-22975-3-git-send-email-peter.maydell@xxxxxxxxxx commit c0d472b12e8c5ba81c69b28a1088ff52a59933f2 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jun 12 16:20:21 2013 +0100 linux-user: Drop direct use of openat etc syscalls The linux-user syscall emulation layer currently supports the openat family of syscalls via two mechanisms: simply calling the corresponding libc functions, and making direct syscalls. Since glibc has supported these functions since at least glibc 2.5, there's no real need to retain the (essentially untested) direct syscall fallback code, so simply delete it. This allows us to remove some ifdeffery that was attempting to disable provision of some of the syscalls if the host didn't seem to support them, which in some cases was actually wrong (eg where there are several flavours of the syscall and we only need one of them, not necessarily the exact one the guest has, as with the fstatat* calls). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 1370126121-22975-2-git-send-email-peter.maydell@xxxxxxxxxx commit 3307e2363a812e4f68d02ec3b0114a9b510702b7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jun 12 16:20:21 2013 +0100 linux-user: Allow getdents to be provided by getdents64 Newer architectures may only implement the getdents64 syscall, not getdents. Provide an implementation of getdents in terms of getdents64 so that we can run getdents-using targets on a getdents64-only host. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> Message-id: 1370344377-27445-1-git-send-email-peter.maydell@xxxxxxxxxx Message-id: 1370193044-24535-1-git-send-email-peter.maydell@xxxxxxxxxx commit 520b6dd4d03742e285cc68cca308a2a74261c410 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jun 12 16:31:44 2013 +0400 main-loop: do not include slirp/slirp.h, use libslirp.h instead The header slirp/slirp.h is an internal header for slirp, and main-loop.c does not use internals from there. Instead, it uses public functions (slirp_update_timeout(), slirp_pollfds_fill() etc) which are declared in slirp/libslirp.h. Including slirp/slirp.h is somewhat dangerous since it redefines errno on WIN32, so any file including it may misbehave wrt errno. Unfortunately libslirp isn't self-contained, it needs declaration of struct in_addr, which is provided by qemu/sockets.h. Maybe instead of #including qemu/sockets.h before libslirp.h, it is better to make the latter self-contained. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 581fe784c3adf85dc167a47a4a60fd1245a98217 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Jun 4 16:23:37 2013 -0400 libcacard/vscclient: fix leakage of socket on error paths Spotted by Coverity. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e098b45386a86fecc1e573d305a240a2f4aa461d Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Jun 12 17:26:55 2013 +1000 linux-headers: Update to v3.10-rc5 This adds symbols required for PPC64 pseries platform features: 1. sPAPR live migration; 2. in-kernel XICS interrupt controller. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 821696600402e432f6f11ec355efd23f9bc6ce4f Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jun 12 17:26:54 2013 +1000 KVM: PPC: Add dummy kvm_arch_init_irq_routing() The common KVM code insists on calling kvm_arch_init_irq_routing() as soon as it sees kernel header support for it (regardless of whether QEMU supports it). Provide a dummy function to satisfy this. Unlike x86, PPC does not have one default irqchip, so there's no common code that we'd stick here. Even if you ignore the routes themselves, which even on x86 are not set up in this function, the initial XICS kernel implementation will not support IRQ routing, so it's best to leave even the general feature flags up to the specific irqchip code. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 48475e14841f3c3a245bc4c13f9115520c89f2d7 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Jun 12 17:26:53 2013 +1000 KVM: S390: Add dummy kvm_arch_init_irq_routing() The common KVM code insists on calling kvm_arch_init_irq_routing() as soon as it sees kernel header support for it (regardless of whether QEMU supports it). Provide a dummy function to satisfy this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit b3a1c626fc55e1dd87166a7b837e16ff6a1b0071 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Jun 12 17:26:52 2013 +1000 KVM: ARM: Add dummy kvm_arch_init_irq_routing() The common KVM code insists on calling kvm_arch_init_irq_routing() as soon as it sees kernel header support for it (regardless of whether QEMU supports it). Provide a dummy function to satisfy this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit baefb8bf8e4a708c601bbab898a6039cd9cd12e3 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Jun 3 10:58:31 2013 +0200 ivshmem: add missing error exit(2) If the user fails to specify 'chardev' or 'shm' then we cannot continue. Exit right away so that we don't invoke shm_open(3) with a NULL pointer. It would be nice to replace exit(1) with error returns in the PCI device .init() function, but leave that for another patch since exit(1) is currently used elsewhere. Spotted by Coverity. Cc: Cam Macdonell <cam@xxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c5633d998a27502ad8cc10c2d46f91b02555ae7a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:36:22 2013 +0200 hw/xen: Use g_free instead of free and fix potential memory leaks The wrong functions and the missing calls of g_free were reported by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 1e2a1d41f29adc8ae3013612c5a0114a87773773 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:40:52 2013 +0200 target-sparc: Replace free by g_free The wrong function was reported by cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dcb0780990f7d579b2d6f9c67ef841a75b3a758b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:24:56 2013 +0200 hw/scsi: Don't increment a boolean value This fixes a warning from cppcheck. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 909a196d2754388d3b15a34b688095c655792124 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jun 10 22:12:25 2013 +0200 device tree: Fix cppcheck warning Fix this cppcheck warning: Checking device_tree.c... device_tree.c:216: style: Checking if unsigned variable 'r' is less than zero. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8a3e8f7fd8144343f6c83e810b988c1e8a99d50a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jun 11 13:13:58 2013 +0200 Makefile: Install qemu-img and qemu-nbd man pages only if built When splitting openSUSE's qemu and qemu-linux-user packages we noticed that for linux-user-only builds unrelated man pages got installed. It's surely possible to delete them before packaging, but not installing them in the first place seems more logical. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 047d4e151dd462915786a4fddc12f774d0028af5 Author: Peter Wu <lekensteyn@xxxxxxxxx> Date: Tue Jun 11 10:55:08 2013 +0200 Unbreak -no-quit for GTK, validate SDL options Certain options (-no-frame, -alt-grab, -ctrl-grab) only make sense with SDL. When compiling without SDL, these options (and -no-quit) print an error message and exit qemu. In case QEMU is compiled with SDL support, the three aforementioned options still do not make sense with other display types. This patch addresses that issue by printing a warning. I have chosen not to exit QEMU afterwards because having the option is not harmful and before this patch it would be ignored anyway. By delaying the sanity check from compile-time with some ifdefs to run-time, -no-quit is now also properly supported when compiling without SDL. Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 787ba4f026f54d4fc7787078b896f9c5432c9a9b Author: Peter Wu <lekensteyn@xxxxxxxxx> Date: Mon Jun 10 20:04:43 2013 +0200 gtk: implement -full-screen Aiming for GTK as replacement for SDL, a feature like -full-screen should also be implemented. Bringing the window into full-screen mode is done by activating the "Fullscreen" menu item. This is done after showing the windows to make the cursor and menu hidden. v2: drop -no-frame implementation, use booleans instead of ints and ensure consistency between ui state and menu. Signed-off-by: Peter Wu <lekensteyn@xxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit b5601df7624b461759651c49ac72a189951780b9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:14:48 2013 +1000 char/serial: serial_ioport_write: Factor out common code These three lines are common to both FIFO and regular mode. Just factor them out to outside the if rather than replicate the same lines inside both if and else. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8e8638fa87ff045f5dadec7342301bf10de776ff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:13:27 2013 +1000 char/serial: Use generic Fifo8 Use the generic Fifo8 helper provided by QEMU, rather than re-implement privately. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7f4f0a227fe0b24c35d0898f9ae7d5909fb51137 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 15:12:09 2013 +1000 char/serial: cosmetic fixes. Some cosmetic fixes to char/serial fixing some checkpatch errors. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 9e5e2b23d301b1562677c6c115165eed6ce20a68 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Mon Jun 10 14:14:35 2013 +0100 curl: Whitespace only changes. Trivial patch to remove odd whitespace. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 5c9f43363a84fa13861ebc949ea2453cf7ab4ae3 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Jun 6 16:38:03 2013 +0000 intc/xilinx_intc: Use qemu_set_irq Use qemu_set_irq rather than if-elsing qemu_irq_(lower|raise). No functional change, just reduces verbosity. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 45f0b0434d51d4c7e4db05fe721fc61b9b6ef17d Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Jun 6 09:18:44 2013 -0400 configure: Disable host-bsd USB on FreeBSD It hasn't built since FreeBSD 8.x, and is disabled by a patch in the FreeBSD ports tree. FreeBSD is migrating to QEMU's libusb support. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 224ead2690cb89bf8edcca493e3b49857eac0d12 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Jun 6 08:53:35 2013 -0400 configure: remove ${config_host_ld} variable It was only used in one place (and already expanded in one other). Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit f3a22014e94dfaacb57277dafce66b41cd994869 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jun 6 01:14:54 2013 +0400 gitignore: unignore *.patch This partially reverts: commit 082369e62c5bbaba89f173c2b803bc24115bb111 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri Mar 22 16:44:13 2013 +0800 gitignore: ignore more files I'm not sure how this went in. The thing is that ignoring *.patch, in my opinion, is just wrong. Especially for downstreams who apply patches for real. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c58e6201fa38191313cd95c5342d3733bd3f612d Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Jun 5 19:08:59 2013 +0400 qemu-char: remove a few needless #includes This removes <syslog.h> since we don't use syslogging, and removes second, solaris-specific, include of <net/if.h> (which is included in a common part of the file) Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 11ed09cf0753c1288a97f00138fc4534135442bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 29 21:54:03 2013 +0200 memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting Pass any Error out into dump_init() and have it actually stop on errors. Whether it is unsupported on a certain CPU can be checked by looking for a NULL CPUClass::get_memory_mapping field. Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> [AF: Reverted changes to CPU loops] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1b3509ca5bbd8e7d2be92ac42196a3ee2e31cb03 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 16:48:29 2013 +0200 dump: Abstract dump_init() with cpu_synchronize_all_states() Instead of calling cpu_synchronize_state() for each CPU, call the existing cpu_synchronize_all_states() helper. Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6db297ea361f4e03c096a0f28f26b060f0060de5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jun 9 16:03:46 2013 +0200 cpu: Change default for CPUClass::get_paging_enabled() qemu_get_guest_memory_mapping() uses cpu_paging_enabled() to determine whether to use cpu_get_memory_mapping() to return mappings or whether to fall back to a simple identity map. Since by default CPUClass::get_memory_mapping() is not implemented, change the default to false to use the identity map by default. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2a78636bd204e389068d203473ec76558083b44b Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 11:54:40 2013 +0200 dump: Drop qmp_dump_guest_memory() stub and build for all targets qmp_dump_guest_memory() calls dump_init() and returns an Error when cpu_get_dump_info() returns an error, as done by the stub. So there is no need to have a stub for qmp_dump_guest_memory(). Enable the documentation of the always-present dump-guest-memory command. That way we can drop CONFIG_HAVE_CORE_DUMP and leave configure completely out of the picture for target CPU features. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c22d8e0448aecb48a91f3936419ad1b63fbb4a6a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 14:53:32 2013 +0200 memory_mapping: Drop qemu_get_memory_mapping() stub dump.c:dump_init() never checked for the return code anyway. If paging is not enabled, it will fall back to an identity map. If paging is enabled and getting memory mapping list is not implemented, qemu_get_guest_memory_mapping() will return an error. Since the targets not implementing memory mapping also don't implement dump support, we will not reach this code today and can worry about changing cpu_paging_enabled() default when the need arises. This allows us to drop CONFIG_HAVE_GET_MEMORY_SUPPORT. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a23bbfda75118eb738acce84afd64965934828f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 13:52:01 2013 +0200 cpu: Turn cpu_get_memory_mapping() into a CPUState hook Change error reporting from return value to Error argument. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> [AF: Fixed cpu_get_memory_mapping() documentation] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6d4d3ae77dbb756d454c2deb2ef844b0cc7bde7b Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 14:20:15 2013 +0200 memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h This will avoid issues with hwaddr and ram_addr_t when including sysemu/memory_mapping.h for CONFIG_USER_ONLY, e.g., from qom/cpu.h. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 444d55907871f88276a654fc7fdc8c7db95f4b59 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue May 28 13:28:38 2013 +0200 cpu: Turn cpu_paging_enabled() into a CPUState hook Relocate assignment of x86 get_arch_id to have all hooks in one place. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c51a944b7505ba827adc897d5452d2b54dbf86bb Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 16:57:52 2013 +0200 monitor: Simplify do_inject_mce() with qemu_get_cpu() Avoids an open-coded CPU loop. Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 31ccdde298d98b08526dc23059071c9086dec6c2 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jun 3 18:23:27 2013 +0200 target-i386: cpu: Fix potential buffer overrun in get_register_name_32() Spotted by Coverity, x86_reg_info_32[] is CPU_NB_REGS32 elements long, so accessing x86_reg_info_32[CPU_NB_REGS32] will be one element off array. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6b11322e0f724eb0649fdc324a44288b783023ad Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 27 17:23:55 2013 -0300 target-i386: Set level=4 on Conroe/Penryn/Nehalem The CPUID level value on Conroe, Penryn, and Nehalem are too low. This causes at least one known problem: the -smp "threads" option doesn't work as expect if level is < 4, because thread count information is provided to the guest on CPUID[EAX=4,ECX=2].EAX Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ffce9ebbb69363dfe7605585cdad58ea3847edf4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 27 17:23:54 2013 -0300 target-i386: Update model values on Conroe/Penryn/Nehalem CPU models The CPUID model values on Conroe, Penryn, and Nehalem are too conservative and don't reflect the values found on real Conroe, Penryn, and Nehalem CPUs. This causes at least one known problems: Windows XP disables sysenter when (family == 6 && model <= 2), but Skype tries to use the sysenter instruction anyway because it is reported as available on CPUID, making it crash. This patch sets appropriate model values that correspond to real Conroe, Penryn, and Nehalem CPUs. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 45053fdef54fa9aac1cc9b09f2a1d08af90b7b43 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 27 17:23:53 2013 -0300 pc: Create pc-*-1.6 machine-types Some CPU model fixes are going to be included and they will require compatibility properties in the pc-*-1.5 machine-types. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8de433cb0820dc1f387a2d580d255744aacd60cc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu May 30 17:09:34 2013 +0200 pc: Fix crash when attempting to hotplug CPU with negative ID QMP command "{ 'execute': 'cpu-add', 'arguments': { 'id': -1 }}" may cause QEMU SIGSEGV at: piix4_cpu_hotplug_req () ... g->sts[cpu_id / 8] |= (1 << (cpu_id % 8)); ... Since for PC in current implementation id should be in range [0...maxcpus) and maxcpus is already checked, add check for lower bound and error out on incorrect value. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 88f62c2b1deb466749e340a8a241975c509bd9b6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri May 17 10:41:20 2013 +0200 dump: Move stubs into libqemustub.a This allows us to drop CONFIG_NO_CORE_DUMP with its indirect dependency on CONFIG_HAVE_CORE_DUMP. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 7 15:19:53 2013 -0500 qemu-char: don't issue CHR_EVENT_OPEN in a BH When CHR_EVENT_OPENED was initially added, it was CHR_EVENT_RESET, and it was issued as a bottom-half: 86e94dea5b740dad65446c857f6959eae43e0ba6 Which we basically used to print out a greeting/prompt for the monitor. AFAICT the only reason this was ever done in a BH was because in some cases we'd modify the chr_write handler for a new chardev backend *after* the site where we issued the reset (see: 86e94d:qemu_chr_open_stdio()) At some point this event was renamed to CHR_EVENT_OPENED, and we've maintained the use of this BH ever since. However, due to 9f939df955a4152aad69a19a77e0898631bb2c18, we schedule the BH via g_idle_add(), which is causing events to sometimes be delivered after we've already begun processing data from backends, leading to: known bugs: QMP: session negotation resets with OPENED event, in some cases this is causing new sessions to get sporadically reset potential bugs: hw/usb/redirect.c: can_read handler checks for dev->parser != NULL, which may be true if CLOSED BH has not been executed yet. In the past, OPENED quiesced outstanding CLOSED events prior to us reading client data. If it's delayed, our check may allow reads to occur even though we haven't processed the OPENED event yet, and when we do finally get the OPENED event, our state may get reset. qtest.c: can begin session before OPENED event is processed, leading to a spurious reset of the system and irq_levels gdbstub.c: may start a gdb session prior to the machine being paused To fix these, let's just drop the BH. Since the initial reasoning for using it still applies to an extent, work around that by deferring the delivery of CHR_EVENT_OPENED until after the chardevs have been fully initialized, toward the end of qmp_chardev_add() (or some cases, qemu_chr_new_from_opts()). This defers delivery long enough that we can be assured a CharDriverState is fully initialized before CHR_EVENT_OPENED is sent. Also, rather than requiring each chardev to do an explicit open, do it automatically, and allow the small few who don't desire such behavior to suppress the OPENED-on-init behavior by setting a 'explicit_be_open' flag. We additionally add missing OPENED events for stdio backends on w32, which were previously not being issued, causing us to not recieve the banner and initial prompts for qmp/hmp. Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1370636393-21044-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b62cd318daaa3d94c150d87dc2c8466b9463cef5 Merge: 97f31cb... 9914fbe... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 10 11:37:47 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino (2) and Marcelo Tosatti (1) # Via Luiz Capitulino * luiz/queue/qmp: correct RTC_CHANGE_EVENT description (v2) MAINTAINERS: split Monitor (QMP/HMP) entry MAINTAINERS: new maintainers for qapi-schema.json Message-id: 1370634855-18337-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 97f31cbc71fc13b3091893313a555c3cf1ecb798 Merge: f7da9c1... c87826a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 10 11:37:39 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Jason Wang (1) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/net: tap: fix NULL dereference when passing invalid parameters to tap vmxnet3: fix NICState cleanup Message-id: 1370613288-14933-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7da9c17c114417911ac2008d0401084a5030391 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 7 13:24:17 2013 -0500 gtk: use better icon The current icon looks pretty terrible rendered in Gnome. This switches to a transparent SVG which looks much nicer. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4039736e6f7867a4f937145afec7ab56531c0be4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sun Jun 2 16:17:49 2013 +0100 softfloat: Fix shift128Right for shift counts 64..127 shift128Right would give the wrong result for a shift count between 64 and 127. This was never noticed because all of our uses of this function are guaranteed not to use shift counts in this range. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1370186269-24353-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc7d0e66741724216cc104034838eb34f0e94b8d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 17:06:55 2013 +0200 gdbstub: let the debugger resume from guest panicked state While in general we forbid a "continue" from the guest panicked state, it makes sense to have an exception for that when continuing in the debugger. Perhaps the guest entered that state due to a bug, for example, and we want to continue no matter what. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Message-id: 1370272015-9659-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26ac7a31fbf5522d2ca3f0e2e5b5c8e915701f66 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jun 3 17:06:54 2013 +0200 gdbstub: fix for commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc This commit used the wrong check to prevent an assertion failure. After this commit, you need to start a guest in the monitor, you cannot use anymore the "c" command in the debugger. This is undesirable. The commit's aim was to prevent a restart after a KVM internal error or something like that; use runstate_needs_reset() for that. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Message-id: 1370272015-9659-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4f293bd6e53739e089f33b458f70a9c4ac136b92 Author: Wendy Liang <jliang@xxxxxxxxxx> Date: Fri Jun 7 13:05:38 2013 +1000 xilinx_axidma: Do not set DMA .notify to NULL after notify If a stream notify function is not ready, it may re-populate the notify call- back to indicate it should be re-polled later. This break in this usage, as immediately following the notify() call, .notify is set to NULL. reverse the ordering of the notify call and NULL assignment accordingly. [PC: Reworked commit message] Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 4e298e46ddcbb3a2a653a582b54557b75180c625 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Jun 9 22:56:20 2013 +0200 xilinx_axienet: Fix bit mask code Obviously the code wanted to mask the lower bits but failed to do so because of a missing "<". cppcheck detected a conditional expression which was always true (1 < 7). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9914fbedf21f1ffd45af67c8f3fe8a2e8f7e7785 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Fri Jun 7 16:52:43 2013 -0300 correct RTC_CHANGE_EVENT description (v2) Fix RTC_CHANGE event description to match implementation. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 8899b4ae2d792967b7655d3081fb2994426e4658 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Jun 3 11:14:26 2013 -0400 MAINTAINERS: split Monitor (QMP/HMP) entry This entry doesn't reflect reality for a few years now. This commit splits it into Human Monitor (HMP), QAPI and QMP. Markus is dropped as a maintainer. This is what we have been for the last few years. Also, it's going to help me to offload some of this work to someone else in the near future. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Markus Armbruster <armbru@xxxxxxxxxx> commit 7810d29198790a805936e7a2f44c055184a56b0a Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Jun 3 11:11:53 2013 -0400 MAINTAINERS: new maintainers for qapi-schema.json I'm facing two problems lately wrt QMP patch review: increasingly lack of bandwidth and lack of background in so many different areas that are getting new QMP commands almost every week. In order to help me mitigate this problem, I'm adding Eric and Markus (besides me) as maintainers of the qapi-schema.json file. Markus has been an old timer reviewer. Eric is being the most active and prolific reviewer of QMP patches for some time now. I believe Markus and Eric will keep doing their work as before, but starting now I'll require the ACK of at least one of them before appling a patch/series that touches the qapi-schema.json file. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Markus Armbruster <armbru@xxxxxxxxxx> commit c87826a878be05208c3906eb9d5e1f37cff5e98e Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Jun 4 13:18:17 2013 +0800 tap: fix NULL dereference when passing invalid parameters to tap This patch forbid the following invalid parameters to tap: 1) fd and vhostfds were specified but vhostfd were not specified 2) vhostfds were specified but fds were not specified 3) fds and vhostfd were specified For 1 and 2, net_init_tap_one() will still pass NULL as vhostfdname to monitor_handle_fd_param(), which may crash the qemu. Also remove the unnecessary has_fd check. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Stefan Hajnoczi <shajnocz@xxxxxxxxxx> Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7387de16d0e4d2988df350926537cd12a8e34206 Merge: b8a75b6... e73fe2b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 7 08:40:52 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (19) and others # Via Stefan Hajnoczi * stefanha/block: (26 commits) hmp: add parameters device and -v for info block hmp: show ImageInfo in 'info block' qmp: add ImageInfo in BlockDeviceInfo used by query-block block: add image info query function bdrv_query_image_info() block: add snapshot info query function bdrv_query_snapshot_info_list() ide-test: Add FLUSH CACHE test case ide: Set BSY bit during FLUSH ide-test: Add enum value for DEV blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events Make qemu-io commands available in HMP qemu-io: Use the qemu version for -V qemu-io: Interface cleanup qemu-io: Move remaining helpers from cmd.c qemu-io: Move command_loop() and friends qemu-io: Move functions for registering and running commands qemu-io: Move qemu_strsep() to cutils.c qemu-io: Move 'quit' function qemu-io: Move 'help' function qemu-io: Factor out qemuio_command qemu-io: Split off commands to qemu-io-cmds.c ... Message-id: 1370606325-10680-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b8a75b6093309a43f9837bc2ce63bcf15a7b305f Merge: 8819c10... d1db1fa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jun 7 08:40:24 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Fix unsetting of indicators. s390x/css: Fix concurrent sense. Message-id: 1370592676-22532-1-git-send-email-cornelia.huck@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fef7fbc92496f5f6d2b7395263830bce15ebf410 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 7 14:45:17 2013 +0200 qdev: Drop FROM_QBUS() macro Use QOM cast macros I2C_BUS(), SSI_BUS(), PCI_BUS() instead. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4a17cc4f285d7ffe41847bf728cd88c736237416 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 7 13:49:13 2013 +0200 isa: QOM'ify ISADevice Rename its parent field and use DEVICE() where necessary. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2ae0e48d5fd2cb7c5bc5c392edf2dc33ac2959d0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jun 7 14:11:07 2013 +0200 isa: QOM'ify ISABus Rename its parent field and use ISA_BUS() where necessary. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d2628b7d18521dacd3d4d246602e9bb3fc2a43dd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 22:54:47 2012 +0100 i8259: Convert PICCommonState to use QOM realizefn Instead of having the parent provide PICCommonClass::init, let the children override DeviceClass::realize themselves. This pushes the responsibility of saving and calling the parent's realizefn to the children. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 49fdb0c1c42f02ab163206f34fcf59bb0815afa2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 22:38:13 2012 +0100 kvm/i8259: QOM'ify some more Introduce type constant. Prepares for PIC realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d1eebf4e3df8882d7be6377e1251123b6c16b9b0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 22:35:49 2012 +0100 i8259: QOM'ify some more Introduce type constant. Prepares for PIC realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a15d09127b104d1c35fc22bdd65263fe62462b30 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 18:47:58 2012 +0100 i8254: Convert PITCommonState to QOM realizefn Instead of having the parent provide PITCommonClass::init, let the children override DeviceClass::realize themselves. This pushes the responsibility for saving and calling the parent's realizefn to the children. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 58cd986422d7353e7fac56969ac59daab3cdca67 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 18:13:38 2012 +0100 kvm/i8254: QOM'ify some more Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for PIT realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3afe7e14a42309578d324df5fe1b303a496a8466 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 18:05:53 2012 +0100 i8254: QOM'ify some more Introduce type constant and avoid DO_UPCAST(). Prepares for PIT realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e73fe2b46c38776288415ce7bc8ba3fcd23721c4 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:28:01 2013 +0800 hmp: add parameters device and -v for info block With these parameters, user can choose the information to be showed, to avoid message flood in the monitor. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bd093a365e8d1437f437a48ddca3ed08283b3090 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:28:00 2013 +0800 hmp: show ImageInfo in 'info block' Now human monitor can show image details, include internal snapshot and backing chain info for every block device. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 553a7e871822d933beaefbd596f0e4eed1614373 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:27:59 2013 +0800 qmp: add ImageInfo in BlockDeviceInfo used by query-block Now image info will be retrieved as an embbed json object inside BlockDeviceInfo, backing chain info and all related internal snapshot info can be got in the enhanced recursive structure of ImageInfo. New recursive member *backing-image is added to reflect the backing chain status. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 43526ec8d1395fe4efbed15e9764b64641b95bcc Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:27:58 2013 +0800 block: add image info query function bdrv_query_image_info() This patch adds function bdrv_query_image_info(), which will retrieve image info in qmp object format. The implementation is based on the code moved from qemu-img.c, but uses block layer function to get snapshot info. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fb0ed4539c6f02fa9e5a3cf9df2549713451eeca Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 6 12:27:57 2013 +0800 block: add snapshot info query function bdrv_query_snapshot_info_list() This patch adds function bdrv_query_snapshot_info_list(), which will retrieve snapshot info of an image in qmp object format. The implementation is based on the code moved from qemu-img.c with modification to fit more for qmp based block layer API. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit db895a1e6a97e919f9b86d60c969377357b05066 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Nov 25 02:37:14 2012 +0100 isa: Use realizefn for ISADevice Drop ISADeviceClass::init and the resulting no-op initfn and let children implement their own realizefn. Adapt error handling. Split off an instance_init where sensible. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a3dcca567a1d4a5c79fb9c8fe2d9a21a4a7cebd5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 16:40:02 2013 +0200 cs4231a: QOM'ify some more Introduce type constant and cast macro. Replace reset hook with DeviceClass::reset callback. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 11c7549d836b3d3a4ccd903bbfdbdc942b9add52 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jun 6 16:02:26 2013 +0200 gus: QOM'ify some more Add type constant and cast macro. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 15:17:58 2013 +0200 ide-test: Add FLUSH CACHE test case This checks in particular that BSY is set while the flush request is in flight. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f68ec8379e88502b4841a110c070e9b118d3151c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jun 5 15:17:57 2013 +0200 ide: Set BSY bit during FLUSH The implementation of the ATA FLUSH command invokes a flush at the block layer, which may on raw files on POSIX entail a synchronous fdatasync(). This may in some cases take so long that the SLES 11 SP1 guest driver reports I/O errors and filesystems get corrupted or remounted read-only. Avoid this by setting BUSY_STAT, so that the guest is made aware we are in the middle of an operation and no ATA commands are attempted to be processed concurrently. Addresses BNC#637297. Suggested-by: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c27d565604038c1572b16dd1cd06e277e6ef02e2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 15:17:56 2013 +0200 ide-test: Add enum value for DEV Get rid of the magic number. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bf736fe34caba0688c9095c31b9d097ea15c1296 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 15:17:55 2013 +0200 blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 587da2c39c9ace168f4d01fa446a54ae998a2553 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:41 2013 +0200 Make qemu-io commands available in HMP It was decided to not make this command available in QMP in order to make clear that this is not supposed to be a stable API and should be used only for testing and debugging purposes. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02da386a2d7a020e80b0aed64769efa9dd42072a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:40 2013 +0200 qemu-io: Use the qemu version for -V Always printing 0.0.1 and never updating the version number wasn't very useful. qemu-io is released with qemu, so using the same version number makes most sense. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3d21994f9c511cb63220fef5abea164b83fbb997 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:39 2013 +0200 qemu-io: Interface cleanup Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0b613881ae8fc59359b3d91e666fea6c9b1e731b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:38 2013 +0200 qemu-io: Move remaining helpers from cmd.c Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d1174f13e78e2f43f7ae33d59b62b0b94468c8db Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:37 2013 +0200 qemu-io: Move command_loop() and friends Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c2cdf5c5892165cbe7d3567bff5930521bc52669 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:36 2013 +0200 qemu-io: Move functions for registering and running commands Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a38ed811474e953371f848233208c2026c2d1195 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:35 2013 +0200 qemu-io: Move qemu_strsep() to cutils.c Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e681be7eca0143fe7259ce8233fe5dd8898d072f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:34 2013 +0200 qemu-io: Move 'quit' function This one only makes sense in the context of the qemu-io tool, so move it to qemu-io.c. Adapt coding style and register it like other commands. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f18a834a92f0b490cefeb71410f3f25b969d336f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:33 2013 +0200 qemu-io: Move 'help' function No reason to treat it different from other commands. Move it to qemu-io-cmds.c, adapt the coding style and register it like any other command. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dd5832967ac3fe96bd5bf9f199639176998ead69 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:32 2013 +0200 qemu-io: Factor out qemuio_command It's duplicated code. Move it to qemu-io-cmds.c because it's not dependent on any static data of the qemu-io tool. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 797ac58cb2093ab9192d8998a1fef85d87cc8661 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:31 2013 +0200 qemu-io: Split off commands to qemu-io-cmds.c This is the implementation of all qemu-io commands that make sense to be called from the qemu monitor, i.e. everything except open, close and quit. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 734c3b85cb72d264ad2b38a87f30304e05de2cb1 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:30 2013 +0200 qemu-io: Don't use global bs in command implementations Pass in the BlockDriverState to the command handlers instead of using the global variable. This is an important step to make the commands usable outside of qemu-io. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cf49a6a00c19cabf4006d4f82bef26345043e7b5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:29 2013 +0200 qemu-io: Handle cvtnum() errors in 'alloc' Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b6e356aa25c81d928e1c463292048d29cf25f04e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:28 2013 +0200 qemu-io: Make cvtnum() a wrapper around strtosz_suffix() No reason to implement the same thing multiple times. A nice side effect is that fractional numbers like 0.5M can be used in qemu-io now. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5e00984aef7c1c317e27c0e8acf66526513c770f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:27 2013 +0200 cutils: Support 'P' and 'E' suffixes in strtosz() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a23818f4ff3d7981f49453b739f589e4205930b5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jun 5 14:19:26 2013 +0200 qemu-io: Remove unused args_command The original intention seems to be something with handling multiple images at once, but this has never been implemented and the only function ever registered is implemented to make everything behave like a "global" command. Just do that unconditionally now. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d1db1fa8dfcea9c62643f624f2a07d2fd375ce45 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Jun 5 17:13:05 2013 +0200 virtio-ccw: Fix unsetting of indicators. Interpretation of the ccws to register (configuration) indicators contained a thinko: We want to disallow reading from 0, but setting the indicator pointer to 0 is fine. Let's fix the handling for CCW_CMD_SET{,_CONF}_IND. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 8312976e73fce9689ab831c1da565ec413680cff Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Jun 5 16:54:05 2013 +0200 s390x/css: Fix concurrent sense. Fix an off-by-one error when indicating availablity of concurrent sense data. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 293c51a6ee369228633a8428ab689f14c045ff98 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Jun 5 10:33:14 2013 +0200 blockdev: reset werror/rerror on drive_del Paolo Bonzini <pbonzini@xxxxxxxxxx> suggested the following test case: 1. Launch a guest and wait at the GRUB boot menu: qemu-system-x86_64 -enable-kvm -m 1024 \ -drive if=none,cache=none,file=test.img,id=foo,werror=stop,rerror=stop -device virtio-blk-pci,drive=foo,id=virtio0,addr=4 2. Hot unplug the device: (qemu) drive_del foo 3. Select the first boot menu entry Without this patch the guest pauses due to ENOMEDIUM. The guest is stuck in a continuous pause loop since the I/O request is retried and fails immediately again when the guest is resumed. With this patch the error is reported to the guest. Note that this scenario actually happens sometimes during libvirt disk hot unplug, where device_del is followed by drive_del. I/O may still be submitted to the drive after drive_del if the guest does not process the PCI hot unplug notification. Reported-by: Dafna Ron <dron@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 56bbc2f967ce185fa1c5c39e1aeb5b68b26242e9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jun 4 09:53:19 2013 -0700 tcg: Remove redundant tcg_target_init checks We've got a compile-time check for the condition in exec/cpu-defs.h. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e85ef5381a512d8f781b862e8b5f9d4cbf0ba494 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jun 4 09:51:59 2013 -0700 tcg: Use QEMU_BUILD_BUG_ON for CPU_TLB_ENTRY_BITS Rather than a hand-coded version of the same thing. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3ffee3cd5fb29de2115bdcbde0a02f47ce69a24c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jun 4 14:47:26 2013 +0200 vmxnet3: fix NICState cleanup Use qemu_del_nic() instead of qemu_del_net_client() to correctly free the entire NICState. Cc: qemu-stable@xxxxxxxxxx Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8819c10b5d55d537d59a0ffd5d623f348fc36c47 Merge: a341619... 9cdf79d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 4 14:58:58 2013 -0500 Merge remote-tracking branch 'sstabellini/xen_fixes_20130603' into staging * sstabellini/xen_fixes_20130603: xen: use pc_init_pci instead of pc_init_pci_no_kvmclock xen: remove xen_vcpu_init xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional) xen_machine_pv: do not create a dummy CPU in machine->init main_loop: do not set nonblocking if xen_enabled() xen: simplify xen_enabled Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a3416197447e7846a927b6ccb4f1edb3a1982443 Merge: e47dccc... 5b91704... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 4 09:26:49 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (6) and others # Via Kevin Wolf * kwolf/for-anthony: block: dump snapshot and image info to specified output block: move qmp and info dump related code to block/qapi.c block: move snapshot code in block.c to block/snapshot.c block: drop bs_snapshots global variable qemu-iotests: make create_image() common qemu-iotests: make compare_images() common qemu-iotests: make cancel_and_wait() common qemu-iotests: make assert_no_active_block_jobs() common block: add block driver read only whitelist qemu-iotests: fix 054 cluster size help output Message-id: 1370349940-4703-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e47dccc64b6ca570e4db96fd5fdb3bef251eb559 Merge: 1713924... c3c4fe3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jun 4 09:26:29 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci: misc cleanups This includes some pci-related cleanups, and fw cfg cleanups which will be useful for on-going pci related work. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Sun 02 Jun 2013 02:46:52 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (8) and Laszlo Ersek (1) # Via Michael S. Tsirkin * mst/tags/for_anthony: pvpanic: use FWCfgState explicitly fw_cfg: fw_cfg is a singleton fw_cfg: add API to find FW cfg object fw_cfg: move typedef to qemu/typedefs.h refer to FWCfgState explicitly apic: rename apic specific bitopts firmware_abi: move to include/hw/nvram/ dec.c - move to pci-bridge q35: set fw_name Message-id: 1370202787-3712-1-git-send-email-mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5b91704469c0f801e0219f26458356872c4145ab Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Sat May 25 11:09:45 2013 +0800 block: dump snapshot and image info to specified output bdrv_snapshot_dump() and bdrv_image_info_dump() do not dump to a buffer now, some internal buffers are still used for format control, which have no chance to be truncated. As a result, these two functions have no more issue of truncation, and they can be used by both qemu and qemu-img with correct parameter specified. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f364ec65b56b69c55b674cb6560aa1fbbea9e013 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Sat May 25 11:09:44 2013 +0800 block: move qmp and info dump related code to block/qapi.c This patch is a pure code move patch, except following modification: 1 get_human_readable_size() is changed to static function. 2 dump_human_image_info() is renamed to bdrv_image_info_dump(). 3 in qmp_query_block() and qmp_query_blockstats, use bdrv_next(bs) instead of direct traverse of global array 'bdrv_states'. 4 collect_snapshots() and collect_image_info() are renamed, unused parameter *fmt in collect_image_info() is removed. 5 code style fix. To avoid conflict and tip better, macro in header file is BLOCK_QAPI_H instead of QAPI_H. Now block.h and snapshot.h are at the same level in include path, block_int.h and qapi.h will both include them. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit de08c606f9ddafe647b6843e2b10a6d6030b0fc0 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Sat May 25 11:09:43 2013 +0800 block: move snapshot code in block.c to block/snapshot.c All snapshot related code, except bdrv_snapshot_dump() and bdrv_is_snapshot(), is moved to block/snapshot.c. bdrv_snapshot_dump() will be moved to another file later. bdrv_is_snapshot() is not related with internal snapshot. It also fixes small code style errors reported by check script. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 29d782710f87f01991bfc85cd9bef7d15280a5e2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sat May 25 11:09:42 2013 +0800 block: drop bs_snapshots global variable The bs_snapshots global variable points to the BlockDriverState which will be used to save vmstate. This is really a savevm.c concept but was moved into block.c:bdrv_snapshots() when it became clear that hotplug could result in a dangling pointer. While auditing the block layer's global state I came upon bs_snapshots and realized that a variable is not necessary here. Simply find the first BlockDriverState capable of internal snapshots each time this is needed. The behavior of bdrv_snapshots() is preserved across hotplug because new drives are always appended to the bdrv_states list. This means that calling the new find_vmstate_bs() function is idempotent - it returns the same BlockDriverState unless it was hot-unplugged. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2499a096a2427f0a5c71750c9f79cf2d2d2d60f4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:37 2013 +0200 qemu-iotests: make create_image() common Both 030 and 041 use create_image(). Move it to iotests.py. Also drop ImageStreamingTestCase since the class now has no methods. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3a3918c396c5caeab35a7f51af905172a13d996a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:36 2013 +0200 qemu-iotests: make compare_images() common The iotests.compare_images() function returns True if two image files have the identical data. Previously this was implemented by converting images to raw and then comparing their contents using Python. Since "qemu-img compare" is now available and is more efficient, switch to it. This function will be reused by the 'drive-backup' test case. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2575fe16d257a1fb5f452391b868b3c3263a9aca Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:35 2013 +0200 qemu-iotests: make cancel_and_wait() common The cancel_and_wait() function has been duplicated in 030 and 041. Move it into iotests.py and let it return the event so tests can perform additional asserts. Note that 041's cancel_and_wait(wait_ready=True) is replaced by wait_ready_and_cancel(), which uses the new wait_ready() and cancel_and_wait() underneath. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ecc1c88efddb376687084c3387c38b3a458c5892 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 17:11:34 2013 +0200 qemu-iotests: make assert_no_active_block_jobs() common Tests 030 and 041 both use query-block-jobs to check whether any block jobs are active. Make this code common so that 'drive-backup' and other new feature tests will be able to reuse it. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b64ec4e4ade581d662753cdeb0d7e0e27aafbf81 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Wed May 29 19:35:40 2013 +0800 block: add block driver read only whitelist We may want to include a driver in the whitelist for read only tasks such as diagnosing or exporting guest data (with libguestfs as a good example). This patch introduces a readonly whitelist option, and for backward compatibility, the old configure option --block-drv-whitelist is now an alias to rw whitelist. Drivers in readonly list is only permitted to open file readonly, and returns -ENOTSUP for RW opening. E.g. To include vmdk readonly, and others read+write: ./configure --target-list=x86_64-softmmu \ --block-drv-rw-whitelist=qcow2,raw,file,qed \ --block-drv-ro-whitelist=vmdk Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8ddd08c5d1415a71f21157686d43f48ff14992b6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue May 28 11:19:51 2013 +0200 qemu-iotests: fix 054 cluster size help output Commit f3f4d2c09b9cf46903ba38425ec46c44185162bd added a hint to increase the cluster size when a large image cannot be created. Test 054 now has outdated output and fails because the golden output does not match. This patch updates the 054 golden output. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 171392406d8e230d62e5ebf4805f71460854b8ec Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 15:37:23 2013 -0500 gtk: don't use g_object_unref on GdkCursor It's not a GObject. Cc: Gerd Hoffman <kraxel@xxxxxxxxxx> Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> --- v1 -> v2 - Fix summary to agree with code (Peter) commit 41686a960805ed561158c7e4809f0c9f92f1d8ec Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 15:36:51 2013 -0500 gtk: don't resize window when enabling scaling Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 651eb0f41b793021f7de672de78892def5819fb9 Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Date: Fri May 31 16:52:18 2013 +0800 fix double free the memslot in kvm_set_phys_mem Luiz Capitulino reported that guest refused to boot and qemu complained with: kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument It is caused by commit 235e8982ad that did double free for the memslot so that the second one raises the -EINVAL error Fix it by reset memory size only if it is needed Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 25b483381adf4144bad3cf3f433b4658da5e15bb Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon May 20 16:16:16 2013 +0100 configure: Report unknown target names more helpfully If the user specifies a target list themselves, check each entry to make sure it's a target we recognise. This allows us to print a helpful error message, rather than falling through (where we would probably eventually end up hitting the uninformative "ERROR: Unsupported target CPU"). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1369062976-301-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e92f823b67d87aa96df01b0cb01f81ac71ec5e3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon May 20 16:16:15 2013 +0100 configure: Autogenerate default target list Autogenerate the default target list based on what files exist in default-configs; this allows us to remove one of the places that has to be kept up to date with a complete list of every target we support. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1369062976-301-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0ded1fe5f36765b97b15a7afebb6d04ddcc4771c Merge: 8b779b3... 95669e6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 13:24:25 2013 -0500 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging # By Peter Crosthwaite (20) and others # Via Peter Maydell * pmaydell/arm-devs.next: (24 commits) i.MX: Improve EPIT timer code. exynos4210.c: register rom_mem for memory migration hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region i.MX: split GPT and EPIT timer implementation sd/sd.c: Fix "inquiry" ACMD41 sd/sdhci:ADMA: fix interrupt sd/sdhci.c: Fix bdata_read DPRINT message sd/sdhci: Fix Buffer Write Ready interrupt sd/sdhci.c: Only reset data_count on new commands xilinx_spips: lqspi: Fix byte/misaligned access xilinx_spips: lqspi: Push more data to tx-fifo xilinx_spips: Multiple debug verbosity levels xilinx_spips: Debug msgs for Snoop state xilinx_spips: Fix striping behaviour xilinx_spips: Fix CTRL register RW bits xilinx_spips: lqspi: Dont touch config register xilinx_spips: Implement automatic CS xilinx_spips: Add automatic start support xilinx_spips: Trash LQ page cache on mode change xilinx_spips: Fix QSPI FIFO size ... Message-id: 1370277021-26129-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95669e69848eda87861e1ec3016562101542f543 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Mon Jun 3 17:17:46 2013 +0100 i.MX: Improve EPIT timer code. * Unify function and type naming * use dynamic cast whenever possible * simplify Debug printf. * use new style device intialization. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Message-id: 1369839656-24466-1-git-send-email-jcd@xxxxxxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6539ed21b1d5c93e8add2f7b2bf9856889e6d1ac Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Date: Mon Jun 3 17:17:46 2013 +0100 exynos4210.c: register rom_mem for memory migration Even if we do not register newly created RAM MemoryRegion for migration with vmstate_register_ram_global() function, ram_save_setup() still saves this region to snapshot file with empty idstr=="". Consequently this results in error during VM loading in ram_load(). Register rom_mem for migration. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Message-id: 1368199981-45292-3-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 11a5e48249d8c34211065c25ddf222f031a0338e Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Date: Mon Jun 3 17:17:46 2013 +0100 hw/arm/exynos4210.c: convert chipid_and_omr to an mmio region Exynos SoC was misusing memory_region_init_ram_ptr(): this interface can safely be used only for memory regions which size is a multiple of target page size. Change chipid_and_omr memory to an mmio region to fix this. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Message-id: 1368199981-45292-2-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a50c0d6f72830ca3016e63ded6ccfd4e951c172f Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 i.MX: split GPT and EPIT timer implementation There is no common code between these 2 timer implementation. So it is better to split them. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1368990197-19694-1-git-send-email-jcd@xxxxxxxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 37ab4a566816f518fb958ea49734d51d1ccbd227 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 sd/sd.c: Fix "inquiry" ACMD41 QEMU models two (of the three) ACMD41 has two modes, "inquiry" and "first". The selection logic for which of the two is incorrect - it compares != 0 for the entire argument value rather than only bits 23:0 as per the spec. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 3ef0a7fd1b2f3ebb23b4fdeabcc14caf3fad6d71.1369622254.git.peter.crosthwaite@xxxxxxxxxx Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1d32c26f28d6e25f447b8ba40440c7d228ed4006 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 sd/sdhci:ADMA: fix interrupt The end of transfer check was occurring and potentially returning before the interrupt flag was checked. This means the interrupt will be missed if it occurs on the last packet. Fix by checking for the interrupt before checking for the end of transfer. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 9969ec154777957ec738fc4e539d68e7494d0081.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 677ff2ae660b3a55f936a8836513cbab185f6e4f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:45 2013 +0100 sd/sdhci.c: Fix bdata_read DPRINT message This message was printing out the data in decimal only, which is not very friendly to the debugging developer. Add hex variant in parenthesis to make it consistent with other similar messages in this module. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: d624179649137832eaa8caa263ef9589b4395d5e.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit dcdb4cd8507d93ecad10ae54b28d9609453c0312 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 sd/sdhci: Fix Buffer Write Ready interrupt This interrupt is not risen after the last block is written to sd. It is mutually exclusive with the end of transfer conditions. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 7ca9fd3e03ce1bec94aff08f607c15a0ec3d3371.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 656f416c65d8ddbfd17500676865f0ac8f960801 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 sd/sdhci.c: Only reset data_count on new commands The data_count variable was being reset on every transfer, including DMA transfer resumptions. This is incorrect, it should only be set on a new command. Manifests as a bug when using ADMA and there is a timer delay between ADMA frames where the fifo is left in a non empty state. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 15a98609cc32315211b0963091a8efd67522e160.1369370934.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b0b7ae6259e96e775315357c813b74e85637bf32 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 xilinx_spips: lqspi: Fix byte/misaligned access The LQSPI bus attachment supports byte/halfword and misaligned accesses. Fixed. Refactored the LQSPI cache to be byte-wise instead of word wise accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 5ec47b13563ad2d22105a1f26186d7756718394b.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a66418f6f181ca6ee04e77896674253ff83db45e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:44 2013 +0100 xilinx_spips: lqspi: Push more data to tx-fifo Do 16 words per fifo flush. Increases performance and decreases debug verbosity. This data depth has no real hardware analogue, so just go with something that has reasonable performance. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 5621ee4621941d3639b5cacfdec26bd3148f31d5.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 4a5b6fa8d9bdeec71f4f92e8b7a31fc344ef512f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Multiple debug verbosity levels The debug printfs on every SPI operation is extremely verbose. Add a second level of debug for this. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: f63478b8e5b29cc011cdc10e29f8537bb2fc2b5e.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c37fc509d288ff693e42b2025451241fdd481948 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Debug msgs for Snoop state This is worth keeping track of when debugging the device model. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: d3b44ecf23d671798b062eee5dc362c716ea54cd.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9151da25a71a171d19beec107a8ee2066cb65e7c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Fix striping behaviour The QSPI controller was using byte-wide stripes when striping across the two flashes in dual parallel mode. The real hardware however uses individual bit striping. QEMU misbehaves in the (corner) case where data is written/read in dual-parallel mode and read/written back in single mode. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 718a61df1bf746ec06f6da44d12f8317af7b08ce.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2133a5f6b8f8941a6a3734c6c1990656553de76c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: Fix CTRL register RW bits The CTRL register was RAZ/WI on some of the RW bits. Even though the function behind these bits is invalid in QEMU, they should still be guest accessible. Fix. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: b7aaad93163ce4af0c428635804ac7b77a567b25.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 15408b428f5b4db56da555fbda4f1aaf40d77f4b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:43 2013 +0100 xilinx_spips: lqspi: Dont touch config register The LQSPI mode is supposed to work via the automatic CS mode feature rather than manipulate CS lines itself. Now that auto CS is implemented remove LQSPIs CS mode override logic. There is still a need to manipulate the U_PAGE bit in LQSPI config register to implement dual-stack mode however. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 000c8dd54df09523f17052638100722ef0f5a3af.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c4f08ffe134810307cebd66f2cbcffe5cd707915 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Implement automatic CS Implement the automatic CS control feature. If the MANUAL_CS bit is cleared then the chip select stay de-asserted as long as the tx FIFO is empty. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1d67383adc42761af715a93f161344b9284dfc9a.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e100f3be0cccc58692b3988ec2e35cd8b906ca05 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Add automatic start support SPI has a mode where it automatically starts based on tx fifo occupancy. Implemented. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: f4e9accb5de87b526fff6ed937f63278db76533b.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b5cd9143e78da8ea9e17fa523aacbedd267aae54 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Trash LQ page cache on mode change Invalidate the LQSPI cached page when transitioning into LQSPI mode. Otherwise there is a possibility that the controller will return stale data to the guest when transitioning back to LQ_MODE after a page program. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 677490a6ee1953fe5d366e599d665de645ac84db.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 10e60b35d04359fba1d759925018204527a1b9f5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:42 2013 +0100 xilinx_spips: Fix QSPI FIFO size QSPI has a bigger FIFO than the regular SPI controller. Differentiate between the two with correct FIFO sizes for each. This is the first piece of class data for SPIPS, so this patch sees the creation of the XilinxSPIPSClass definition and assoicated QOM constructs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: acee25dd5e203215cbc15ca5d3cb5d5b2efebe7b.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit abef5fa6438d654de59dfa083166f41a4067f6b7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: Add verbose LQSPI debug output You really need this is you want to track a guest banging on LQSPI. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 26e508da4af11058d37daa777064c9e5c2a69abb.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 3ea728d0c87011845666caedc582eaa9629797db Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: Inhibit interrupts in LQSPI mode The real hardware does not produce interrupts in LQSPI mode. Inhibit generation of interrupts when the LQ_MODE bit is set. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: dff794a06872009ea7e5733ce6adcff94d18bbd0.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 87920b44a1e04a45bf74ee0a88a2dfa51c65acdb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: Make interrupts clear on read By default these interrupts are clear on read. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 999ff0091ed3cc3969a431bf55c00ef934cecc8e.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6b91f0155b9338b7fa53d1d64f4e40c43a5d3bba Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Jun 3 17:17:41 2013 +0100 xilinx_spips: seperate SPI and QSPI as two classes Make SPI and QSPI different classes. QSPIPS is setup as a child of SPIPS. Only QSPI has the LQSPI functionality, so move all that to the child class. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 2cdd0cadb5ba77ca02fde5cae627852dc9a64c71.1369117359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9cdf79d068f52f7de347cb45cfd8903519410e4d Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon May 27 16:46:01 2013 +0000 xen: use pc_init_pci instead of pc_init_pci_no_kvmclock Call kvmclock_create only if kvmclock_enabled. Use pc_init_pci on Xen rather than pc_init_pci_no_kvmclock. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 95222d0945ac8e7fea2adf2fc927634ff3ea1389 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu May 30 16:52:44 2013 +0000 xen: remove xen_vcpu_init No need for xen_vcpu_init anymore: - the RTC emulator doesn't have any periodic timers continuously running even in absence of guest interactions anymore; - qemu_dummy_start_vcpu takes care of disabling TCG for us, so we don't need to do it manually here. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 9f24a8030a70ea4954b5b8c48f606012f086f65f Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:37:45 2013 +0000 xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional) We are currently setting the PCI hole to start at HVM_BELOW_4G_RAM_END, that is 0xf0000000. Start the PCI hole at 0xe0000000 instead, that is the same value used by pc_init1 and qemu-xen-traditional. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx commit 58ee9b0ae05d81c74d6869a25ce4263fc22ed809 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:38:31 2013 +0000 xen_machine_pv: do not create a dummy CPU in machine->init This fixes a regression introduced by: commit 62fc403f11523169eb4264de31279745f48e3ecc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 18:54:13 2013 +0200 target-i386: Attach ICC bus to CPU on its creation X86CPU should have parent bus so it could provide bus for child APIC. The commit makes it mandatory to pass a valid ICC bus to cpu_x86_create, but cpu_x86_init just passes NULL to it. xen_machine_pv uses cpu_x86_init, therefore it has been broken. This patch fixes the problem by removing the dummy CPU creation altogether from xen_init_pv, relying on the fact that QEMU can now cope with a machine without an emulated CPU. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> CC: imammedo@xxxxxxxxxx CC: qemu-stable@xxxxxxxxxx commit a7d4207d378069a5bb3175a131e8fdedd39ef97d Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:38:43 2013 +0000 main_loop: do not set nonblocking if xen_enabled() Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx commit 49fa9881b2358e390e9e9466ddde74e995927efa Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jun 3 15:38:48 2013 +0000 xen: simplify xen_enabled No need for preprocessor conditionals in xen_enabled: xen_allowed is always defined. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> CC: qemu-stable@xxxxxxxxxx commit 5866e078770cba631a33e6d3062afa7a4068adf8 Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Date: Thu May 30 18:50:50 2013 +0000 Fix rfe instruction The rfe instruction has been broken since patch 5a839c0d54fac9db0516904db873a4fe01f50f4b because of a typo. Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8b779b368b3b45d5ed3160173499eeafee4d567c Author: Ã?kos Kovács <akoskovacs@xxxxxxx> Date: Mon May 6 19:14:52 2013 +0200 po/hu.po: Hungarian translation for the GTK+ interface Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Ã?kos Kovács <akoskovacs@xxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1367860492-3357-1-git-send-email-akoskovacs@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 40459a0312569817f622926efd0780ef2299aaa1 Merge: 7087d3d... 37352df... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 08:37:54 2013 -0500 Merge remote-tracking branch 'kraxel/usb.83' into staging # By Gerd Hoffmann (5) and others # Via Gerd Hoffmann * kraxel/usb.83: xhci: add live migration support xhci: add xhci_init_epctx xhci: add xhci_alloc_epctx xhci: add XHCISlot->addressed pci: add VMSTATE_MSIX host-libusb: Correct test for USB packet state Fix usage of USB_DEV_FLAG_IS_HOST flag. Message-id: 1370253951-12323-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7087d3df18b8e8d27a2115dfc5d56614073e55de Merge: f10acc8... a4cc73d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jun 3 08:37:44 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Ed Maste (3) and others # Via Michael Tokarev * mjt/trivial-patches: do not check pointers after dereferencing them m25p80: Add Micron n25q032a qemu: fix out of tree cross compile slirp: cleanup leftovers from misc.h migration: Remove duplicate bandwidth_limit set docs: Fix typo and update file in migration configure: try pkg-config ncurses first rtc: remove rtc_set_date linux-user: Fix typo in comment configure: remove confusing file manipulation debugcon: fix compiler warning when open DEBUG_DEBUGCON debugcon: make debug message more readable debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON Remove unnecessary break statements don't run pkg-config for features explicitly disabled Message-id: 51A9CCFB.1000109@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 37352df30fbc38d1de464db8927536d5e36cf52a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 21 10:55:35 2013 +0100 xhci: add live migration support With all preparing pieces in place we can finally drop in the vmstate structs and the postload function. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 003e15a180373048f0c1f4df0bfe303746eb2676 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 10:11:22 2013 +0200 xhci: add xhci_init_epctx Factor out endpoint context initialization to a separate function. xhci live migration will need that too, in post_load. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 492b21f63fa655e0271abef4784cc337dd1d3fe7 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 09:33:35 2013 +0200 xhci: add xhci_alloc_epctx Factor out endpoint context allocation to a separate function. xhci live migration will need that too, in post_load. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4034e6938a4cba090a8fac02499c8a9567201665 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 12:37:32 2013 +0200 xhci: add XHCISlot->addressed Preparing for live-migration support, post_load will need that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 340b50c759d6b4ef33e514c40afcc799c0d7df7a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 7 15:16:58 2013 +0200 pci: add VMSTATE_MSIX Using a trick cut+pasted from vmstate_scsi_device to wind up msix_save and msix_load. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 45ec267160307ce2ca7494d942589ba222b29479 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Tue May 7 10:06:12 2013 -0400 host-libusb: Correct test for USB packet state USB_RET_ASYNC is -6, so inflight was always false. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 756335292f2b46775992c314cc70b54480a46d26 Author: Michael Marineau <mike@xxxxxxxxxxxx> Date: Sun May 12 19:19:37 2013 -0400 Fix usage of USB_DEV_FLAG_IS_HOST flag. USB_DEV_FLAG_IS_HOST is the bit number, not value. Booting with a "Fitbit Base Station" USB dongle was triggering this assert. Signed-off-by: Michael Marineau <mike@xxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f10acc8b38d65a66ffa0588a036489d7fa6a593e Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Sun Jun 2 17:23:00 2013 +0100 tcx: Fix 24-bit display mode Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit mode of the tcx display adapter by accidentally passing in the final address of the dirty region to memory_region_reset_dirty() instead of its size. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c3c4fe35be9f6c37388ba7615c6c33e8f4034438 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 15:59:06 2013 +0300 pvpanic: use FWCfgState explicitly Use the type-safe FWCfgState structure instead of the unsafe void *. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit cac122103abac633d7b39aac87273bf6d5a37588 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 16:21:24 2013 +0300 fw_cfg: fw_cfg is a singleton Make sure we only have a single instance ever: because if it isn't we can't find it so it's useless anyway. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 600c60b76d0682f6c39d19bfff79da9321e8cf86 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 16:07:58 2013 +0300 fw_cfg: add API to find FW cfg object Remove some code duplication by adding a function to look up the fw cfg file. This way, we don't need to duplicate same strings everywhere. Use by both fw cfg and pvpanic device. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 45936c8b79012da4c8986c20af4afcc9cd14bb8e Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 16:27:06 2013 +0300 fw_cfg: move typedef to qemu/typedefs.h Less header dependencies this way. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a88b362c6ffbb7a802bf0ed5ef0e2447164dc989 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Apr 16 02:24:08 2013 +0200 refer to FWCfgState explicitly Currently some places use pointer-to-void even though they mean pointer-to-FWCfgState. Clean them up. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit edf9735e40841298874ee308fdecca2ac2aa5bdf Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon May 13 14:11:02 2013 +0300 apic: rename apic specific bitopts apic has its own version of bitops, with the difference that it works on u32 and not long. Add apic_ prefix to avoid namespace clashes. We should look into reusing standard bitops long-term, but that's not entirely trivial. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ec0503b4f0a37b55fedc164185369bf5f0030f7b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 12:13:06 2013 +0300 firmware_abi: move to include/hw/nvram/ firmware_abi.h with structs for OpenBIOS landed in hw/sparc/ by mistake - move it to hw/nvram/ alongside fw_cfg.h. In addition to sparc it's included from ppc mac_nvram.c and will need to include it from prep.c in the future. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit cbef02f819b05112cb626a955d8c86e30afe6a9f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 12:09:20 2013 +0300 dec.c - move to pci-bridge Looks like dec.c is in pci-host by mistake. Moving it over to pci-bridge. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a4cc73d629d43c8a4d171d043ff229a959df3ca6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 31 14:00:27 2013 +0200 do not check pointers after dereferencing them Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-stable@xxxxxxxxxx Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit cd2e64ce306910f6a627d899e6779eda33f8511c Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Wed May 29 09:58:29 2013 -0400 m25p80: Add Micron n25q032a Based on the datasheet at http://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_32mb_1_8v_65nm.pdf Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a585140dd546ffb606ec506b362ab9decf1ab14e Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed May 29 23:30:43 2013 +1000 qemu: fix out of tree cross compile The symlink to "asm" platform linux headers is made in the build tree by the configure script but gcc is not told to look for them there. The patch fixes this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a9c34e4485ef0a8a61e88f1c9f9bb87f00ba2c72 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Tue May 28 00:46:10 2013 +0400 slirp: cleanup leftovers from misc.h There are quite a few leftover declarations in slirp/misc.h. Remove them. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 12cd30e9c026e03db908785276057c5a3d912596 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 27 18:33:02 2013 +0800 migration: Remove duplicate bandwidth_limit set bandwidth_limit is double set in migrate_init(), remove one. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7465dfeca065882c93424b23b14b2c9f31b16aa5 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 27 18:33:01 2013 +0800 docs: Fix typo and update file in migration This patch fix some typo and update the file that already moved. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit cfeda5f4b8710b6ba14131df8e287021b729b784 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Fri May 24 16:07:00 2013 -0400 configure: try pkg-config ncurses first When probing for ncurses, try pkg-config first rather than after explicit -lncurses and -lcurses. This fixes static linking in the case that ncurses has additional dependencies, such as -ltinfo (as on FreeBSD). Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d720e9831cab9934079d36a5fe3ebcdded4cb3a7 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed May 22 13:33:12 2013 +0800 rtc: remove rtc_set_date Since it's not defined and used anywhere. Cc: qemu-trivial@xxxxxxxxxx Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit d2d6b8576ccf0de429fb96ea6ab9669d8e916085 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 17:20:50 2013 +0800 linux-user: Fix typo in comment Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit cbc8d595ef21635b630dd1cad54eb730ae6620a1 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Wed May 22 09:21:39 2013 -0400 configure: remove confusing file manipulation The configure script had some code to manipulate config-host.ld~ (i.e., a common backup filename), comparing it with the newly-generated file. I believe the sense of the comparison was backwards. Since it seemed to serve little purpose anyway, remove it to avoid any confusion. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 668fca91d48a7d55a0e3911447b078679f2ce986 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri May 24 10:47:33 2013 +0800 debugcon: fix compiler warning when open DEBUG_DEBUGCON compiler warnings: CC hw/char/debugcon.o hw/char/debugcon.c: In function â??debugcon_ioport_writeâ??: hw/char/debugcon.c:58: warning: format â??%02xâ?? expects type â??unsigned intâ??, but argument 3 has type â??uint64_tâ?? hw/char/debugcon.c: In function â??debugcon_ioport_readâ??: hw/char/debugcon.c:70: warning: format â??%04xâ?? expects type â??unsigned intâ??, but argument 2 has type â??hwaddrâ?? Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e6ee28469fc41af5cc7d5b470ec9a1a078177fa7 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri May 24 10:47:32 2013 +0800 debugcon: make debug message more readable before change: Bdebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x74 tdebugcon: write addr=0x0000 val=0x69 idebugcon: write addr=0x0000 val=0x6e ndebugcon: write addr=0x0000 val=0x67 gdebugcon: write addr=0x0000 val=0x20 debugcon: write addr=0x0000 val=0x66 after change: B [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x74] t [debugcon: write addr=0x0000 val=0x69] i [debugcon: write addr=0x0000 val=0x6e] n [debugcon: write addr=0x0000 val=0x67] g [debugcon: write addr=0x0000 val=0x20] [debugcon: write addr=0x0000 val=0x66] Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 8c1f72da6b11051c48a642f7de7048956383e217 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri May 24 10:47:31 2013 +0800 debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON when use DEBUG_DEBUGCON, screen spits: debugcon: write addr=0x0000 val=0x00 Rdebugcon: write addr=0x0000 val=0x00 udebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 gdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 pdebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 rdebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 mdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 adebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 Oh, that's wrong, val is not always be 0. this bug caused by lack of length modifier for specifier 'x'. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 6681fca3fc5f44eff68a0c0b2e62694f8579ce28 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri May 24 12:19:25 2013 +0200 Remove unnecessary break statements Fix these warnings from cppcheck: hw/display/cirrus_vga.c:2603: hw/sd/sd.c:348: hw/timer/exynos4210_mct.c:1033: target-arm/translate.c:9886: target-s390x/mem_helper.c:518: target-unicore32/translate.c:1936: style: Consecutive return, break, continue, goto or throw statements are unnecessary. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit a3605bf696a30e793d375b6c4ff1fd88ec546010 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat May 25 13:17:21 2013 +0400 don't run pkg-config for features explicitly disabled We test pkg-config for curses and curl even if those are explicitly disabled. Move these tests inside `if "$feature" != "no"' sections. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit dec3fc9657e0682637de4d5a29d947284d01985c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed May 29 12:30:51 2013 -0700 target-i386: Fix aflag logic for CODE64 and the 0x67 prefix The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR. While fixing this, tidy and comment the code so that it's more obvious what's going on in setting both aflag and dflag. The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the constant zero when TARGET_X86_64 is undefined. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369855851-21400-1-git-send-email-rth@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 39c93c67c5995bd8db7a3fa3b95dcd4e6bc881a7 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu May 23 13:51:41 2013 +0200 s390/ipl: Fix spurious errors in virtio With the ccw ipl code sometimes an error message like "virtio: trying to map MMIO memory" or "Guest moved used index from %u to %u" appeared. Turns out that the ccw bios did not zero out the vring, which might cause stale values in avail->idx and friends, especially on reboot. Lets zero out the relevant fields. To activate the patch we need to rebuild s390-ccw.img as well. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Message-id: 1369309901-418-1-git-send-email-borntraeger@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0a1f348c429a6af0ba6448e5b3ae08dbc8e28696 Merge: 6c8df7a... f2e3978... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 31 11:33:02 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-2013-05-30' into staging # By Laszlo Ersek # Via Michael Roth * mdroth/qga-pull-2013-05-30: Makefile: create ".../var/run" when installing the POSIX guest agent qga: save state directory in ga_install_service() qga: remove undefined behavior in ga_install_service() qga: create state directory on win32 configure: don't save any fixed local_statedir for win32 qga: determine default state dir and pidfile dynamically osdep: add qemu_get_local_state_pathname() Message-id: 1369940341-9043-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c8df7a33ade90c8c96b01655520c7e9b69b46c0 Merge: cdf79b6... bff6347... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 31 11:32:32 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino (1) and others # Via Luiz Capitulino * luiz/queue/qmp: target-i386: Fix mask of pte index in memory mapping target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses qapi: pad GenericList value fields to 64 bits Message-id: 1370009905-4255-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cdf79b6454abe13aec89d4be7cf59b3e841a7faf Merge: fd21faa... fd8aaa7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 31 11:32:25 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/iommu-for-anthony: (22 commits) memory: add return value to address_space_rw/read/write memory: propagate errors on I/O dispatch exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses memory: correctly handle endian-swapped 64-bit accesses memory: split accesses even when the old MMIO callbacks are used memory: add big endian support to access_with_adjusted_size memory: accept mismatching sizes in memory_region_access_valid memory: add address_space_access_valid exec: implement .valid.accepts for subpages memory: export memory_region_access_valid to exec.c exec: introduce memory_access_size exec: introduce memory_access_is_direct exec: expect mr->ops to be initialized for ROM memory: assign MemoryRegionOps to all regions memory: move unassigned_mem_ops to memory.c memory: add address_space_translate memory: dispatch unassigned accesses based on .valid.accepts exec: do not use error_mem_read exec: make io_mem_unassigned private cputlb: simplify tlb_set_page ... Message-id: 1369947836-2638-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bff63471ced94e3a6de76b1a7375a875178d6cdc Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Date: Thu May 30 17:07:54 2013 +0200 target-i386: Fix mask of pte index in memory mapping Function walk_pte() needs pte index to calculate virtual address. However, pte index of PAE paging or IA-32e paging is 9 bit, so the mask should be 0x1ff. Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Reviewed-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit fbc2ed9518efcdcdcbf0adb9539c17a65addd20a Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue May 28 14:19:22 2013 -0400 target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses The code used to walk IA-32e page-tables, and possibly PAE page-tables, uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address. However, as we use a uint64_t to store the resulting address, that mask gets expanded to 0xfffffffffffff000 which not only ends up selecting reserved bits but also selects the XD bit (execute-disable) which happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to abort. This commit fixes that problem by replacing ~0xfff by a correct mask that only selects the address bit range (ie. bits 51:12). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> commit fd21faadb12669e24eaf0a277de61c24fcde4cac Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed May 29 16:30:01 2013 -0400 seccomp: add the asynchronous I/O syscalls to the whitelist In order to enable the asynchronous I/O functionality when using the seccomp sandbox we need to add the associated syscalls to the whitelist. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Message-id: 20130529203001.20939.83322.stgit@localhost Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 87f25c12bfeaaa0c41fb857713bbc7e8a9b757dc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu May 30 13:20:40 2013 +0200 gdbstub: do not restart crashed guest If a guest has crashed with an internal error or similar, detaching gdb (or any other debugger action) should not restart it. Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1369912840-18577-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bbfa18fca4e44ff9c23d36b50d8a998af9c9e9fc Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed May 29 15:56:42 2013 +0800 qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path Recent virtio refactoring in QEMU made virtio-bus become the parent bus of scsi-bus, and virtio-bus doesn't have get_fw_dev_path implementation, typename will be added to fw_dev_path by default, the new fw_dev_path could not be identified by seabios. It causes that bootindex parameter of scsi device doesn't work. This patch implements get_fw_dev_path() in BusClass, it will be called if bus doesn't implement the method, tyename will be added to fw_dev_path. If the implemented method returns NULL, nothing will be added to fw_dev_path. It also implements virtio_bus_get_fw_dev_path() to return NULL. Then QEMU will still pass original style of fw_dev_path to seabios. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1369814202-10346-1-git-send-email-akong@xxxxxxxxxx -- v2: only add nothing to fw_dev_path when get_fw_dev_path() is implemented and returns NULL. then it will not effect other devices don't have get_fw_dev_path() implementation. v3: implement default get_fw_dev_path() in BusClass Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f2e3978b5a72870b061d29948075dccc0a72db8e Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 07:13:14 2013 +0200 Makefile: create ".../var/run" when installing the POSIX guest agent Otherwise the default local state directory of POSIX qga won't exist after installation with a non-standard ${prefix} or DESTDIR. For now qga is the only user of ".../var" (= $qemu_localstatedir) too, so don't create that directory either unless we're installing the agent. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a839ee77c786a8200c76ca92f697eebf6bcc9aa3 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:53 2013 +0200 qga: save state directory in ga_install_service() If the user selects a non-default state directory at service installation time, we should remember it in the registered service. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a880845f3d92e508e43fcc38f0631b91c203e5d5 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:52 2013 +0200 qga: remove undefined behavior in ga_install_service() We shouldn't snprintf() from a buffer to the same buffer. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit bf12c1fa8c78e3c667f2fe2ecc656f4f3cfb914e Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:51 2013 +0200 qga: create state directory on win32 On Win32 the local state directory is application specific and users might expect qemu-ga to create it automatically. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5a699bbbf300902141d2458682d05cd310d7a07f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:50 2013 +0200 configure: don't save any fixed local_statedir for win32 ... because now we can get the dynamic value with qemu_get_local_state_pathname(). The only user of the fixed value was the guest agent, which we've moved to qemu_get_local_state_pathname() in the previous patch. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c394ecb7bf55b7234f852b9c8518aefb5d0943fa Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:49 2013 +0200 qga: determine default state dir and pidfile dynamically No effective change on POSIX, but on Win32 the defaults come from the environment / session. Since commit 39097daf ("qemu-ga: use key-value store to avoid recycling fd handles after restart") we've relied on the state directory for the fd handles' key-value store. Even though we don't support the guest-file-* commands on win32 yet, the key-value store is written, and it's the first use of the state directory on win32. We should have a sensible default for its location. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit e2ea3515a9d2d747f91dadf361afcbeb57a71500 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Sat May 18 06:31:48 2013 +0200 osdep: add qemu_get_local_state_pathname() This function returns ${prefix}/var/RELATIVE_PATHNAME on POSIX-y systems, and <CSIDL_COMMON_APPDATA>/RELATIVE_PATHNAME on Win32. http://msdn.microsoft.com/en-us/library/bb762494.aspx [...] This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. [...] Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 68c0e134a090666246b467deaf9046e573b089f2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu May 30 11:35:23 2013 +0300 q35: set fw_name PCI host bridges need to set fw_name to be discoverable by bios for boot device selection. In particular, seabios expects root device to be called "/pci/@i0cf8", so let's set it up like that for Q35. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Amos Kong <akong@xxxxxxxxxx> commit a678e26cbe89f7a27cbce794c2c2784571ee9d21 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Sun May 26 22:20:58 2013 -0500 qapi: pad GenericList value fields to 64 bits With the introduction of native list types, we now have types such as int64List where the 'value' field is not a pointer, but the actual 64-bit value. On 32-bit architectures, this can lead to situations where 'next' field offset in GenericList does not correspond to the 'next' field in the types that we cast to GenericList when using the visit_next_list() interface, causing issues when we attempt to traverse linked list structures of these types. To fix this, pad the 'value' field of GenericList and other schema-defined/native *List types out to 64-bits. This is less memory-efficient for 32-bit architectures, but allows us to continue to rely on list-handling interfaces that target GenericList to simply visitor implementations. In the future we can improve efficiency by defaulting to using native C array backends to handle list of non-pointer types, which would be more memory efficient in itself and allow us to roll back this change. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit fd8aaa767ab5d804c2aa156a616b8ca8837916b0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 21 09:56:55 2013 +0200 memory: add return value to address_space_rw/read/write Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 791af8c861f4537ad29c34df14fb81701e04596f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 16:10:39 2013 +0200 memory: propagate errors on I/O dispatch Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a649b9168cb9169b41532b168b94294e2be32e50 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:40:43 2013 +0200 exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses The memory API is able to split it in two 4-byte accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 968a5627c80ff2b9fd1ed40f9400897088bd661a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:58:37 2013 +0200 memory: correctly handle endian-swapped 64-bit accesses Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ce5d2f331ec42b43f92aa4c57fdaaf4c34ccb377 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:45:48 2013 +0200 memory: split accesses even when the old MMIO callbacks are used This is useful for 64-bit memory accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 08521e28c7e6e8cc1f53424a0f845f58d2ed9546 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:54:01 2013 +0200 memory: add big endian support to access_with_adjusted_size This will be used to split 8-byte access down to two four-byte accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a014ed07bd5a93950fe12c88ed5faf188a22ee01 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:48:52 2013 +0200 memory: accept mismatching sizes in memory_region_access_valid The memory API is able to use smaller/wider accesses than requested, match that in memory_region_access_valid. Of course, the accepts callback is still free to reject those accesses. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 51644ab70ba125cb9545702d64890743d75b444b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 15:40:59 2013 +0200 memory: add address_space_access_valid The old-style IOMMU lets you check whether an access is valid in a given DMAContext. There is no equivalent for AddressSpace in the memory API, implement it with a lookup of the dispatch tree. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c353e4cc08a2fce7c505dd0d04512ef3947adff8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:02:39 2013 +0200 exec: implement .valid.accepts for subpages Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d2702032b4746515cff0bf29891a6b6decfc3d86 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 11:55:06 2013 +0200 memory: export memory_region_access_valid to exec.c We'll use it to implement address_space_access_valid. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 82f2563fc81532e24380085d23a9d32c17b74169 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 11:59:43 2013 +0200 exec: introduce memory_access_size This will be used by address_space_access_valid too. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2bbfa05d20067de0d032d832ae22c1041f4c89c2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:29:54 2013 +0200 exec: introduce memory_access_is_direct After the previous patches, this is a common test for all read/write functions. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d17d45e95f497e67aa48ff9e49a4ad62bb1e17df Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 13:21:01 2013 +0200 exec: expect mr->ops to be initialized for ROM There is no need to use the special phys_section_rom section. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2cdfcf272d1a38e22879aecae83e95be51369b2d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 13:55:52 2013 +0200 memory: assign MemoryRegionOps to all regions This allows to remove the checks on section->readonly. Simply, write accesses to ROM will not be considered "direct" and will go through mr->ops without any special intervention. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d197063fcf969e1269dc53c9c9e9a073f87aa3b4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 13:23:38 2013 +0200 memory: move unassigned_mem_ops to memory.c reservation_ops is already doing the same thing. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 149f54b53b7666a3facd45e86eece60ce7d3b114 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 12:59:37 2013 +0200 memory: add address_space_translate Using phys_page_find to translate an AddressSpace to a MemoryRegionSection is unwieldy. It requires to pass the page index rather than the address, and later memory_region_section_addr has to be called. Replace memory_region_section_addr with a function that does all of it: call phys_page_find, compute the offset within the region, and check how big the current mapping is. This way, a large flat region can be written with a single lookup rather than a page at a time. address_space_translate will also provide a single point where IOMMU forwarding is implemented. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b018ddf633f77195e9ae859c6d940a334e68879f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:48:38 2013 +0200 memory: dispatch unassigned accesses based on .valid.accepts This provides the basics for detecting accesses to unassigned memory as soon as they happen, and also for a simple implementation of address_space_access_valid. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bf8d5166395612b4e856fad57606eb0cff97ae2e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:39:13 2013 +0200 exec: do not use error_mem_read We will soon reach this case when doing (unaligned) accesses that span partly past the end of memory. We do not want to crash in that case. unassigned_mem_ops and rom_mem_ops are now the same. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0844e007624acb6dbf45bfb232286ce9502b424e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:37:28 2013 +0200 exec: make io_mem_unassigned private There is no reason to avoid a recompile before accessing unassigned memory. In the end it will be treated as MMIO anyway. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8f3e03cb73dce9eac207cfe0f37d87d6490421a0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 16:45:30 2013 +0200 cputlb: simplify tlb_set_page The same "if" condition is repeated twice. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ae4e43e80f3e1e65d096ebbc643eed9d763e1441 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 17:14:05 2013 +0200 exec: drop useless #if This code is only compiled for softmmu targets. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2a8e7499093cd33a607ebd7c1cd591169aa68a3e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 24 14:34:08 2013 +0200 exec: eliminate io_mem_ram It is never used, the IOTLB always goes through io_mem_notdirty. In fact in softmmu_template.h, if it were, QEMU would crash just below the tests, as soon as io_mem_read/write dispatches to error_mem_read/write. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 87d23f78aa79b72da022afda358bbc8a8509ca70 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue May 28 13:20:23 2013 +0300 virtio-pci: drop unused wmb macro The implementation is wrong for kvm, and it's unused anyway. Drop it. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130528102023.GA30055@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 04129606170ec9011d4952b4f22c368679bedbf9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon May 27 15:28:51 2013 +0200 tests: set MALLOC_PERTURB_ to expose memory bugs glibc wipes malloc(3) memory when the MALLOC_PERTURB_ environment variable is set. The value of the environment variable determines the bit pattern used to wipe memory. For more information, see http://udrepper.livejournal.com/11429.html. Set MALLOC_PERTURB_ for gtester and qemu-iotests. Note we pick a random value from 1 to 255 to expose more bugs. If you need to reproduce a crash use 'show environment' in gdb to extract the MALLOC_PERTURB_ value from a core dump. Both make check and qemu-iotests pass with MALLOC_PERTURB_ enabled. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1369661331-28041-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dafb82e0fc89b631d25f8def649fbfd14fec3db2 Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:27 2013 -0700 pc_sysfw: allow flash (-pflash) memory to be used with KVM When pc-sysfw.rom_only == 0, flash memory will be usable with kvm. In order to enable flash memory mode, a pflash device must be created. (For example, by using the -pflash command line parameter.) Usage of a flash memory device with kvm requires KVM_CAP_READONLY_MEM, and kvm will abort if a flash device is used with an older kvm which does not support this capability. If a flash device is not used, then qemu/kvm will operate in the original rom-mode. Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369816047-16384-5-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 235e8982ad393e5611cb892df54881c872eea9e1 Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:26 2013 -0700 kvm: support using KVM_MEM_READONLY flag for regions For readonly memory regions and rom devices in romd_mode, we make use of the KVM_MEM_READONLY. A slot that uses KVM_MEM_READONLY can be read from and code can execute from the region, but writes will exit to qemu. For rom devices with !romd_mode, we force the slot to be removed so reads or writes to the region will exit to qemu. (Note that a memory region in this state is not executable within kvm.) v7: * Update for readable => romd_mode rename (5f9a5ea1) Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> (v4) Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> (v5) Message-id: 1369816047-16384-4-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit df9c8b758a04825e23f82427001028342b92d0cf Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:25 2013 -0700 kvm: add kvm_readonly_mem_enabled Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369816047-16384-3-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dade922f357c709c02eed2e1b1891453896756dd Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Wed May 29 01:27:24 2013 -0700 isapc: Fix non-KVM qemu boot (read/write memory for isapc BIOS) The isapc machine with seabios currently requires the BIOS region to be read/write memory rather than read-only memory. KVM currently cannot support the BIOS as a ROM region, but qemu in non-KVM mode can. Based on this, isapc machine currently only works with KVM. To work-around this isapc issue, this change avoids marking the BIOS as readonly for isapc. This change also will allow KVM to start supporting ROM mode via KVM_CAP_READONLY_MEM. Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369816047-16384-2-git-send-email-jordan.l.justen@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 338ea905e948613607c98346e127fc9472c57f0d Merge: 1afd566... db431f6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:13:20 2013 -0500 Merge remote-tracking branch 'aneesh/for-upstream' into staging # By Aneesh Kumar K.V (3) and Gabriel de Perthuis (1) # Via Aneesh Kumar K.V * aneesh/for-upstream: hw/9pfs: Be robust against paths without FS_IOC_GETVERSION hw/9pfs: Use O_NOFOLLOW when opening files on server hw/9pfs: use O_NOFOLLOW for mapped readlink operation hw/9pfs: Fix segfault with 9p2000.u Message-id: 87zjvevx4s.fsf@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1afd566ce921493a13b3878662b5320aab7645d0 Merge: 46a352a... 2ba9de6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:13:09 2013 -0500 Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging # By Peter Maydell # Via Andreas Färber * afaerber-or/cocoa-for-upstream: cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory cocoa: Avoid deprecated NSOpenPanel filename method cocoa: Avoid deprecated CPS* functions cocoa: Fix leaks of NSScreen and NSConcreteMapTable commit 46a352a7d7a47b3733ae76c0a0906d6934f81fc0 Merge: c199707... 60d9538... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:12:53 2013 -0500 Merge remote-tracking branch 'kraxel/chardev.6' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/chardev.6: chardev: fix "info chardev" output Revert "chardev: Get filename for new qapi backend" Message-id: 1369722844-24345-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c199707ad0dcbb4a72e7435551c7f23b9606a063 Merge: 6a4e177... 6683d7b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 29 08:12:25 2013 -0500 Merge remote-tracking branch 'kraxel/seabios-1.7.2.2' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2.2: update seabios to release 1.7.2.2 Revert "roms: switch oldnoconfig to olddefconfig" Message-id: 1369736932-16627-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ba9de6ed0455f5c55e4fb1841e1597204535430 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:49 2013 +0000 cocoa: Avoid deprecated NSOpenPanel beginSheetForDirectory In MacOSX 10.6 and above the NSOpenPanel beginSheetForDirectory method is deprecated. Use the preferred replacements instead. We retain the original code for use on earlier MacOSX versions because the replacement methods don't exist before 10.6. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 8bb3f1e3742ca8d26af7156e14068435437918a1 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:48 2013 +0000 cocoa: Avoid deprecated NSOpenPanel filename method Avoid the NSOpenPanel filename method (deprecated in MacOSX 10.6) in favour of using the URL method and extracting the path from the resulting NSUrl object. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 42a5dfe75f455fe7f3619ce44b7eb025ba631ee8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:47 2013 +0000 cocoa: Avoid deprecated CPS* functions The functions CPSGetCurrentProcess and CPSEnableForegroundOperation are deprecated in newer versions of MacOSX and cause warning messages to be logged to the system log. Instead, use the new preferred method of promoting our console process up to a graphical app with menubar and Dock icon, which is TransformProcessType. (This function came in with MacOSX 10.3, so there's no need to retain the old method as we don't support anything earlier than 10.3 anyway.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 6e657e64cdc478461c1e6a5e81c6d23115664326 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 22 10:29:46 2013 +0000 cocoa: Fix leaks of NSScreen and NSConcreteMapTable On MacOSX 10.8 QEMU provokes system log messages: 11/03/2013 17:03:29.998 qemu-system-arm[42586]: objc[42586]: Object 0x7ffbf9c2f3b0 of class NSScreen autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug 11/03/2013 17:03:29.999 qemu-system-arm[42586]: objc[42586]: Object 0x7ffbf9c3a010 of class NSConcreteMapTable autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug This is because we call back into Cocoa from threads other than the UI thread (specifically from the CPU thread). Since we created these threads via the POSIX API rather than NSThread, they don't have automatically created autorelease pools. Guard all the functions where QEMU can call back into the Cocoa UI code with autorelease pools so that we don't leak any Cocoa objects. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 6683d7bc2759e9da8b5c4907a9de85d500933ffb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 28 12:17:50 2013 +0200 update seabios to release 1.7.2.2 git shortlog from 1.7.2.1 Asias He (2): virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd} virtio-scsi: Set _DRIVER_OK flag before scsi target scanning Kevin O'Connor (1): Cache boot-fail-wait to avoid romfile access after POST. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 19cd090e17b293b49eec59346df94a668f5d2438 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 28 12:09:41 2013 +0200 Revert "roms: switch oldnoconfig to olddefconfig" This reverts commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181. Breaks "make bios" in roms/ as the kconfig version in seabios doesn't support olddefconfig. Must have been be totally untested. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit db431f6adc881a0758512cd765b3108209013512 Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Date: Fri May 10 19:53:28 2013 +0200 hw/9pfs: Be robust against paths without FS_IOC_GETVERSION 9P optionally uses the FS_IOC_GETVERSION ioctl to get information about a file's version (sometimes called generation number). The code checks for supported filesystems at mount time, but some paths may come from other mounted filesystems. Change it to treat unsupported paths the same as unsupported filesystems, returning 0 in both cases. Note: ENOTTY is the error code for an unsupported ioctl. This fix allows booting a linux kernel with the same / filesystem as the host; otherwise the boot fails when mounting devtmpfs. Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 0ceb092e35f9d8793d64d86194ec9463718dffa3 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 19:43:15 2013 +0530 hw/9pfs: Use O_NOFOLLOW when opening files on server 9p server should never follow a symlink. So use O_NOFOLLOW with all open syscall Tested-by: "M. Mohan Kumar" <mohan@xxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit aed858ce10ef09c7bdf03f73e75e772f567c74cd Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 17:28:29 2013 +0530 hw/9pfs: use O_NOFOLLOW for mapped readlink operation With mapped security models like mapped-xattr and mapped-file, we save the symlink target as file contents. Now if we ever expose a normal directory with mapped security model and find real symlinks in export path, never follow them and return proper error. Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit c7e587b73ebac05943df78f5f37d80d32ff47d3d Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 11:29:52 2013 +0530 hw/9pfs: Fix segfault with 9p2000.u When guest tries to chmod a block or char device file over 9pfs, the qemu process segfaults. With 9p2000.u protocol we use wstat to change mode bits and client don't send extension information for chmod. We need to check for size field to check whether extension info is present or not. Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Acked-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 60d95386abf1f5f37ded6a812d12ac458df2491b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 27 12:41:24 2013 +0200 chardev: fix "info chardev" output Fill unset CharDriverState->filename with the backend name, so 'info chardev' will return at least the chardev type. Don't touch it in case the chardev init function filled it already, like the socket+pty chardevs do for example. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3022e6b472d0f6d56efbe890e0f1c94841b170d4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 27 12:38:58 2013 +0200 Revert "chardev: Get filename for new qapi backend" Does not handle chardevs created via chardev-add monitor command. This reverts commit 2b220025993e76d4116781ca91a4fabc5ad9c722. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6a4e17711442849bf2cc731ccddef5a2a2d92d29 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Apr 14 18:10:28 2013 +0000 Remove Sun4c, Sun4d and a few CPUs Sun4c and Sun4d architectures and related CPUs are not fully implemented (especially Sun4c MMU) and there has been no interest for them. Likewise, a few CPUs (Cypress, Ross etc) are only half implemented. Remove the machines and CPUs, they can be re-added if needed later. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4f6ab397b60615d2da77bff4f32666be9ac2e949 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Fri May 24 19:01:07 2013 -0400 Remove OSS support for OpenBSD Remove the OSS support for OpenBSD. The OSS API has not been usable for quite some time. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5b35b4e91d4d023d44dc28437ae414a21e9b8117 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:03 2013 +0100 target-arm: Remove gen_{ld,st}* definitions All the uses of the gen_{ld,st}* functions are gone now, so remove the functions themselves. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e2592fad1720d848699f32e67882b611bbed2cb5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:02 2013 +0100 target-arm: Remove gen_{ld,st}* from thumb2 decoder Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c40c85560b6a9bf272dcc7de1beb8910f240bae8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:01 2013 +0100 target-arm: Remove gen_{ld,st}* from Thumb insns Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5a839c0d54fac9db0516904db873a4fe01f50f4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 13:00:00 2013 +0100 target-arm: Remove gen_{ld,st}* from basic ARM insns Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 94ee24e7fbb0d6d6fd63627c2e89d2513cb7b893 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:59 2013 +0100 target-arm: Remove use of gen_{ld,st}* from ldrex/strex Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 58ab8e96469955f8b575bfe1f6b1e992f8f36c0f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:58 2013 +0100 target-arm: Remove uses of gen_{ld,st}* from Neon code Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 29531141a7658cfb9f6e5f72a685c3859a5fff8b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:57 2013 +0100 target-arm: Remove uses of gen_{ld,st}* from iWMMXt code Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 8ed1237d6401e0bd9461417b58b07e545bbc4b7e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:56 2013 +0100 target-arm: Remove gen_ld64() and gen_st64() gen_ld64() and gen_st64() are used only in one place, so just expand them out. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 39d5492a186d156d4acc306ae258d7e04f8a6c29 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu May 23 12:59:55 2013 +0100 target-arm: Don't use TCGv when we mean TCGv_i32 TCGv changes size depending on the compile time value of TARGET_LONG_BITS. This is useful for generating code for MIPS style "instructions are the same but the register width changes" CPUs, and also for the generic bits of QEMU which operate on "width of a virtual address" values, but mostly in the ARM target code we were using it purely as a shorthand for "any 32 bit value". This needs to change in preparation for AArch64 support, since an AArch64-capable v8 core will have 64 bit virtual addresses but still use 32 bit values for the 32 bit instruction set. This patch mechanically converts all the occurrences of TCGv, tcg_temp_new(), tcg_temp_free(), tcg_temp_local_new() and TCGV_UNUSED() to their explicitly 32 bit counterparts. This is correct for everything except the arguments to tcg_gen_qemu_{ld,st}*, which really do need to be TCGv and so will require a 32-to-64 conversion when building the 32 bit code for AArch64. Those changes will be in a separate patch for easier review. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fd469df97ab4277411ecdd4032a2f045a3a87b2a Merge: 4a542df... fd29893... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 24 13:47:42 2013 -0500 Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging # By Paolo Bonzini (11) and others # Via Paolo Bonzini * bonzini/iommu-for-anthony: memory: clean up phys_page_find memory: populate FlatView for new address spaces memory: limit sections in the radix tree to the actual address space size s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62 memory: fix address space initialization/destruction memory: make memory_global_sync_dirty_bitmap take an AddressSpace memory: do not duplicate memory_region_destructor_none memory: Rename readable flag to romd_mode memory: Replace open-coded memory_region_is_romd memory: allow memory_region_find() to run on non-root memory regions memory: assert that PhysPageEntry's ptr does not overflow exec: eliminate stq_phys_notdirty exec: make qemu_get_ram_ptr private exec: eliminate qemu_put_ram_ptr exec: remove obsolete comment Message-id: 1369414987-8839-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a542df0910dff2caf17d6bb76bbf3704197db42 Merge: 4c5dad0... 00b7ade... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 24 13:47:33 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Alasdair McLeay (1) and Stefan Hajnoczi (1) # Via Stefan Hajnoczi * stefanha/net: rtl8139: flush queued packets when RxBufPtr is written net: support for bridged networking on Mac OS X Message-id: 1369406295-20411-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4c5dad040bce8f8c9924dc72cfac9380e4ffdc26 Merge: 64afc2b... 02ffb50... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 24 13:47:25 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Wenchao Xia (5) and others # Via Stefan Hajnoczi * stefanha/block: coroutine: stop using AioContext in CoQueue coroutine: protect global pool with a mutex qemu-iotests: Try creating huge qcow2 image qcow2.py: Subcommand for changing header fields qemu-io: Fix 'map' output blockdev: Rename BlockdevAction -> TransactionAction block: make all steps in qmp_transaction() as callback block: package rollback code in qmp_transaction() block: package committing code in qmp_transaction() block: move input parsing code in qmp_transaction() block: package preparation code in qmp_transaction() Message-id: 1369405947-14818-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd2989341e758813351c2fc1446cc8fbcae06ad9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 20 12:21:07 2013 +0200 memory: clean up phys_page_find Remove the goto. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f43793c7caab49c68b41c3b8524fc35b4c206856 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 16 15:39:51 2013 +0200 memory: populate FlatView for new address spaces Even a new address space might have a non-empty FlatView. In order to initialize it properly, address_space_init should (a) call memory_region_transaction_commit after the address space is inserted into the list; (b) force memory_region_transaction_commit to do something. This bug was latent so far because all address spaces started empty, including the PCI address space where the bus master region is initially disabled. However, the target address space of an IOMMU is usually rooted at get_system_memory(), which might not be empty at the time the IOMMU is created. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 86a8623692b1b559a419a92eb8b6897c221bca74 Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:45 2012 +0200 memory: limit sections in the radix tree to the actual address space size The radix tree is statically sized to fit TARGET_PHYS_ADDR_SPACE_BITS. If a larger memory region is registered, it will overflow. Fix by limiting any section in the radix tree to the supported size. This problem was not observed earlier since artificial regions (containers and aliases) are eliminated by the memory core, leaving only device regions which have reasonable sizes. An IOMMU however cannot be eliminated by the memory core, and may have an artificial size. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> [ Fail the build if TARGET_PHYS_ADDR_SPACE_BITS is too large - Paolo ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 311f83ca08c011b048c063c2fd3038a8957970bc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 15:54:44 2013 +0200 s390x: reduce TARGET_PHYS_ADDR_SPACE_BITS to 62 With the next patch, the memory API will complain if the TARGET_PHYS_ADDR_SPACE_BITS gets dangerously close to an overflow. s390x can handle up to 64 bit of physical address space from its page tables, but we never use that much. Just decrease the value. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4c19eb721a5929f2277d33a98bb59963c58c2e3b Author: Avi Kivity <avi.kivity@xxxxxxxxx> Date: Tue Oct 30 13:47:44 2012 +0200 memory: fix address space initialization/destruction A couple of fields were left uninitialized. This was not observed earlier because all address spaces were statically allocated. Also free allocation for those fields. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi.kivity@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1d671369c3f8eb2b5dfd0e1709688faba9b85f95 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 24 10:46:55 2013 +0200 memory: make memory_global_sync_dirty_bitmap take an AddressSpace Since this is a MemoryListener operation, it only makes sense on an AddressSpace granularity. Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5553e3a5c95f4a842489384a2fafb27d7555a4ef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 3 17:18:36 2013 +0200 memory: do not duplicate memory_region_destructor_none Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5f9a5ea1c0a8391033e7d33abd335dd804a1001a Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue May 7 19:04:25 2013 +0200 memory: Rename readable flag to romd_mode "Readable" is a very unfortunate name for this flag because even a rom_device region will always be readable from the guest POV. What differs is the mapping, just like the comments had to explain already. Also, readable could currently be understood as being a generic region flag, but it only applies to rom_device regions. So rename the flag and the function to modify it after the original term "ROMD" which could also be interpreted as "ROM direct", i.e. ROM mode with direct access. In any case, the scope of the flag is clearer now. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4b81126e3399bfbcc47a4d696902c93401169f72 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon May 6 18:07:05 2013 +0200 memory: Replace open-coded memory_region_is_romd Improves readability. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> commit 73034e9e087aa51b85cf86b6c81ef92f7e1e9d09 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 15:48:28 2013 +0200 memory: allow memory_region_find() to run on non-root memory regions memory_region_find() is similar to registering a MemoryListener and checking for the MemoryRegionSections that come from a particular region. There is no reason for this to be limited to a root memory region. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 68f3f65b09a1ce8c82fac17911ffc3bb6031ebe4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 7 11:30:23 2013 +0200 memory: assert that PhysPageEntry's ptr does not overflow While sized to 15 bits in PhysPageEntry, the ptr field is ORed into the iotlb entries together with a page-aligned pointer. The ptr field must not overflow into this page-aligned value, assert that it is smaller than the page size. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8b0d6711a276bdb9edcd9299b194c7c0d6b56a88 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 20 12:40:58 2013 +0200 exec: eliminate stq_phys_notdirty It is not used anywhere. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ee983cb3cc8f856b408a272269f434cc9a82ceff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 11:47:56 2013 +0200 exec: make qemu_get_ram_ptr private It is a private interface between exec.c and memory.c. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4f39178b3ab54538759df92a38655063f5d59301 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 11:44:02 2013 +0200 exec: eliminate qemu_put_ram_ptr Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bbcfd2913cdb8623d1c57fa26bf481f34bf7989a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 11 15:33:16 2013 +0200 exec: remove obsolete comment See how we call memory_region_section_addr two lines below to convert a physical address to a base address in the region. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 00b7ade807b5ce6779ddd86ce29c5521ec5c529a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed May 22 14:50:18 2013 +0200 rtl8139: flush queued packets when RxBufPtr is written Net queues support efficient "receive disable". For example, tap's file descriptor will not be polled while its peer has receive disabled. This saves CPU cycles for needlessly copying and then dropping packets which the peer cannot receive. rtl8139 is missing the qemu_flush_queued_packets() call that wakes the queue up when receive becomes possible again. As a result, the Windows 7 guest driver reaches a state where the rtl8139 cannot receive packets. The driver has actually refilled the receive buffer but we never resume reception. The bug can be reproduced by running a large FTP 'get' inside a Windows 7 guest: $ qemu -netdev tap,id=tap0,... -device rtl8139,netdev=tap0 The Linux guest driver does not trigger the bug, probably due to a different buffer management strategy. Reported-by: Oliver Francke <oliver.francke@xxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d73fe37e7bab4ef06b94c48b2a8d8952c03619d4 Author: Alasdair McLeay <alasdair.mcleay@xxxxxx> Date: Thu May 9 19:44:30 2013 +0100 net: support for bridged networking on Mac OS X tun tap can be implemented on Mac OS X using http://tuntaposx.sourceforge.net It behaves in the same way as FreeBSD/OpenBSD implementations, but Qemu needs a patch to use the OpenBS/FreeBSD code. As per the patch listed in this forum thread: http://forum.gns3.net/post17679.html#p17679 And also as used in the MacPorts installation: https://trac.macports.org/browser/trunk/dports/emulators/qemu/files/patch-net-tap-interface.diff Signed-off-by: Alasdair McLeay <alasdair.mcleay@xxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02ffb504485f0920cfc75a0982a602f824a9a4f4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri May 17 15:51:26 2013 +0200 coroutine: stop using AioContext in CoQueue qemu_co_queue_next(&queue) arranges that the next queued coroutine is run at a later point in time. This deferred restart is useful because the caller may not want to transfer control yet. This behavior was implemented using QEMUBH in the past, which meant that CoQueue (and hence CoMutex and CoRwlock) had a dependency on the AioContext event loop. This hidden dependency causes trouble when we move to a world with multiple event loops - now qemu_co_queue_next() needs to know which event loop to schedule the QEMUBH in. After pondering how to stash AioContext I realized the best solution is to not use AioContext at all. This patch implements the deferred restart behavior purely in terms of coroutines and no longer uses QEMUBH. Here is how it works: Each Coroutine has a wakeup queue that starts out empty. When qemu_co_queue_next() is called, the next coroutine is added to our wakeup queue. The wakeup queue is processed when we yield or terminate. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b84c4586234b26ccc875595713f6f4491e5b3385 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri May 17 15:51:25 2013 +0200 coroutine: protect global pool with a mutex The coroutine freelist is a global pool of unused coroutines. It avoids the setup/teardown overhead associated with the coroutine lifecycle. Since the pool is global, we need to synchronize access so that coroutines can be used outside the BQL. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bd91ecbf5b43b52321c4d938e16a612b9c68bf06 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 14:11:13 2013 +0200 qemu-iotests: Try creating huge qcow2 image It's supposed to fail gracefully instead of segfaulting. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c93331c9146719958a4b102435fcd0566da45ea2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 14:00:15 2013 +0200 qcow2.py: Subcommand for changing header fields Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a00e81e98f71c91a35b96bcd8ae431a86f42378d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 15:31:34 2013 +0200 qemu-io: Fix 'map' output The output of the 'map' command in qemu-io used to directly resemble bdrv_is_allocated() and could contain many lines for small chunks that all have the same allocation status. After this patch, they will be coalesced into a single output line for a large chunk. As a side effect, the command gains some error handling. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c8a83e8500329d82f1282c4905be11a39078007f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 13 10:43:43 2013 +0200 blockdev: Rename BlockdevAction -> TransactionAction There's no reason to restrict transactions to operations related to block devices, so rename the type now before schema introspection stops us from doing so. Also change the schema documentation of 'transaction' to not refer to block devices or snapshots any more. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ba0c86a34e29b31ef360feda74c94200a5403fdd Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:16 2013 +0800 block: make all steps in qmp_transaction() as callback Make it easier to add other operations to qmp_transaction() by using callbacks, with external snapshots serving as an example implementation of the callbacks. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 96b86bf72de0c6eda2799201517ef32910beb340 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:15 2013 +0800 block: package rollback code in qmp_transaction() Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3b0047e86a1c215d830b1ae1da0778db4636b83a Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:14 2013 +0800 block: package committing code in qmp_transaction() The code is simply moved into a separate function. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e2a31e8798e8246bed8ab396a71cd06bf95edde6 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:13 2013 +0800 block: move input parsing code in qmp_transaction() The code is moved into preparation function, and changed a bit to tip more clearly what it is doing. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9b9877ee9f1c27588a286f591852c0b7c0548b6a Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Wed May 8 18:25:12 2013 +0800 block: package preparation code in qmp_transaction() The code before really committing is moved into a function. Most code is simply moved from qmp_transaction(), except that on fail it just returns now. Other code such as input parsing is not touched, to make it easier in review. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 64afc2b4d48fb21e085517c38a59a3f61a11283c Merge: 95de21a... 70e098a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu May 23 14:16:34 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Michael Roth (10) and others # Via Luiz Capitulino * luiz/queue/qmp: monitor: allow to disable the default monitor ui/input.c: replace magic numbers with macros qapi: add native list coverage for QMP input visitor tests qapi: add native list coverage for QMP output visitor tests qapi: add native list coverage for visitor serialization tests qapi: fix visitor serialization tests for numbers/doubles qapi: add QMP input test for large integers json-parser: fix handling of large whole number values qapi: enable generation of native list code qapi: qapi-visit.py, native list support qapi: qapi-visit.py, fix list handling for union types qapi: qapi-types.py, native list support Message-id: 1369333232-24145-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 70e098af88f79340d420992af526254866a42ddd Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu May 16 12:02:55 2013 -0400 monitor: allow to disable the default monitor Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit b2d1674b75563326515cf2178cc1d0a002797a12 Author: Amos Kong <akong@xxxxxxxxxx> Date: Thu May 16 13:19:47 2013 +0800 ui/input.c: replace magic numbers with macros It's clearer to use defined macros than magic numbers. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Reviewed-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 199e0f17f23a68c8d619e9e623d970324ed5efc1 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:10 2013 -0500 qapi: add native list coverage for QMP input visitor tests This exercises schema-generated visitors for native list types and does some sanity checking on validity of deserialized data. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 83c84667f57637fe5a7a6fc9905d6a9e9589d3e5 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:09 2013 -0500 qapi: add native list coverage for QMP output visitor tests This exercises schema-generated visitors for native list types and does some sanity checking on validity of serialized data. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 8addacddfece619f1795fcf6cb9a3c49f800e7b9 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:08 2013 -0500 qapi: add native list coverage for visitor serialization tests Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 089f26bb735fb414b79f5fa3753910d5339d2a1d Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:07 2013 -0500 qapi: fix visitor serialization tests for numbers/doubles We never actually stored the stringified double values into the strings before we did the comparisons. This left number/double values completely uncovered in test-visitor-serialization tests. Fixing this exposed a bug in our handling of large whole number values in QEMU's JSON parser which is now fixed. Simplify the code while we're at it by dropping the calc_float_string_storage() craziness in favor of GStrings. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e92cfa0d90c618ff1f131c60ef1b27aa6fe69a0a Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:06 2013 -0500 qapi: add QMP input test for large integers Large integers previously got capped to LLONG_MAX/LLONG_MIN so we could store them as int64_t. This could lead to silent errors occuring. Now, we use a double to handle these cases. Add a test to confirm that QMPInputVisitor handles this as expected if we're expected an integer value: errors for out of range integer values that got promoted to doubles in this fashion. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 3d5b3ec6d460a92245215aaf7b349b0b9e5ffa25 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:05 2013 -0500 json-parser: fix handling of large whole number values Currently our JSON parser assumes that numbers lacking a fractional value are integers and attempts to store them as QInt/int64 values. This breaks in the case where the number overflows/underflows int64 values (which is still valid JSON) Fix this by detecting such cases and using a QFloat to store the value instead. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 0b400e792718f59275d5d54c21de9a589b35a81f Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:03 2013 -0500 qapi: enable generation of native list code Also, fix a dependency issue with libqemuutil: qemu-sockets.c needs qapi-types.c/qapi-visit.c Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 7c946bc418db6b2a11f89b3465424fef48f714eb Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:02 2013 -0500 qapi: qapi-visit.py, native list support Teach visitor generators about native types so they can generate the appropriate visitor routines. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c664aef551714e91b7d83a28617b6e767db30d11 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:01 2013 -0500 qapi: qapi-visit.py, fix list handling for union types Currently we assume non-list types when generating visitor routines for union types. This is broken, since values like ['Type'] need to mapped to 'TypeList'. We already have a type_name() function to handle this that we use for generating struct visitors, so use that here as well. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c0afa9c5f717d0ebf10c70c305974ebbffe4c71f Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri May 10 17:46:00 2013 -0500 qapi: qapi-types.py, native list support Teach type generators about native types so they can generate the appropriate linked list types. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 95de21a430f7bc4166a153b1f69b1425c8a99c7b Merge: 3459f01... d2ad502... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 22 08:22:36 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Christophe Lyon (1) and others # Via Michael Tokarev * mjt/trivial-patches: target-moxie: replace target_phys_addr_t with hwaddr Rename hexdump to avoid FreeBSD libutil conflict remove some double-includes translate: remove redundantly included qemu/timer.h Remove twice include of qemu-common.h fix /proc/self/maps output Message-id: 51977B44.1000302@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3459f01b2d9612070ec23221a4ccb60a41b775ae Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon May 13 14:20:02 2013 -0600 pci-assign: Add MSI affinity support To support guest MSI affinity changes update the MSI message any time the guest writes to the address or data fields. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130513201840.5430.86331.stgit@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 644c98587d4ccc09e7592e1688e4e7fa363c5a75 Author: Dmitry Fleytman <dfleytma@xxxxxxxxxx> Date: Mon May 20 11:18:14 2013 +0300 virtio-net: dynamic network offloads configuration Virtio-net driver currently negotiates network offloads on startup via features mechanism and have no ability to disable and re-enable offloads later. This patch introduced a new control command that allows to configure device network offloads state dynamically. The patch also introduces a new feature flag VIRTIO_NET_F_CTRL_GUEST_OFFLOADS. Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130520081814.GA8162@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b220025993e76d4116781ca91a4fabc5ad9c722 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue May 21 18:27:59 2013 +0800 chardev: Get filename for new qapi backend This patch sets the filename when the new qapi backend init from opts. The previous patch and discussions as link below: http://patchwork.ozlabs.org/patch/243896/ If anyone who have better idea to fix this please let me know your suggestions. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Message-id: 1369132079-11377-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a85e60cb994bd95d1537aafbff65816f3de4637 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue May 21 18:27:58 2013 +0800 chardev: Make the name of memory device consistent Now we have memory char device, but the backend name of it is a little confusion. We actually register it by 'memory', but the description in qemu-option, the name of open functions and the new api backend called it 'ringbuf'. It should keep consistent. This patch named it all to 'memory'. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1369132079-11377-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 17bf9735dd5a46d829cfb175703c6a2c254a9aa2 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Tue May 21 12:14:24 2013 -0400 ui/gtk.c: Fix *BSD build of Gtk+ UI Fix the build of the Gtk+ UI on *BSD systems. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 20130521161324.GA29977@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95916abcf428fb03644468c7fbce64356c6483c0 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed May 22 11:19:16 2013 +1000 qom/object: Don't poll cast cache for NULL objects object_dynamic_cast_assert used to be tolerant of NULL objects and not assert. It's clear from the implementation that this is the expected behavior. The preceding check of the cast cache dereferences obj however causing a segfault. Fix by conditionalizing the cast cache logic on obj being non-null. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 8e2bef6a55753869c50bfa32226f7fcf0439ca62.1369183592.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3d1bba20913356ff4f8ff2c38519f10c5f4b77e6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed May 22 13:01:43 2013 +1000 glib: Fix some misuses of gsize/size_t types This unbreaks cross compile builds: configure --target-list="i386-softmmu" --cpu=i386 When building on a 64bit machine. Reported-by: David Holsgrove <david.holsgrove@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 926326e96fd8685d74e9d5bf430fe4ad97a55289.1369191585.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1239b472bb0dba8060f1af29d40dafbc1b2860d4 Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Date: Fri May 17 14:51:21 2013 -0700 linux-user: Save the correct resume address for MIPS signal handling The current ISA mode needs to be saved in bit 0 of the resume address. If the current instruction happens to be in a branch delay slot, then the address of the preceding jump instruction should be stored instead. exception_resume_pc already does both of these tasks, so it is made available and reused. MIPS_HFLAG_BMASK in hflags is cleared, otherwise QEMU may treat the first instruction of the signal handler as a delay slot instruction. Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ea3164aafccdfdd8a9543787cdfa25fac30a5def Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Date: Fri May 17 14:51:20 2013 -0700 linux-user: Fix MIPS ISA transitions during signal handling Processors supporting the MIPS16 or microMIPS ISAs set bit 0 in target addresses to indicate that the target is written using a compressed ISA. During signal handling, when jumping to or returning from a signal handler, bit 0 of the destination PC is inspected and MIPS_HFLAG_M16 in hflags cleared or set accordingly. Bit 0 of the PC is then cleared. Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d8992825aedbb83b7a0e98284e0527bc82a6f7df Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon May 13 03:35:37 2013 +0200 target-mips: clean-up in BIT_INSV This is a small follow-up change to "fix incorrect behaviour for INSV". It includes two minor modifications: - sizefilter is constant so it can be moved inside of the block, - several lines of the code are replaced with a call to deposit64. No functional change. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9ce0e9275434bacdeba42dd32e0e8269293fe2cf Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 20 10:55:18 2013 -0500 Open up 1.6 development Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 371386fb60961e0afc02f03c817dff79633e323e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 20 07:22:02 2013 -0500 Update version for 1.5.0 release. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da4c1a7a850176cde4840eaec0a19c305843ad21 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Mon May 20 12:33:08 2013 +0200 osdep: fix qemu_anon_ram_free trace (+ fix compilation on 32 bit hosts) Commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 added a trace at each memory freeing, but unfortunately inverted size and pointer when printing them. Fix trace. This also led to a compilation error on 32 bit hosts: In file included from include/trace.h:4:0, from trace/generated-events.c:3: ./trace/generated-tracers.h: In function â??trace_qemu_anon_ram_freeâ??: ./trace/generated-tracers.h:64:9: error: format â??%zuâ?? expects argument of type â??size_tâ??, but argument 3 has type â??void *â?? [-Werror=format] ./trace/generated-tracers.h:64:9: error: format â??%pâ?? expects argument of type â??void *â??, but argument 4 has type â??size_tâ?? [-Werror=format] Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Message-id: 1369045989-14016-1-git-send-email-hpoussin@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3568ac2a6e6df89cea52a56f70b95af9e1251bbd Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu May 16 11:32:28 2013 -0400 Rename hexdump to avoid FreeBSD libutil conflict On FreeBSD libutil is used for openpty(), but it also provides a hexdump() which conflicts with QEMU's. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368718348-15199-1-git-send-email-emaste@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd2a2e1c552cb47ca196552457e175c889b58478 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon May 20 12:46:20 2013 +0200 vl: new runstate transition: RUN_STATE_GUEST_PANICKED -> RUN_STATE_FINISH_MIGRATE This fixes a problem that after guest panic happens, virsh dump without --memory-only fails: ERROR: invalid runstate transition: 'guest-panicked' -> 'finish-migrate' Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1369046780-17498-1-git-send-email-pbonzini@xxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 08d0ab3fe6bc9dfb80967a0b7d3109bc9ec7585b Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon May 20 14:51:03 2013 +0800 chardev: Make consistent with udp device for new qapi backend When register and open a chardev udp, the backend name should be udp not dgram, and we do not have backend dgram in the chardev list. This patch makes the new qapi udp backend consistent with the original udp device. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Message-id: 1369032665-18159-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9b5df6f0cee6b09ef3b2e5228761dd3c2cdcad7 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun May 19 13:22:11 2013 +0200 ide/macio: fix wrong opaque with TRIM support Commit 215e47b9 enabled TRIM by default, which revealed a bug in TRIM support for the IDE macio emulation driver, introduced in d353fb72. The call to dma_bdrv_io() is using a wrong opaque of type IDEState instead of DBDMA_io. This patch fixes that. Fixes LP#1179104 Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Tested-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 118d1e4f59c36078a0d76d090d4c16deace47233 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon May 13 17:14:35 2013 +0200 target-mips: set carry bit correctly in DSPControl register First we need to clear the bit and then we set the given value. Instruction ADDSC sets the bit and instruction ADDWC uses this bit. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0ba365f4a9752a82502e829a3e8cb5f03a1ffc0c Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Sat May 18 03:53:41 2013 +0200 target-mips: fix EXTPDP and setting up pos field in the DSPControl reg This change makes sure that modifications of pos field in the DSPControl register do not trash other bits in the register. This bug can be triggered with the additional test case in mips32-dsp/extpdp.c in this commit. In addition to this, this change corrects incorrect calculation of the mask for EXTPDP. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d2ad50210b35c2685640f7df931a0fccb49334f7 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed May 15 14:04:29 2013 +0800 target-moxie: replace target_phys_addr_t with hwaddr target_phys_addr_t has been already replaced by hwaddr, but this one is introduced after. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 3a8ae21bd07e8a02e6e2eb4896790a62f979acda Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu May 16 11:32:28 2013 -0400 Rename hexdump to avoid FreeBSD libutil conflict On FreeBSD libutil is used for openpty(), but it also provides a hexdump() which conflicts with QEMU's. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 997aba8e257d183e978e9b08a26aceb4e905378d Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Tue May 14 14:55:17 2013 +0400 remove some double-includes Some source files #include the same header more than once for no good reason. Remove second #includes in such cases. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7bc9315d3a6a3c7d437e1c3d0e826121a035444a Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Apr 30 10:59:50 2013 +0800 translate: remove redundantly included qemu/timer.h Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-By: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit ce3a4718fe8edbe56b485778a76e9393e4f27c0e Author: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Date: Wed May 8 12:39:01 2013 +0800 Remove twice include of qemu-common.h This patch is used to remove twice include of "qemu-common.h" in block/win32-aio.c Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e24fed4ed4cb006c76924dacb1274f71477b9e3c Author: Christophe Lyon <christophe.lyon@xxxxxxxxxx> Date: Tue Apr 2 14:03:38 2013 +0200 fix /proc/self/maps output Add a space at end of line when there is no filename to print, to conform to linux kernel format (see show_map_vma() in fs/proc/task_mmu.c). Signed-off-by: Christophe Lyon <christophe.lyon@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 489ed4bbae309a6d897f6e037481c4c04f0737b5 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon May 13 15:20:26 2013 +0200 target-mips: fix incorrect behaviour for EXTP The mask for EXTP instruction when size=31 has not been correctly calculated. The test (mips32-dsp/extp.c) has been extended to include the case that triggers the issue. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 91b96cdc5befe56e7d9651189d0cbf06fc3f3902 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 17 10:01:00 2013 -0500 Update version for 1.5.0-rc3 release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ce4cc31695ee7e647ef5a3a3c1258089794dcb83 Merge: 77417f1... 2b72001... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 17 10:00:30 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-2013-05-13' into staging * mdroth/qga-pull-2013-05-13: qga: unlink just created guest-file if fchmod() or fdopen() fails on it qga: distinguish binary modes in "guest_file_open_modes" map Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 77417f10701d330c7005b0f0a2c0cef9e05d430d Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Thu May 16 16:25:44 2013 -0500 Revert "migration: don't account sleep time for calculating bandwidth" This reverts commit 7161082c8d8cf167c508976887a0a63f4db92b51. Reverting this patch fixes a divide-by-zero error in qemu that can be fairly reliably triggered by doing block migration. In this case, the configuration/error was: source: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios -M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive file=disk1.img,if=virtio -drive file=disk2.img,if=virtio -device virtio-net-pci,netdev=net0 -netdev user,id=net0 -monitor unix:/tmp/vm-hmp.sock,server,nowait -qmp unix:/tmp/vm-qmp.sock,server,nowait -vnc :100 16837 Floating point exception(core dumped) target: temp/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -L temp-bios -M pc-i440fx-1.4 -m 512M -kernel boot/vmlinuz-x86_64 -initrd boot/test-initramfs-x86_64.img.gz -vga std -append seed=1234 -drive file=target_disk1.img,if=virtio -drive file=target_disk2.img,if=virtio -device virtio-net-pci,netdev=net0 -netdev user,id=net0 -incoming unix:/tmp/migrate.sock -monitor unix:/tmp/vm-hmp-incoming.sock,server,nowait -qmp unix:/tmp/vm-qmp-incoming.sock,server,nowait -vnc :101 Receiving block device images 20 % 21 % load of migration failed This revert potentially re-introduces a bug that was present in 1.4, but fixes a prevalent issue with block migration so we should revert it for now and take an updated patch later. Conflicts: migration.c * fixed up to remove logic introduced in 7161082c while leaving changes in HEAD intact Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Message-id: 1368739544-31021-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3cb8c205e36531a07dff1d8414c9e2cbf04c980b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 16 17:36:01 2013 +0200 main-loop: partial revert of 5e3bc73 This patch reverts part of 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f. Paolo Bonzini wrote this patch and commented: "WSAEventSelect is edge-triggered and the event will not be signaled if the socket handler does not consume all the data in the socket buffer." Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368718561-7816-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8db165b36ef893ac69af0452f20eeb78e7b26b5a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 16 17:36:00 2013 +0200 main-loop: narrow win32 pollfds_fill() event bitmasks pollfds_fill() and pollfds_poll() translate GPollFD to rfds/wfds/xfds for sockets on win32. select(2) is the underlying system call which is used to monitor sockets for activity. Currently file descriptors that monitor G_IO_ERR will be included in both rfds and wfds. As a result, select(2) will report writability on file descriptors where we only really wanted to monitor readability (with errors). slirp_pollfds_poll() hit this issue: UDP sockets are blocking sockets so we hang in sorecvfrom() when G_IO_ERR is set due to the socket being writable (we only wanted to check for readability). This patch fixes the slirp_pollfds_poll() hang. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1368718561-7816-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d46895b51103fa26c97ee0e0d895c004e9594d7 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu May 16 19:06:07 2013 +0200 virtio: add virtio_bus_get_dev_path. This adds virtio_bus_get_dev_path to fix migration id string which is wrong since the virtio refactoring. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368723967-21050-1-git-send-email-fred.konrad@xxxxxxxxxxxxx Cc: mdroth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c49fdf137f0ff74804e421f157297ab0ded5d012 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 15 16:38:35 2013 -0500 Update version for 1.5.0-rc2 release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6b41659f4eaf1daefd232a7eea6d96885eb52ee7 Merge: 8593e05... ad7f375... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 15 14:57:30 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Michael Roth (1) and Zhangleiqiang (1) # Via Luiz Capitulino * luiz/queue/qmp: qapi: fix leak in unit tests qmp: fix handling of cmd with Equals in qmp-shell Message-id: 1368625179-27962-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8593e050871c632e245190725b11f1e10c629ff2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 15 17:46:11 2013 +0200 qemu-common: Resolve vector build breakes for AltiVec On Mac OS X ppc, altivec.h defines "vector", leading to build breakage when used as variable name, e.g. in tracing code. Fix this by undefining identifiers after altivec.h inclusion. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Message-id: 1368632771-4328-1-git-send-email-andreas.faerber@xxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 262f27b93f459ec1dee4100015c109f5e1242091 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed May 15 15:00:39 2013 +0200 ide-test: Fix endianness problems The test case passes on big endian hosts now (tested on ppc64) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1368622839-7084-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 913b4b6bf39c97bc503a629b43c66d3270b5f3f5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 16:33:36 2013 +0100 hw/pci-host/versatile.c: Provide property for forcing broken IRQ mapping Although we try our best to automatically detect broken versions of Linux which assume the old broken IRQ mapping we used to implement for our model of the Versatile PCI controller, it turns out that some particularly new kernels manage to outwit the autodetection. We therefore provide a property for enabling the old broken IRQ mapping, so that if users happen to have such a kernel they can work around its deficiencies with the command line option: -global versatile_pci.broken-irq-mapping=1 Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368545616-22344-4-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc04d89165a4be6169cf44f1bdada9d48f8bad4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 16:33:35 2013 +0100 hw/pci-host/versatile.c: Update autodetect to detect newer kernels Newer versatilepb kernels still don't get the IRQ mapping right for the PCI controller, but they get it differently wrong (they add a fixed +64 offset to everything they write to PCI_INTERRUPT_LINE). Update the autodetection to handle these too, and include a more detailed comment on the various different behaviours that might be present. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368545616-22344-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 33201b51cbce9f18d6702a56429a4dbbe18a9961 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 16:33:34 2013 +0100 Revert "versatile_pci: Put the host bridge PCI device at slot 29" This reverts commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6. It turns out that some kernels incorrectly depend on the old QEMU behaviour of not putting the host PCI bridge device where the hardware puts it, because they use a swizzling IRQ mapping which is incorrect but happens to match up with old broken QEMU when the slot number mod 4 is zero. Since we start PCI devices at 11, if we put the host bridge at 29 then the first real PCI device goes at 11 and doesn't work. Not putting the host bridge at 29 means it defaults to 11, so the first real PCI device is at 12 and works. Since continuing with the old behaviour doesn't cause problems for kernels which do work with hardware, the simplest fix for this is to revert the change. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368545616-22344-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1405b6290fa2143e02dcede90b116d8d663ae669 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat May 11 21:46:58 2013 +0200 w32: Fix configure test for -march=i486 The latest version of MinGW needs a test for __sync_val_compare_and_swap to fix a missing symbol linker error. Reported-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1368301619-32097-2-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2d16c8e9885d4344a264c68feae28ae1e5f1c993 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue May 14 21:36:39 2013 +0100 configure: Detect uuid on MacOSX (fixes compile failure) Commit 7791dba3ec broke compilation on MacOSX, because it introduced a new include of util.h. On MacOSX this includes pwd.h which in turn includes the system uuid/uuid.h, which causes a compile failure if QEMU was configured without CONFIG_UUID due to a conflict between the system header and our fallback versions: block/vdi.c:124:20: error: static declaration of 'uuid_generate' follows non-static declaration static inline void uuid_generate(uuid_t out) ^ /usr/include/uuid/uuid.h:63:6: note: previous declaration is here void uuid_generate(uuid_t out); ^ Fix this breakage by improving configure's check for uuid to work on MacOSX (where there is no need to link in a separate libuuid). Note that if the user explicitly runs configure with '--disable-uuid' on MacOSX then QEMU will fail to compile. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1368563799-22755-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1483adcf6ac978656718d4383d909c96dce395a6 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Wed May 15 16:20:40 2013 +0800 vnc: Make ledstate comparison before modifiers updated The ledstate should be compared before modifiers updated, otherwise the ledstate would be the same as current_led_state. Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1368606040-11950-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 800ced8cac361c5d492ac82c4aa344ff769ecf2e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed May 15 14:12:50 2013 +0200 virtio-net-x: forward the netclient name and type. This forwards the name and the type of virtio-net-x to fix the bad behaviour of "info network" command. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1368619970-23892-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8a253ec26ec6eb636c962a47767370f6032b8cf5 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed May 15 14:12:49 2013 +0200 virtio-net: add virtio_net_set_netclient_name. This adds virtio_net_set_netclient_name, which is used to set the name and type shown in "info network" command. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1368619970-23892-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ad7f375df681503baa6ebef065818868e1216976 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Thu May 9 21:20:57 2013 -0500 qapi: fix leak in unit tests qmp_output_get_qobject() increments the qobject's reference count. Since we currently pass this straight into qobject_to_json() so we can feed the data into a QMP input visitor, we never actually free the underlying qobject when qmp_output_visitor_cleanup() is called. This causes leaks on all of the QMP serialization tests. Fix this by holding a pointer to the qobject and decref'ing it before returning from qmp_deserialize(). Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 74bc9066bc2cf61dd12994ea3b73401d33112656 Author: Zhangleiqiang <zhangleiqiang@xxxxxxxxxx> Date: Mon May 6 08:31:23 2013 +0000 qmp: fix handling of cmd with Equals in qmp-shell qmp: fix handling of cmd with equal mark in qmp-shell qmp-shell splits the argument and value of input command by equal mark("="). But there are commands whose values include equal mark themselves, and the json built by qmp-shell will not correct. For example, when using NBD as the target of block-backup command, the input "block-backup target=nbd+unix:///drive0?socket=/tmp/nbd.sock" will fail, because the json built will be as follows: { "execute":"block-backup", "arguments":{"target":"nbd+unix:///drive0?socket"} } Fix it by joining the sections split by equal mark excluding the first section in __build_cmd function when the length of sections is larger than two. Signed-off-by: zhangleiqiang <zhangleiqiang@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 110db9b48c0a6379fca122801c3ae48e349aa6d4 Merge: e7a09b9... f3f4d2c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 14 10:24:37 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf # Via Stefan Hajnoczi * stefanha/block: block: Add hint to -EFBIG error message qcow2: Catch some L1 table index overflows Message-id: 1368543269-29784-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f3f4d2c09b9cf46903ba38425ec46c44185162bd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 14 16:14:34 2013 +0200 block: Add hint to -EFBIG error message The limit of qcow2 files at least depends on the cluster size. If the image format has a cluster_size option, suggest to increase it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2cf7cfa1cde6672b8a35bbed3fbc989f28c05dce Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 14 16:14:33 2013 +0200 qcow2: Catch some L1 table index overflows This catches the situation that is described in the bug report at https://bugs.launchpad.net/qemu/+bug/865518 and goes like this: $ qemu-img create -f qcow2 huge.qcow2 $((1024*1024))T Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976 encryption=off cluster_size=65536 lazy_refcounts=off $ qemu-io /tmp/huge.qcow2 -c "write $((1024*1024*1024*1024*1024*1024 - 1024)) 512" Segmentation fault With this patch applied the segfault will be avoided, however the case will still fail, though gracefully: $ qemu-img create -f qcow2 /tmp/huge.qcow2 $((1024*1024))T Formatting 'huge.qcow2', fmt=qcow2 size=1152921504606846976 encryption=off cluster_size=65536 lazy_refcounts=off qemu-img: The image size is too large for file format 'qcow2' Note that even long before these overflow checks kick in, you get insanely high memory usage (up to INT_MAX * sizeof(uint64_t) = 16 GB for the L1 table), so with somewhat smaller image sizes you'll probably see qemu aborting for a failed g_malloc(). If you need huge image sizes, you should increase the cluster size to the maximum of 2 MB in order to get higher limits. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e7a09b92b70786f9e8c5fbf787e0248c6ebbe707 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 16:19:56 2013 +0200 osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory We switched from qemu_memalign to mmap() but then we don't modify qemu_vfree() to do a munmap() over free(). Which we cannot do because qemu_vfree() frees memory allocated by qemu_{mem,block}align. Introduce a new function that does the munmap(), luckily the size is available in the RAMBlock. Reported-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1368454796-14989-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6eebf958abf3f3f701116d4524ef88bb9fd6e341 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 13 16:19:55 2013 +0200 osdep, kvm: rename low-level RAM allocation functions This is preparatory to the introduction of a separate freeing API. Reported-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1368454796-14989-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d34dc45d34618aa2495e892caba62a4aa521b386 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 14 12:15:54 2013 +0200 readline: Handle xterm escape sequences for Home/End keys This fixes the Home/End keys in the monitor using the GTK frontend. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1368526554-15866-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7791dba3ec10ab7daa7cfecf84c617594c9776cc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 14:05:21 2013 +0200 portability: pty.h is glibc-specific This should fix building the GTK+ front-end on BSDs. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368533121-30796-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d8e846e17cae31bfeee49d4da8a010fad3901cd9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue May 14 14:12:25 2013 +0200 spitz: fix compilation failure due to pty.h namespace pollution pty.h is polluting the global namespace with a CTRL macro. spitz thus fails compilation with the patch at http://article.gmane.org/gmane.comp.emulators.qemu/211337 and this patch fixes it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368533545-650-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2d3b989529727ccace243b953a181fbae04a30d1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue May 14 14:29:04 2013 +0200 acpi: add dummy write function for acpi timer Otherwise the guest can crash qemu (NULL pointer dereference). https://bugzilla.redhat.com/show_bug.cgi?id=947691 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1368534544-11826-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 035873283b3f7514ad77d409870ccfd5f9680d9e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 13 15:22:24 2013 -0500 qom: aggressively optimize qom casting This patch adds a small typename cache to ObjectClass. This allows caching positive casts within each ObjectClass. Benchmarking a PPC workload provided by Aurelien, this patch eliminates every single g_hash_table_lookup() happening during the benchmark (which was about 2 million per-second). With this patch applied, I get exactly the same performance (within the margin of error) as with --disable-qom-cast-debug. N.B. it's safe to cache typenames only from the _assert() macros because they are always called with string literals. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b087143b4d010451208264b7c841436aafe1cbb1 Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri May 10 18:59:45 2013 +0400 ui/gtk.c: do not use gdk_display_warp_pointer when GTK ver >3.0 Commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe "gtk: custom cursor support" introduced unconditional usage of gdk_display_warp_pointer(). This function is marked as deprecated since GTK-3.0, and triggers warning (error with -Werror) during compilation. Conditionally change gdk_display_warp_pointer() method usage to gdk_device_warp usage, as suggested by compiler. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 1368197985-44608-1-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9e1c2ec8fd8d9a9ee299ea86c5f6c986fe25e838 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:38:03 2013 +0200 Revert "pc: Kill the "use flash device for BIOS unless KVM" misfeature" This reverts commit 9953f8822cc316eec9962f0a2858c3439a80adec. While Markus's analysis is entirely correct, there are 1.6 patches that fix the bug for real and without requiring machine type hacks. Let's think of the children who will have to read this code, and avoid a complicated mess of semantics that differ between <1.5, 1.5, and >1.5. Conflicts: hw/i386/pc_piix.c hw/i386/pc_q35.c include/hw/i386/pc.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1368189483-7915-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3556c233d931ad5ffa46a35cb25cfc057732ebb8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:40 2013 +0200 qom: allow turning cast debugging off Cast debugging can have a substantial cost (20% or more). Instead of adding special-cased "fast casts" in the hot paths, we can just disable it in releases. The tracing facilities we just added make it easier to analyze those problems that cast debugging would reveal. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-7-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fa131d94a5c00c6bbea39358d4bca7bf98f6c1f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:39 2013 +0200 qom: trace asserting casts This provides a way to detect the cast that leads to a (reproducible) crash even when QOM cast debugging is disabled. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be17f18b8cd438be7f8f65000c0baecdd5b34634 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:38 2013 +0200 qom: pass file/line/function to asserting casts Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 793c96b5403233fd9935c94b2af6d557c297a088 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:37 2013 +0200 qom: add a fast path to object_class_dynamic_cast For leaf classes, in many cases the callbacks will simply downcast the object back to the original class. Add this fast path to object_class_dynamic_cast, object_dynamic_cast will inherit it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bf0fda346694db1eddecff1d74ff9f4d5eba3461 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:36 2013 +0200 qom: allow casting of a NULL class This mimics what we do in object_dynamic_cast_assert. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 33bc94eb209864b4aef7f341f0c2b7cd8740396f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri May 10 14:16:35 2013 +0200 qom: improve documentation of cast functions Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1368188203-3407-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b720018060179b394f8ce736983373ab80dd37c Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed May 8 17:31:36 2013 +0200 qga: unlink just created guest-file if fchmod() or fdopen() fails on it We shouldn't allow guest filesystem pollution on error paths. Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 8fe6bbca7176c9dfb35083a71bda95c1856e2ed5 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed May 8 17:31:35 2013 +0200 qga: distinguish binary modes in "guest_file_open_modes" map In Windows guests this may make a difference. Since the original patch (commit c689b4f1) sought to be pedantic and to consider theoretical corner cases of portability, we should fix it up where it failed to come through in that pursuit. Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit f6e136e47a6adc176cb53a24cf5a515ca09f977f Merge: 879367e... 98b2d19... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 13 09:44:25 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches-next' into staging # By Dong Xu Wang (2) and others # Via Michael Tokarev * mjt/trivial-patches-next: osdep.h: include sys/types.h for ssize_t definition remove double semicolons clean unnecessary code: don't check g_strdup arg for NULL docs: mention AddressSpaces in docs/memory.txt audio: update documentation after removing --audio-card-list option m25p80.c: Sync Flash chip list with Linux bsd-user: OS-agnostic 64-bit SYSCTL types Message-id: 518F61B9.9050803@xxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 879367efba1f2e9733ff76d03041324b5b76f645 Merge: 38ebb39... 0a2b5e3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 13 09:44:04 2013 -0500 Merge remote-tracking branch 'spice/spice.v70' into staging # By Hans de Goede # Via Gerd Hoffmann * spice/spice.v70: qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode Message-id: 1368093776-8949-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 98b2d199c109c9eabebb70965db0ae24f3f75a79 Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri May 10 23:58:21 2013 +0400 osdep.h: include sys/types.h for ssize_t definition sys/types.h is taken out from "ifdef __OpenBSD__" guard. It should be safe for other systems, according to following survey: http://hacks.owlfolio.org/header-survey/ This fixes build for CONFIG_IOVEC-less systems (mingw). Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c7e775e4dda91472ec538101c536ea8950fe1515 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu May 9 15:53:50 2013 +0800 remove double semicolons Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 7f303adc4f0aaa71b196d9f983150f3ec3367b46 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu May 9 15:53:49 2013 +0800 clean unnecessary code: don't check g_strdup arg for NULL Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 2d40178a33293603a06fdf3c0fd9988322bc5fda Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon May 6 18:23:38 2013 +0200 docs: mention AddressSpaces in docs/memory.txt Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 59d827629360097caa9a4f160680affde84cb4c8 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat May 4 16:17:37 2013 +0200 audio: update documentation after removing --audio-card-list option Commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c removed the --audio-card-list option in configure, and commit 8f3b664f6cc4153cc73941c941d54c4e499b7537 always compiled in the adlib, gus and cs4231a audio cards. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 3e758c1df05bcd305cb761beddeb078b67c3ab88 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Wed May 1 10:40:53 2013 -0400 m25p80.c: Sync Flash chip list with Linux Add new devices for various manufacturers, and re-sort Spansion list to match the order in Linux, which requires chips with a non-zero extended ID to come first. With this commit the outstanding differences to Linux rev 55bf75b are: - Erase size flag differences in s25sl032p, s25sl064p, s25fl016k, s25fl064k (These devices have only some blocks that support small erase sizes.) - Linux lacks n25q128 - Devices without a Jedec ID have been excluded Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit e6a3ee5f7981e7df40aa581ebc245fd0a7d3bed0 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Tue Apr 30 09:29:32 2013 -0400 bsd-user: OS-agnostic 64-bit SYSCTL types Use existence of type as #ifdef condition rather than FreeBSD-specific version check, as suggested by Patrick Welche. Also handle the signed (CTLTYPE_S64) case identically to the unsigned (CTLTYPE_U64) case, per later patches in the FreeBSD ports tree (emulators/qemu-devel/files/patch-z-arm-bsd-user-001). Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 38ebb396c955ceb2ef7e246248ceb7f8bfe1b774 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Thu May 9 19:36:41 2013 +0200 target-i386: ROR r8/r16 imm instruction fix Fix EFLAGS corruption by ROR r8/r16 imm instruction located at the end of the TB, similarly to commit 089305ac for the non-immediate case. Reported-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 66e61b55f158ef5628e4c056dd2f233c9351a3f5 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Wed May 8 22:36:39 2013 +0200 tcg/optimize: fix setcond2 optimization When setcond2 is rewritten into setcond, the state of the destination temp should be reset, so that a copy of the previous value is not used instead of the result. Reported-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0a2b5e3a7899b40d05d7c6c1c41eb4e64dd2ed4b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 23 10:18:16 2013 +0200 qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs to know what part of the primary to use for each monitor. If the guest driver does not support this, the server sends messages to the client for a single monitor spanning the entire primary. As soon as the guest calls spice_qxl_monitors_config_async once, the server sets the red_worker driver_has_monitors_config flag and stops doing this. This is a problem when the driver gets unloaded, for example after a reboot or when switching to a text vc with usermode mode-setting under Linux. To reproduce this start a multi-mon capable Linux guest which uses usermode mode-setting and then once X has started switch to a text vc. Note how the client window does not only not resize, if you try to resize it manually you always keep blackborders since the aspect is wrong. This patch calls a new spice-server method called spice_qxl_driver_unload which clears the driver_has_monitors_config flag inside the server, thereby fixing this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 47ec15cdd44877e553ed0bd0a16aea8a295dad62 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 8 15:54:47 2013 -0500 Update version for 1.5.0-rc1 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cad2b59c198340a636c5e015fb90e0326a1d3dd7 Merge: 5f5a131... 794d00f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed May 8 15:54:36 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (7) and Fam Zheng (3) # Via Kevin Wolf * kwolf/for-anthony: qemu-iotests: fix 017 018 for vmdk qemu-iotests: exclude vmdk and qcow from 043 qemu-iotests: exclude vmdk for test 042 qtest/ide-test: Test short and long PRDTs qtest/ide-test: Add simple DMA read/write test case qtest: Add IDE test case libqos/pci: Enable bus mastering ide: Reset BMIDEA bit when the bus master is stopped de_DE.po: Add missing leading spaces ahci: Don't allow creating slave drives Message-id: 1368023344-29731-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f5a1318653c08e435cfa52f60b6a712815b659d Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue May 7 13:42:49 2013 +0800 virtio: properly validate address before accessing config There are several several issues in the current checking: - The check was based on the minus of unsigned values which can overflow - It was done after .{set|get}_config() which can lead crash when config_len is zero since vdev->config is NULL Fix this by: - Validate the address in virtio_pci_config_{read|write}() before .{set|get}_config - Use addition instead minus to do the validation Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Petr Matousek <pmatouse@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Petr Matousek <pmatouse@xxxxxxxxxx> Message-id: 1367905369-10765-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue May 7 15:49:58 2013 +0300 virtio-pci: fix level interrupts mask notifiers are never called without msix, so devices with backend masking like vhost don't work. Call mask notifiers explicitly at startup/cleanup to make it work. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d551d220c9574b00a318297b8654344e13e0efde Merge: 554ecc57... 36f48d9... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Wed May 8 21:02:06 2013 +0200 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: PPC: Depend behavior of cmp instructions only on instruction encoding commit 554ecc5774badd181458fe3d6a1624c2ede9f04e Author: Alexander Graf <agraf@xxxxxxx> Date: Mon May 6 19:49:43 2013 +0200 PPC: Fix rldcl The implementation for rldcl tried to always fetch its parameters from the opcode, even though the opcode was already passed in in decoded and different forms. Use the parameters instead, fixing rldcl. Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx> Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 36f48d9c78c438170aa7259bdde67086c9b7e795 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed May 8 15:19:14 2013 +0200 PPC: Depend behavior of cmp instructions only on instruction encoding When running an L=1 cmp instruction on a 64bit PPC CPU with SF off, it still behaves identical to what it does when SF is on. Remove the implicit difference in the code. Also, on most 32bit CPUs we should always treat the compare as 32bit compare, as the CPU will ignore the L bit. This is not true for e500mc, but that's up for a different patch. Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Wed May 8 13:17:40 2013 +0200 target-mips: fix incorrect behaviour for INSV Corner case for INSV instruction when size=32 has not been correctly implemented. The mask for size should be one bit wider, and preparing the filter variable should be aware of this case too. The test for INSV has been extended to include the case that triggers the bug. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 639eadb9a32775e1c70bbf37d347972ca41128d1 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Wed May 8 16:09:04 2013 +0200 target-mips: add missing check_dspr2 for multiply instructions The emulator needs to check in hflags if DSP unit has been turned off before it generates code for MUL_PH, MUL_S_PH, MULQ_S_W, and MULQ_RS_W. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 794d00f71d39e3d18eafade579b2ecb665d6d481 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue May 7 19:13:05 2013 +0800 qemu-iotests: fix 017 018 for vmdk 017 and 018 use /bin/mv to move base img from t.IMGFMG to t.IMGFMT.base after filling data, this is not enough for vmdk, when t.IMGFMT is only a description text file who points to t-{flat,s001,f001,...}.IMGFMT as data extent, so testing such subformats alway fails on them. This patch use the trick of temprorily changing TEST_IMG to avoid using /bin/mv. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dbcdd7cb04595cc0015f2dba6be751faa63fab00 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue May 7 19:13:04 2013 +0800 qemu-iotests: exclude vmdk and qcow from 043 043 tests recursive backing file by changing backing file. VMDK has not implemented this yet, and qcow1 probably never will. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1afe2726632a3344b92757bacdff57df49ef43e1 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Tue May 7 19:13:03 2013 +0800 qemu-iotests: exclude vmdk for test 042 Zero sized disk is not supported by qemu vmdk driver, exclude vmdk from the test script. As tested on vmware-vdiskmanager and vmware workstation, zero sized disk is not supported by vmware, either. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 948eaed171e0dac541a59b42867f80881399bbd0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 13 13:30:24 2013 +0100 qtest/ide-test: Test short and long PRDTs This tests the behaviour of the DMA engine when the given PRDT contains physical region descriptors for either more or less bytes than the IDE request is for. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b95739dcf5ae1dfa8cd5b2a5be27d427835e693b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed May 8 11:34:20 2013 +0200 qtest/ide-test: Add simple DMA read/write test case This tests that single sectors can be successfully written and correctly read back. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acbe48013bf1eb9c9a435e76959f409584b35509 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed May 8 11:18:41 2013 +0200 qtest: Add IDE test case This adds a simple IDE test case and starts by verifying that IDENTIFY can be successfully used and return the correct serial number, version and the WCE flag is set for cache=writeback. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9f0332b8cf27020d70be92f5e664466f0bcb84ec Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 13 17:00:40 2013 +0100 libqos/pci: Enable bus mastering Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b39f96126549e2834152211a99919917423d2212 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 13 16:53:06 2013 +0100 ide: Reset BMIDEA bit when the bus master is stopped The device is supposed to reset the Bus Master IDE Active bit in the status register when 0 is written to the Start/Stop Bus Master bit in the command register. In the common cases this happens automatically because bdrv_drain_all() flushes the requests, but with a large PRDT it could remain set. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3bac85d33716d9024afb8a262a39032bc0bba3ed Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue May 7 15:23:41 2013 +0200 de_DE.po: Add missing leading spaces Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0ee20e665840d8a887c145b368ee121cb86a028e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon May 6 15:58:04 2013 +0200 ahci: Don't allow creating slave drives An IDE bus provided by AHCI can only take a single IDE drive. If you add a drive as slave, qemu used to accept the command line but the device wouldn't be actually usable. Catch the situation instead and error out. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 15d23fb96656b1ae31bf4305b2108230c29298c6 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 7 06:50:19 2013 -0500 Update version for qemu-1.5.0-rc0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b174de51ae397549f58b1b76efa9026b213a1efd Merge: c689b4f... 4e906d5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 7 06:48:31 2013 -0500 Merge remote-tracking branch 'kraxel/usb.82' into staging # By Gerd Hoffmann (3) and Hans de Goede (1) # Via Gerd Hoffmann * kraxel/usb.82: xhci: handle USB_RET_BABBLE uhci: Use an intermediate buffer for usb packet data usb-host: add usb_host_full_speed_compat usb-host: live migration support for the libusb version Message-id: 1367920207-1404-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c689b4f1bac352dcfd6ecb9a1d45337de0f1de67 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Apr 24 13:13:18 2013 +0200 qga: set umask 0077 when daemonizing (CVE-2013-2007) The qemu guest agent creates a bunch of files with insecure permissions when started in daemon mode. For example: -rw-rw-rw- 1 root root /var/log/qemu-ga.log -rw-rw-rw- 1 root root /var/run/qga.state -rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log In addition, at least all files created with the "guest-file-open" QMP command, and all files created with shell output redirection (or otherwise) by utilities invoked by the fsfreeze hook script are affected. For now mask all file mode bits for "group" and "others" in become_daemon(). Temporarily, for compatibility reasons, stick with the 0666 file-mode in case of files newly created by the "guest-file-open" QMP call. Do so without changing the umask temporarily. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d7108d90100d5bac5965abef5ed73f2602adae14 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Apr 26 18:27:40 2013 +0800 virtio-net: properly check the vhost status during status set Commit 32993698 (vhost: disable on tap link down) tries to disable the vhost also when the peer's link is down. But the check was not done properly, the vhost were only started when: 1) peer's link is not down 2) virtio-net has already been started. Since == have a higher precedence than &&, place a brace to make sure both the conditions were met then does the check. This fixes the crash when doing a savem after set the link off which let qemu crash and complains: virtio_net_save: Assertion `!n->vhost_started' failed. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1366972060-21606-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fd8192a5a868ddbb711abbf4a871b09bbb1dae04 Merge: b5803aa... 4458c23... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue May 7 06:32:00 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Eduardo Habkost (6) and others # Via Andreas Färber * afaerber/qom-cpu: target-i386: n270 can MOVBE target-i386: Introduce generic CPUID feature compat function target-i386: Change CPUID model of 486 to 8 target-i386: Emulate X86CPU subclasses for global properties qdev: Introduce qdev_prop_set_globals_for_type() qdev: Let qdev_prop_parse() pass through Error target-i386: Add "filtered-features" property to X86CPU target-i386: Introduce X86CPU::filtered_features field target-i386: Add "feature-words" property to X86CPU target-i386: Use FeatureWord loop on filter_features_for_kvm() target-i386: Add ECX information to FeatureWordInfo commit 4e906d567a97ee45b4922001bf521dad0bde5268 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 6 12:33:56 2013 +0200 xhci: handle USB_RET_BABBLE Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9822261ce3bfbc7aec8b2a3e378892dc368910ed Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon May 6 10:48:57 2013 +0200 uhci: Use an intermediate buffer for usb packet data Due to various unfortunate reasons we cannot reliable detect a guest cancelling a packet as soon as it happens, instead we detect cancels with some delay. When packets are handled async, and we directly pass the guest memory for the packet to the usb-device as iovec, this means that the usb-device can write to guest-memory which the guest has already re-used for other purposes -> not good! This patch fixes this by adding an intermediate buffer and writing back not only the result, but also the data, of async completed packets when scanning the schedule. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c3268cc1135f41264cd26bcb269b3414d3c11453 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon May 6 13:12:16 2013 +0200 usb-host: add usb_host_full_speed_compat Alloes to pass through usb2 devices on usb1 host controllers if possible. Brings the libusb implementation to feature-parity with the linux usbfs code, so the usb-host implementation in 1.5 (libusb) doesn't regress compared to 1.4 (usbfs). Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 95efb20c714800de7eaf991f19dab6e7a29d5364 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 14:29:08 2013 +0200 usb-host: live migration support for the libusb version Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b5803aa3583e82e5133f7621121bc15ee694f4a1 Merge: fe677fd... 0c1cd0a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 6 15:45:08 2013 -0500 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging # By Marcelo Tosatti # Via Gleb Natapov * qemu-kvm/uq/master: kvmvapic: add ioport read accessor Message-id: cover.1367844188.git.gleb@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4458c23672904fa131e69897007eeb7c953be7e5 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Apr 25 15:43:04 2013 -0300 target-i386: n270 can MOVBE The Atom core (cpu name "n270" in QEMU speak) supports MOVBE. This is needed when booting 3.8 and later linux kernels built with the MATOM target because we require MOVBE in order to boot properly now. Signed-off-by: Borislav Petkov <bp@xxxxxxx> [ehabkost: added compat code to disable MOVBE on pc-*-1.4 and older] Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0668af542f99b7bb1d95539829b27d5a1bcecde4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Apr 25 15:43:00 2013 -0300 target-i386: Introduce generic CPUID feature compat function Introduce x86_cpu_compat_set_features(), that can be used to set/unset feature bits on specific CPU models for machine-type compatibility. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fe677fd1b3fde96110898fde5101bea4cfe6e063 Merge: e0ff466... 2ddef42... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon May 6 19:56:27 2013 +0200 Merge branch 's390-for-upstream' of git://github.com/agraf/qemu * 's390-for-upstream' of git://github.com/agraf/qemu: s390: update s390-ccw.img S390: BIOS boot from given device S390: Add virtio-blk boot S390: Merging s390_ipl_cpu and s390_ipl_reset S390: BIOS create link to src folder for .img file S390: BIOS check for file commit b2a856d99281f2fee60a4313d204205bcd2c4269 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 17:30:51 2013 +0200 target-i386: Change CPUID model of 486 to 8 This changes the model number of 486 to 8 (DX4) which matches the feature set presented, and actually has the CPUID instruction. This adds a compatibility property, to keep model=0 on pc-*-1.4 and older. Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> [AF: Add compat_props entry] Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ba2bc7a42e7c7b343f996967484ce3a1543cfebc Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 17:05:47 2013 +0200 target-i386: Emulate X86CPU subclasses for global properties After initializing the object from its x86_def_t and before setting any additional -cpu arguments, set any global properties for the designated subclass <name>-{i386,x86_64}-cpu. Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 868d378bb087c6003bfa0e431aec0e5871a90ff4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 16:03:19 2013 +0200 qdev: Introduce qdev_prop_set_globals_for_type() Reuse it in qdev_prop_set_globals(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> [AF: Renamed from qdev_prop_set_custom_globals()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b1fe9bcbceb6fb9d800f735da37aa79ac4552c6e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed May 1 16:10:24 2013 +0200 qdev: Let qdev_prop_parse() pass through Error Move error reporting to callers. Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7e5292b553c9ec27e0816abdcb717f87aa6b6a8d Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 6 13:20:09 2013 -0300 target-i386: Add "filtered-features" property to X86CPU This property will contain all the features that were removed from the CPU because they are not supported by the host. This way, libvirt or other management tools can emulate the check/enforce behavior by checking if filtered-properties is all zeroes, before starting the guest. Example output where some features were missing: $ qemu-system-x86_64 -enable-kvm -cpu Haswell,check -S \ -qmp unix:/tmp/m,server,nowait warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12] warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] warning: host doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24] warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26] warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28] warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit 0] warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3] warning: host doesn't support requested feature: CPUID.07H:EBX.hle [bit 4] warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7] warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9] warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] warning: host doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11] [...] $ ./QMP/qmp --path=/tmp/m \ qom-get --path=/machine/icc-bridge/icc/child[0] \ --property=filtered-features item[0].cpuid-register: EDX item[0].cpuid-input-eax: 2147483658 item[0].features: 0 item[1].cpuid-register: EAX item[1].cpuid-input-eax: 1073741825 item[1].features: 0 item[2].cpuid-register: EDX item[2].cpuid-input-eax: 3221225473 item[2].features: 0 item[3].cpuid-register: ECX item[3].cpuid-input-eax: 2147483649 item[3].features: 0 item[4].cpuid-register: EDX item[4].cpuid-input-eax: 2147483649 item[4].features: 0 item[5].cpuid-register: EBX item[5].cpuid-input-eax: 7 item[5].features: 4025 item[5].cpuid-input-ecx: 0 item[6].cpuid-register: ECX item[6].cpuid-input-eax: 1 item[6].features: 356519936 item[7].cpuid-register: EDX item[7].cpuid-input-eax: 1 item[7].features: 0 Example output when no feature is missing: $ qemu-system-x86_64 -enable-kvm -cpu Nehalem,enforce -S \ -qmp unix:/tmp/m,server,nowait [...] $ ./QMP/qmp --path=/tmp/m \ qom-get --path=/machine/icc-bridge/icc/child[0] \ --property=filtered-features item[0].cpuid-register: EDX item[0].cpuid-input-eax: 2147483658 item[0].features: 0 item[1].cpuid-register: EAX item[1].cpuid-input-eax: 1073741825 item[1].features: 0 item[2].cpuid-register: EDX item[2].cpuid-input-eax: 3221225473 item[2].features: 0 item[3].cpuid-register: ECX item[3].cpuid-input-eax: 2147483649 item[3].features: 0 item[4].cpuid-register: EDX item[4].cpuid-input-eax: 2147483649 item[4].features: 0 item[5].cpuid-register: EBX item[5].cpuid-input-eax: 7 item[5].features: 0 item[5].cpuid-input-ecx: 0 item[6].cpuid-register: ECX item[6].cpuid-input-eax: 1 item[6].features: 0 item[7].cpuid-register: EDX item[7].cpuid-input-eax: 1 item[7].features: 0 Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 034acf4a581b03fc10cba772f731ae521e00fcd8 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 6 13:20:08 2013 -0300 target-i386: Introduce X86CPU::filtered_features field This field will contain the feature bits that were filtered out because of missing host support. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8e8aba5054c043027445c880fcb9dbc8f6a217f3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon May 6 13:20:07 2013 -0300 target-i386: Add "feature-words" property to X86CPU This property will be useful for libvirt, as libvirt already has logic based on low-level feature bits (not feature names), so it will be really easy to convert the current libvirt logic to something using the "feature-words" property. The property will have two main use cases: - Checking host capabilities, by checking the features of the "host" CPU model - Checking which features are enabled on each CPU model Example output: $ ./QMP/qmp --path=/tmp/m \ qom-get --path=/machine/icc-bridge/icc/child[0] \ --property=feature-words item[0].cpuid-register: EDX item[0].cpuid-input-eax: 2147483658 item[0].features: 0 item[1].cpuid-register: EAX item[1].cpuid-input-eax: 1073741825 item[1].features: 0 item[2].cpuid-register: EDX item[2].cpuid-input-eax: 3221225473 item[2].features: 0 item[3].cpuid-register: ECX item[3].cpuid-input-eax: 2147483649 item[3].features: 101 item[4].cpuid-register: EDX item[4].cpuid-input-eax: 2147483649 item[4].features: 563346425 item[5].cpuid-register: EBX item[5].cpuid-input-eax: 7 item[5].features: 0 item[5].cpuid-input-ecx: 0 item[6].cpuid-register: ECX item[6].cpuid-input-eax: 1 item[6].features: 2155880449 item[7].cpuid-register: EDX item[7].cpuid-input-eax: 1 item[7].features: 126614521 Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd87d2a2c05569a28768648b069cbc24c40f4fb8 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:18 2013 -0300 target-i386: Use FeatureWord loop on filter_features_for_kvm() Instead of open-coding the filtering code for each feature word, change the existing code to use the feature_word_info array, that has exactly the same CPUID eax/ecx/register values for each feature word. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 04d104b61198615c259d1851684b2713213dcf99 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:16 2013 -0300 target-i386: Add ECX information to FeatureWordInfo FEAT_7_0_EBX uses ECX as input, so we have to take that into account when reporting feature word values. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2ddef429d14136a0156a75b1d77b72cb3bdad18f Author: Alexander Graf <agraf@xxxxxxx> Date: Wed May 1 04:50:05 2013 +0200 s390: update s390-ccw.img Now that we have boot device selection support, update the firmware blob accordingly. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ff151f4ec977c38266b79ebfbb6e8689f2121d4f Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 30 07:15:58 2013 +0000 S390: BIOS boot from given device Use the passed device, if there is no device, use the first applicable device. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba1509c0a99ad4c852c22cbd46d244ec7dc90402 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 30 07:15:57 2013 +0000 S390: Add virtio-blk boot If no kernel IPL entry is specified, boot the bios and pass if available device information for the first boot device (as given by the boot index). The provided information will be used in the next commit from the BIOS. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2c4c71ee3a904bd07141c6499e5834818e6757f1 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 30 07:15:56 2013 +0000 S390: Merging s390_ipl_cpu and s390_ipl_reset There is no use in have this splitted in two functions. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e89e33e12e4185fa056a5d7ae6d2e8e7f5400a20 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 04:52:06 2013 +0000 S390: BIOS create link to src folder for .img file For *.img files, there will be a link created directly to the src folder, like for all other blobs. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1f7de853306499b83e627a09b15281fd6d566a51 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 04:52:05 2013 +0000 S390: BIOS check for file Add a check if the BIOS blob exists before trying to load. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0ff466c86bfb3b865865431bf8aa67287691917 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu May 2 20:22:03 2013 +0000 spapr_llan: fix device reenabling Normally, the "tap" device is polled by QEMU if a guest NIC can receive packets. If a guest NIC is stopped during transfer (rmmod or ifdown), it may still have packets in a queue which have to be send to the guest before QEMU enables polling of a "tap" interface via tap_update_fd_handler(). However the spapr_llan device was missing the qemu_flush_queued_packets() call so the tap_send_completed() callback was never called and therefore "tap" interface polling was not enabled ever. The patch fixes this problem. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 43d03f299a017186e00f47c5b10f732492d496a6 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Wed May 1 15:22:59 2013 +0000 PPC: e500: correct params->ram_size with ram_size We should sync params->ram_size after we fixup memory size on a alignment boundary. Otherwise Guest would exceed the actual memory region. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 04559d5210860ea5853db09c75ea8ff2f8843e16 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed May 1 00:44:51 2013 +0000 target-ppc: Add read and write of PPR SPR Recent Linux kernels save and restore the PPR across exceptions so we need to handle it. Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c05541ee191107eb35093fb693e4ec038e60d2c0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed May 1 00:43:59 2013 +0000 target-ppc: Fix invalid SPR read/write warnings Invalid and privileged SPR warnings currently print the wrong address. While fixing that, also make it clear that we are printing both the decimal and hexadecimal SPR number. Before: Trying to read invalid spr 896 380 at 0000000000000714 After: Trying to read invalid spr 896 (0x380) at 0000000000000710 Signed-off-by: Anton Blanchard <anton@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 126a79300971ab9314925c3ebbbd6c776bebf3f1 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu May 2 00:27:51 2013 +0200 PPC: Add MMU type for 2.06 with AMR but no TB pages When running -cpu on a POWER7 system with PR KVM, we mask out the 1TB MMU capability from the MMU type mask, but not the AMR bit. This leads to us having a new MMU type that we don't check for in our MMU management functions. Add the new type, so that we don't have to worry about breakage there. We're not going to use the TCG MMU management in that case anyway. The long term fix for this will be to move all these MMU management functions to class callbacks. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4807ab4f36740b64a0dfa30ae90fe2e8a7d96fbb Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Tue Apr 30 03:42:23 2013 +0000 pseries: Update SLOF firmware image Minor SLOF fixes which are required for libvirtd to function properly: * vio-vscsi: vscsi-report-luns can return 0 * vio-vscsi: added a proper lun parser * SLOF: vio-vscsi: fixed bug with reported luns Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cefd3cdbdd9fc9a7d5ab324291904074d2aa69a0 Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Mon Apr 29 04:40:56 2013 +0000 PPC: e500: initialize GPRs as per epapr ePAPR defines the initial values of cpu registers. This patch initialize the GPRs as per ePAPR specification. This resolves the issue of guest reboot/reset (guest hang on reboot). Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: add whitespace line] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b55519a0f29fca0ef7ebc5d87ee4bfa7304dc219 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 18:33:52 2013 +0000 pseries: Fix debug message for out-of-bounds address in H_PUT_TCE Due to a brain outage, this message says "out-of-boards" instead of "out-of-bounds". Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d4261662b67b48e52f747ee1e3c31cf873c5c982 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 18:33:51 2013 +0000 pseries: Factor out check for out-of-bounds LIOBN PAPR defines LIOBNs (Logical IO Bus Numbers) to be 32-bit, and we check for values that aren't in the code for H_PUT_TCE. This patch factors the check into spapr_tce_find_by_liobn(), which already checks if a 32-bit LIOBN actually exists. This will become more important as future patches add other hypercalls which need to look up a LIOBN. At the same time we fix the typo in the message. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0c1cd0ae2a4faabeb948b9a07ea1696e853de174 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Sun May 5 17:51:49 2013 -0300 kvmvapic: add ioport read accessor Necessary since memory region accessor assumes read and write methods are registered. Otherwise reading I/O port 0x7e segfaults. https://bugzilla.redhat.com/show_bug.cgi?id=954306 Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 8e515b125d5f7849167dbee6cbe6ef61636607d4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat May 4 21:57:51 2013 +0100 configure: Check that "libtool" is not the MacOSX one The "libtool" binary on MacOSX is not GNU libtool, and doesn't support anything like the same set of command line options. Test whether we have accidentally picked this up (by looking for whether it handles the GNU --version switch), and discard it if so. The fallback machinery for the "we don't have a libtool" case will work fine. This fixes a failure in "make install" on MacOSX. Reported-by: Peter Cheung <mcheung63@xxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1367701071-6630-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4b006b7a5bce59d4f692d5da04eede5f6d0f31c Merge: 1e65fe5... b6f54b3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 6 06:49:51 2013 -0500 Merge remote-tracking branch 'afaerber-or/prep-up' into staging # By Andreas Färber (1) and others # Via Andreas Färber * afaerber-or/prep-up: prep: Make System I/O port 0092 read/write prep: Add ELF support for -bios prep: Fix NIP reset value commit 1e65fe536782132316ddae0a92f3c4e4f563cafb Merge: 467b346... 462566f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon May 6 06:47:28 2013 -0500 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging # By Jean-Christophe DUBOIS # Via Peter Maydell * pmaydell/arm-devs.next: i.MX: implement a more correct version of EPIT timer. Message-id: 1367603215-5120-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b6f54b31e7cfb2e88b76fc6cfc5334a26d1b9e53 Author: Julio Guerra <guerr@xxxxxxxx> Date: Sun May 5 23:29:48 2013 +0200 prep: Make System I/O port 0092 read/write Port 0x0092 is documented as read/write, so for now return the endianness state instead of hardcoded 0x00. Signed-off-by: Julio Guerra <guerr@xxxxxxxx> [AF: Extracted from larger port 0092 patch] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 97c42c3c93d58e14960bfd78771ed154a860acf8 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Apr 27 21:23:23 2013 +0200 prep: Add ELF support for -bios This prepares for switching from OpenHack'Ware to OpenBIOS. While touching the error handling code, switch from aborting hw_error() to fprintf()+exit() and suppress failing without -bios for qtest. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 88432756ead526d9c321c20f10fafdbe40e5eaba Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Apr 30 17:07:04 2013 +0200 prep: Fix NIP reset value The value was changed by commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c "PPC: fix hreset_vector for 60x, ...". Change it back for prep machine to unbreak OpenHack'Ware. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 467b34689d277fa56c09ad07ca0f08d7d7539f6d Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun May 5 09:53:22 2013 +0000 Update OpenBIOS images Update OpenBIOS images to OpenBIOS 1.1 release (SVN r1136) built from submodule. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f7a87c42a05e5ecaa4ed9167178624f870106091 Merge: 120dc38... 536f25e... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun May 5 09:05:34 2013 +0000 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Fix incorrect check of kvm_vcpu_ioctl return value commit 536f25e4c77592b936e50728c83894c23f4f61c8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri May 3 18:47:22 2013 +0100 target-arm: Fix incorrect check of kvm_vcpu_ioctl return value kvm_vcpu_ioctl() returns -ETHING on error, not ETHING -- correct an incorrect check in kvm_arch_init_vcpu(). This would not have had any significant ill-effects -- we would just have propagated the less useful ENOENT up to the caller rather than the more accurate EINVAL in the unlikely case that the kernel didn't have VFP-D32 support. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 462566fc5e3e10a44e212fdbc67b9e4948179b14 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Fri May 3 18:21:02 2013 +0100 i.MX: implement a more correct version of EPIT timer. This patch is providing a complete version of the EPIT timer. Note, however that the GPT timer in the same file is still not complete. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Message-id: 1365624982-15647-1-git-send-email-jcd@xxxxxxxxxxxxxxx Reviewed-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> [PMM: wrapped an overly long line] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 120dc38f6113b676ecef0a2c9e42fc08cace5bdb Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri May 3 15:25:36 2013 +0200 qdev: skip bus check for bus-less devices in qdev_unplug() Since commit 2f7bd829db "qdev: Fix device_add bus assumptions" it's possible to device_add bus-less device, but if such device is unplugged it will dereference NULL parent_bus in qdev_unplug(). Fix it by taking in account that parent_bus might be NULL and skipping bus check. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Message-id: 1367587536-14964-1-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6f32a6b47ef4247ad14dad63c6ee231fdce4c5e9 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:51 2013 +0200 virtio-scsi: fix the command line compatibility. The bus name is wrong since the refactoring. This keeps the behaviour of the command line. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 80270a19685dd20eda017b0360c743b3e3ed6f57 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:50 2013 +0200 virtio-serial: fix command line compatibility. The bus name is wrong since the refactoring. This keeps the behaviour of the command line. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 11fc853c4cb5ab9db46d7859da191966199b588f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:49 2013 +0200 scsi: add bus_name parameter to scsi_bus_new. This adds the possibility to create a scsi-bus with a specified name. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1034e9cf4d0740c4c845d79998ac53a5b23e534d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:48 2013 +0200 virtio: add virtio_device_set_child_bus_name. Add virtio_device_set_child_bus_name function. It will be used with virtio-serial-x and virtio-scsi-x to set the child bus name before calling virtio-x-device's init. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f4dd69aa4ce96196b3d84cd3d3e14a79ea029630 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 30 16:08:47 2013 +0200 virtio-x-bus: force bus name to virtio-bus. When the proxy id is set, this bus takes the name "id.0" which is expected to be the virtio-device's first bus. So force this name to "virtio-bus" as it is an internal bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1367330931-12994-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0057a0d59006d00c294de0b012d9a290eb1a5c80 Author: Tim Hardeck <thardeck@xxxxxxx> Date: Tue Apr 23 16:33:01 2013 +0200 TLS support for VNC Websockets Added TLS support to the VNC QEMU Websockets implementation. VNC-TLS needs to be enabled for this feature to be used. The required certificates are specified as in case of VNC-TLS with the VNC parameter "x509=<path>". If the server certificate isn't signed by a rooth authority it needs to be manually imported in the browser because at least in case of Firefox and Chrome there is no user dialog, the connection just gets canceled. As a side note VEncrypt over Websocket doesn't work atm because TLS can't be stacked in the current implementation. (It also didn't work before) Nevertheless to my knowledge there is no HTML 5 VNC client which supports it and the Websocket connection can be encrypted with regular TLS now so it should be fine for most use cases. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366727581-5772-1-git-send-email-thardeck@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8f3b664f6cc4153cc73941c941d54c4e499b7537 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed May 1 16:14:34 2013 +0200 audio: Enable all cards ...or they will bitrot to death. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Message-id: 5181234A.6060504@xxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fba90ac1d614c333c6a15c39cac555a12a04cee1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed May 1 18:30:15 2013 +0200 win32: fix compilation again While commit c02817e5bfbb27955cac970019e6670dc427bc41 fixed compilation without an installed libtool, moving the dependencies to rules.mak does not work because the version-*-y variables are not defined yet. Building in a clean tree thus fails. Revert the commit and remove the dummy /bin/false assignment to LIBTOOL. This makes the build work, at the price of slightly worse errors when there are Makefile bugs. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367425815-15083-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc9936a32f91c107a2a7655af4feeee3f4de5d12 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu May 2 15:56:26 2013 +0200 libqos: Relocate I2C files Commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1 (qtest: add libqos including PCI support) created a libqos/ subdirectory but left the existing I2C libqos files libi2c*.[hc] in tests/. Clean this up. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367502986-15104-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 743bddb4b35ceaaf6f95aea581a4130dcae6205a Merge: a612925... e64dd5e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 3 11:20:15 2013 -0500 Merge remote-tracking branch 'stefanha/tracing' into staging # By Eiichi Tsukata (2) and Kazuya Saito (2) # Via Stefan Hajnoczi * stefanha/tracing: trace: document ftrace backend trace: Add ftrace tracing backend kvm-all: add kvm_run_exit tracepoint kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints Message-id: 1367582485-15579-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a612925b4184fa7aa37092db4fef816030640922 Merge: 25565e8... 7873df4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 3 11:20:07 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Amos Kong (1) and Jason Wang (1) # Via Stefan Hajnoczi * stefanha/net: tap: properly initialize vhostfds net: make network client name unique Message-id: 1367582254-15060-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 25565e8595322b04902a09ebf877d80532f22fd1 Merge: c9e53a4... 86abefd... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri May 3 11:20:02 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Fam Zheng (8) and others # Via Stefan Hajnoczi * stefanha/block: qemu-iotests: Filter out 'adapter_type' nbd: support large NBD requests nbd: use g_slice_new() instead of a freelist qemu-iotests: Filter out vmdk creation options vmdk: add bdrv_co_write_zeroes vmdk: store fields of VmdkMetaData in cpu endian vmdk: change magic number to macro vmdk: Add option to create zeroed-grain image vmdk: add support for â??zeroedâ??grainâ?? GTE vmdk: named return code. blockdev: Replace "undefined error" in qmp_block_resize block: add read-only support to VHDX image format. block: initial VHDX driver support framework - supports open and probe block: vhdx header for the QEMU support of VHDX images qemu: add castagnoli crc32c checksum algorithm commit e64dd5efb2c6d522a3bc9d096cd49a4e53f0ae10 Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Date: Thu Apr 11 20:25:16 2013 +0900 trace: document ftrace backend Add documentation of ftrace backend. Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 781e9545dbe54d2f0a530edbf48fd0ac1e77244c Author: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Date: Thu Apr 11 20:25:15 2013 +0900 trace: Add ftrace tracing backend This patch adds a ftrace tracing backend which sends trace event to ftrace marker file. You can effectively compare qemu trace data and kernel(especially, kvm.ko when using KVM) trace data. The ftrace backend is restricted to Linux only. To try out the ftrace backend: $ ./configure --trace-backend=ftrace $ make if you use KVM, enable kvm events in ftrace: # sudo echo 1 > /sys/kernel/debug/tracing/events/kvm/enable After running qemu by root user, you can get the trace: # cat /sys/kernel/debug/tracing/trace Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b76ac80a5ca9f2e19405419172c0dcaf0370d4f5 Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Mar 29 13:27:52 2013 +0900 kvm-all: add kvm_run_exit tracepoint This patch enable us to know exit reason of KVM_RUN. It will help us know where the trouble is caused. Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9c7757290c6d80c2f5bde6fa71d2c9fe2b331c8c Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Mar 29 13:27:05 2013 +0900 kvm-all: add kvm_ioctl, kvm_vm_ioctl, kvm_vcpu_ioctl tracepoints This patch adds tracepoints at ioctl to kvm. Tracing these ioctl is useful for clarification whether the cause of troubles is qemu or kvm. Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7873df408dd44eb92840b108211d5aa5db7db526 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Apr 19 15:11:15 2013 +0800 tap: properly initialize vhostfds Only tap->vhostfd were checked net_init_tap_one(), but tap->vhostfds were forgot, this will lead qemu to ignore all fds passed by management through vhostfds, and tries to create vhost_net device itself. Fix by adding this check also. Reportyed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Cc: Michal Privoznik <mprivozn@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c963530a5b3e3e0f7304841adfe84416d82f59f6 Author: Amos Kong <akong@xxxxxxxxxx> Date: Mon Apr 15 18:55:19 2013 +0800 net: make network client name unique assign_name() creates a name MODEL.NUM, where MODEL is the client's model, and NUM is the number of MODELs that already exist. Markus added NIC naming for non-VLAN clients in commit 53e51d85. commit d33d93b2 incorrectly added a judgement of net-hub. It caused net clients created with -netdev get same names. eg: # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \ -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 .. (qemu) info network virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56 \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57 \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown This patch removed the check of nic-hub, and created unique names for all net clients that have same model. v2: update commitlog & comments Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 86abefd61e23325162e59e5bfb8f0346eda62541 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Fri May 3 15:31:16 2013 +0800 qemu-iotests: Filter out 'adapter_type' Filter out vmdk creation option 'adapter_type' for vmdk. So that tests with an explicit './check -o adapter_type=XXX' will not fail. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2d8214885942becb8f4371a66d6f8c9a9580108a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 2 14:23:08 2013 +0200 nbd: support large NBD requests The Linux nbd driver recently increased the maximum supported request size up to 32 MB: commit 078be02b80359a541928c899c2631f39628f56df Author: Michal Belczyk <belczyk@xxxxxxxxxxxxx> Date: Tue Apr 30 15:28:28 2013 -0700 nbd: increase default and max request sizes Raise the default max request size for nbd to 128KB (from 127KB) to get it 4KB aligned. This patch also allows the max request size to be increased (via /sys/block/nbd<x>/queue/max_sectors_kb) to 32MB. QEMU's 1 MB buffers are too small to handle these requests. This patch allocates data buffers dynamically and allows up to 32 MB per request. Reported-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e1adb27a83f19799c454cead7bf930a0b3f2bb28 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu May 2 14:23:07 2013 +0200 nbd: use g_slice_new() instead of a freelist Use GLib's efficient slice allocator instead of open-coding the request freelist. This patch simplifies the NBDRequest code. Now we qemu_blockalign() the req->data buffer each time but the next patch switches from a fixed size buffer to a dynamic size anyway. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c9e53a4cf116dae72d779c7748153cedd2e84228 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Apr 29 08:08:23 2013 -0700 tcg-arm: Use movi32 in exit_tb Avoid the mini constant pool for armv7, and avoid replicating the test for pre-v7. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8ddaeb1be66246225fe5aeeec33e4e7b82762694 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Apr 29 08:08:22 2013 -0700 tcg-arm: Fix 64-bit tlb load for pre-v6 Found by inspection, since the effect of the bug was simply to send all memory ops through the slow path. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 29851ee7c8bd3fb8542e21cd0270c73132590350 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Sun Apr 28 03:18:36 2013 +0200 target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB This change corrects and simplifies how discard is calculated for shift left logical vector instructions. It is used to detect overflow and set bit 22 in the DSPControl register. The existing tests (shll_ph.c, shll_qb.c) are extended with the corner cases that expose incorrectness in the previous implementation. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 50522d969be315457e3296d8a32990b58a203902 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Fri May 3 09:31:40 2013 +0800 qemu-iotests: Filter out vmdk creation options Cover new image creation options for vmdk, so we can use '-o zeroed_grain=XXX' and '-o subformat=XXX' to run the tests successfully. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cdeaf1f15909e2e8af38f45aea7cfa467a729c52 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:27 2013 +0800 vmdk: add bdrv_co_write_zeroes Use special offset to write zeroes efficiently, when zeroed-grain GTE is available. If zero-write an allocated cluster, cluster is leaked because its offset pointer is overwritten by "0x1". Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e304e8e5a05bc54c71c5f6fc76abd47410e59857 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:26 2013 +0800 vmdk: store fields of VmdkMetaData in cpu endian Previously VmdkMetaData.offset is stored little endian while other fields are cpu endian. This changes offset to cpu endian and convert before writing to image. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 95b0aa4231dfc827ddc189138d6502cbca66d2b6 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:25 2013 +0800 vmdk: change magic number to macro Two hard coded flag bits are changed to macros. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 69e0b6dfa455924842bfcbfa810fde34899f1350 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:24 2013 +0800 vmdk: Add option to create zeroed-grain image Add image create option "zeroed-grain" to enable zeroed-grain GTE feature of vmdk sparse extents. When this option is on, header version of newly created extent will be 2 and VMDK4_FLAG_ZERO_GRAIN flag bit will be set. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 14ead646fe7d5163c342ebd1e0aeb556ecf343a1 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:23 2013 +0800 vmdk: add support for â??zeroedâ??grainâ?? GTE Introduced support for zeroed-grain GTE, as specified in Virtual Disk Format 5.0[1]. Recent VMware hosted platform products support a new â??zeroedâ??grainâ?? grain table entry (GTE). The zeroedâ??grain GTE returns all zeros on read. In other words, the zeroedâ??grain GTE indicates that a grain in the child disk is zeroâ??filled but does not actually occupy space in storage. A sparse extent with zeroedâ??grain GTE has the following in its header: * SparseExtentHeader.version = 2 * SparseExtentHeader.flags has bit 2 set Other than the new flag and the possibly zeroedâ??grain GTE, version 2 sparse extents are identical to version 1. Also, a zeroedâ??grain GTE has value 0x1 in the GT table. [1] Virtual Disk Format 5.0, http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 65f7472577f9409d285b0216fae76c7c3f03fc41 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu May 2 10:25:22 2013 +0800 vmdk: named return code. Internal routines in vmdk.c previously return -1 on error and 0 on success. More return values are useful for future changes such as zeroed-grain GTE. Change all the magic `return 0` and `return -1` to macro names: * VMDK_OK 0 * VMDK_ERROR (-1) * VMDK_UNALLOC (-2) * VMDK_ZEROED (-3) Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8732901e1b8a5add02a2b747875202133413d565 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu May 2 15:32:55 2013 +0200 blockdev: Replace "undefined error" in qmp_block_resize We have an errno value that can be displayed, so we should just do that. An easy way to reproduce this case is to resize a raw image to a size that is too large for the host file system. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 059e2fbbca484a68ac7fd99d1d76409294551586 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:19 2013 -0400 block: add read-only support to VHDX image format. This adds in read-only support to the VHDX image format. This supports reads for fixed-size, and dynamic sized VHDX images. Differencing files are still unsupported. The image must be opened without BDRV_O_RDWR set, because we do not yet update the headers. I.e., pass 'readonly=on' in the drive image options from the QEMU commandline. Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e8d4e5ffdb015959551726a5700c19b5d772ada4 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:18 2013 -0400 block: initial VHDX driver support framework - supports open and probe This is the initial block driver framework for VHDX image support (i.e. Hyper-V image file formats), that supports opening VHDX files, and parsing the headers. This commit does not yet enable: - reading - writing - updating the header - differencing files (images with parents) - log replay / dirty logs (only clean images) This is based on Microsoft's VHDX specification: "VHDX Format Specification v0.95", published 4/12/2012 https://www.microsoft.com/en-us/download/details.aspx?id=29681 Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 203cdba3bc6fb6022dbece90483fe03ed33bcffb Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:17 2013 -0400 block: vhdx header for the QEMU support of VHDX images This is based on Microsoft's VHDX specification: "VHDX Format Specification v0.95", published 4/12/2012 https://www.microsoft.com/en-us/download/details.aspx?id=29681 These structures define the various header, metadata, and other block structures defined in the VHDX specification. Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8e1b02b8ef2eefcb2ff3855531d7bc2ea71e1fb4 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Mon Apr 29 14:48:16 2013 -0400 qemu: add castagnoli crc32c checksum algorithm This adds the Castagnoli CRC32C algorithm, using the 0x11EDC6F41 polynomial. This is extracted from the linux kernel cryptographic crc32.c module. The algorithm is based on: Castagnoli93: Guy Castagnoli and Stefan Braeuer and Martin Herrman "Optimization of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits", IEEE Transactions on Communication, Volume 41, Number 6, June 1993 Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8ca27ce2e1150486ea2db4116a03706b28294f16 Merge: 0db4c32... e7bdf65... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu May 2 10:57:01 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Igor Mammedov (21) and others # Via Andreas Färber * afaerber/qom-cpu: (29 commits) Drop redundant resume_all_vcpus() from main() cpus: Fix pausing TCG CPUs while in vCPU thread target-i386: Replace cpuid_*features fields with a feature word array target-i386: Break CPUID feature definition lines target-i386/kvm.c: Code formatting changes target-i386: Group together level, xlevel, xlevel2 fields pc: Implement QEMUMachine::hot_add_cpu hook QMP: Add cpu-add command Add hot_add_cpu hook to QEMUMachine target-i386: Move APIC to ICC bus target-i386: Attach ICC bus to CPU on its creation target-i386: Introduce ICC bus/device/bridge cpu: Move cpu_write_elfXX_note() functions to CPUState kvmvapic: Make dependency on sysbus.h explicit target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE target-i386: Do not allow to set apic-id once CPU is realized target-i386: Introduce apic-id CPU property target-i386: Introduce feat2prop() for CPU properties acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest cpu: Add helper cpu_exists(), to check if CPU with specified id exists ... commit 0db4c324a8c6f2b1b8a118146f9b0fc8c4210719 Merge: e9016ee... 6e860b5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu May 2 10:56:07 2013 -0500 Merge remote-tracking branch 'mjt/trivial-patches' into staging # By Andreas Färber (1) and others # Via Michael Tokarev * mjt/trivial-patches: pvscsi: fix compilation on 32 bit hosts Trivial grammar and spelling fixes configure: Pick up libseccomp include path commit e7bdf659c16e1cefd61f53648503d8c060668d6b Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Aug 20 20:11:36 2012 +0200 Drop redundant resume_all_vcpus() from main() VCPUs are either resumed directly via vm_start(), after the incoming migration is done, or when a continue command is issued. We don't need the explicit resume before entering main_loop(). Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1085819368e8693f08307e72f0082d759f67ef03 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu May 2 11:22:05 2013 +0200 cpus: Fix pausing TCG CPUs while in vCPU thread Due to a preceding while loop, no CPU would've been put into stopped state. Reinitialize the variable. This fixes commit d798e97456658ea7605303b7c69b04ec7df95c10 (Allow to use pause_all_vcpus from VCPU context) for non-KVM case. While at it, change a 0 to false, amending commit 4fdeee7cd4c8f90ef765537b9346a195d9483ab5 (cpu: Move stop field to CPUState). Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0514ef2fbb3882afe410ba7800c79fd0ef5dbf00 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:15 2013 -0300 target-i386: Replace cpuid_*features fields with a feature word array This replaces the feature-bit fields on both X86CPU and x86_def_t structs with an array. With this, we will be able to simplify code that simply does the same operation on all feature words (e.g. kvm_check_features_against_host(), filter_features_for_kvm(), add_flagname_to_bitmaps(), CPU feature-bit property lookup/registration, and the proposed "feature-words" property) The following field replacements were made on X86CPU and x86_def_t: (cpuid_)features -> features[FEAT_1_EDX] (cpuid_)ext_features -> features[FEAT_1_ECX] (cpuid_)ext2_features -> features[FEAT_8000_0001_EDX] (cpuid_)ext3_features -> features[FEAT_8000_0001_ECX] (cpuid_)ext4_features -> features[FEAT_C000_0001_EDX] (cpuid_)kvm_features -> features[FEAT_KVM] (cpuid_)svm_features -> features[FEAT_SVM] (cpuid_)7_0_ebx_features -> features[FEAT_7_0_EBX] Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 27861ecc47cf9dc35961ac901e26abbd898c377c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:14 2013 -0300 target-i386: Break CPUID feature definition lines Break lines on kvm_check_features_against_host(), kvm_cpu_fill_host(), and builtin_x86_defs, so they don't get too long once the *_features fields are replaced by an array. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fc7a504c0126b16aa2bd50d92584e9cc08f636a3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:13 2013 -0300 target-i386/kvm.c: Code formatting changes Add appropriate spaces around operators, and break line where it needs to be broken to allow feature-words array to be introduced without having too-long lines. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90e4b0c3de2b3927e71f23d95c3c27d60e5c89cc Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Apr 22 16:00:12 2013 -0300 target-i386: Group together level, xlevel, xlevel2 fields Consolidate level, xlevel, xlevel2 fields in x86_def_t and CPUX86State. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6e860b5db4c76c66d7e02f93c9e22e0384bd3c6c Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Wed May 1 07:41:26 2013 +0200 pvscsi: fix compilation on 32 bit hosts This fixes the following error: In file included from qemu/include/trace.h:4:0, from trace/generated-events.c:3: ./trace/generated-tracers.h: In function â??trace_pvscsi_get_sg_listâ??: ./trace/generated-tracers.h:4271:9: error: format â??%luâ?? expects argument of type â??long unsigned intâ??, but argument 4 has type â??size_tâ?? [-Werror=format] Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 805a25050272fe7cbbc2e9ce911612fc86c7b9a9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Apr 28 11:49:57 2013 +0200 Trivial grammar and spelling fixes similiar -> similar recieve -> receive transfered -> transferred preperation -> preparation Most changes are in comments, one modifies a parameter name in a function prototype. The spelling fixes were made using codespell. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit 372e47e9b5e31c493823d7f512716644fb02d0fd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Apr 28 16:27:26 2013 +0200 configure: Pick up libseccomp include path openSUSE 12.3 has seccomp.h in /usr/include/libseccomp-1.0.1, so add `pkg-config --cflags libseccomp` output to QEMU_CFLAGS. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> commit c649983b582687bbdb4019e308f015913e31065e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 18:00:53 2013 +0200 pc: Implement QEMUMachine::hot_add_cpu hook Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 69ca3ea5e192251f27510554611bcff6f036a00b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:25 2013 +0200 QMP: Add cpu-add command Adds "cpu-add id=xxx" QMP command. cpu-add's "id" argument is a CPU number in a range [0..max-cpus) Example QMP command: -> { "execute": "cpu-add", "arguments": { "id": 2 } } <- { "return": {} } Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Acked-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b4fc7b4326112538e0dbdc7fd019652ba8cc3281 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 30 15:41:24 2013 +0200 Add hot_add_cpu hook to QEMUMachine Hook should be set by machines that implement CPU hot-add via cpu-add QMP command. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 53a89e262bd3e97b2da3afec0a60e5466770ae8c Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 19:03:01 2013 +0200 target-i386: Move APIC to ICC bus It allows APIC to be hotplugged. * map APIC's mmio at board level if it is present * do not register mmio region for each APIC, since only one is used/mapped Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 62fc403f11523169eb4264de31279745f48e3ecc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 18:54:13 2013 +0200 target-i386: Attach ICC bus to CPU on its creation X86CPU should have parent bus so it could provide bus for child APIC. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f0513d2c0156799e0c75a108ab9a049eea4f9607 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Apr 29 17:02:50 2013 +0200 target-i386: Introduce ICC bus/device/bridge Provides a hotpluggable bus for APIC and CPU. * icc-bridge will serve as a parent for icc-bus and provide mmio mapping services to child icc-devices. * icc-device will replace SysBusDevice as a parent of APIC and IOAPIC devices. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c72bf468259935a80ea185f2cbe807c3da9c1bbd Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 19 16:45:06 2013 +0200 cpu: Move cpu_write_elfXX_note() functions to CPUState Convert cpu_write_elfXX_note() functions to CPUClass methods and pass CPUState as argument. Update target-i386 accordingly. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [AF: Retain stubs as CPUClass' default method implementation; style changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5f8df3ce6e0a057ec23cea74b6e629e59e085ac4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:30 2013 +0200 kvmvapic: Make dependency on sysbus.h explicit Allows kvmvapic to compile if sysbus.h is removed from apic_internal.h, from which it is indirectly included. sysbus.h will be removed from apic_internal.h after converting APICs to ICCDevice. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit baaeda08ff34ad17150b50a6f52d0faec9f3db36 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:29 2013 +0200 target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE Put APIC_SPACE_SIZE in a public header so that it can be reused elsewhere later. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d6d4980c9421f3b9d1800dbc320da6a0bf754bd Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 26 19:51:52 2013 +0200 target-i386: Do not allow to set apic-id once CPU is realized Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 310509304e1a83c1926471f1984c1cbf7d813631 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:26 2013 +0200 target-i386: Introduce apic-id CPU property The property is used from board level to set APIC ID for CPUs it creates. Do so in a new pc_new_cpu() helper, to be reused for hot-plug. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 72ac2e876ddc6158f5b6d5f758d4e38c436010ed Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 26 18:04:32 2013 +0200 target-i386: Introduce feat2prop() for CPU properties This helper replaces '_' with '-' in a uniform way. As a side effect, even custom mappings must use '-' now. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> [AF: Split off; operate on NUL-terminated string rather than '=' delimiter] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b8622725cf0196f672f272922b0941dc8ba1c408 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:25 2013 +0200 acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest * introduce processor status bitmask visible to guest at 0xaf00 addr, where ACPI asl code expects it * set bit corresponding to APIC ID in processor status bitmask on receiving CPU hot-plug notification * trigger CPU hot-plug SCI, to notify guest about CPU hot-plug event Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 69e5ff067ae724155fd7465119ee6db5721288b6 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 25 16:05:24 2013 +0200 cpu: Add helper cpu_exists(), to check if CPU with specified id exists Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a37677c32bb313f5ba48aaf89f81cdc10c23ce56 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:42 2013 +0200 cpus: Use qemu_for_each_cpu() in TCG thread Replaces an open-coded loop and hides unused CPUArchState. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d6b9e0d60cc511eca210834428bb74508cff3d33 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Apr 24 22:58:04 2013 +0200 cpu: Add qemu_for_each_cpu() Wrapper to avoid open-coded loops and to make CPUState iteration independent of CPUArchState. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 997395d3888fcde6ce41535a8208d7aa919d824b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:41 2013 +0200 cpu: Introduce get_arch_id() method and override it for X86CPU get_arch_id() adds possibility for generic code to get a guest-visible CPU ID without accessing CPUArchState. If derived classes don't override it, it will return cpu_index. Override it on target-i386 in X86CPU to return the APIC ID. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b8b7456d6ab7edb450ae5ec6473d3cd9a80412f4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:40 2013 +0200 pc: Update rtc_cmos on CPU hot-plug It provides updated currently available CPUs count to BIOS on reboot. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 066e9b2710be887f435e0e899fa71f1f4314f702 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:39 2013 +0200 cpu: Introduce CPU hot-plug notifier Hot-add CPU event will be distributed to acpi_piix4 and rtc_cmos. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6afb4721f3e45da727110470a61aafcd6682395e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:38 2013 +0200 cpu: Resume CPU from DeviceClass::realize() if hot-plugged Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2993683b0fde0f836777c945baaddcaa5937903f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:37 2013 +0200 cpu: Introduce cpu_resume(), for single CPU Also add a stub for it, to make possible to use it in qom/cpu.c, which is shared with user emulators. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 13eed94ed5617b98e657163490584dc2a0cc4b32 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:36 2013 +0200 cpu: Call cpu_synchronize_post_init() from DeviceClass::realize() If hotplugged, synchronize CPU state to KVM. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c4cfef5e8a6371aa5e6577f2b980315c2dc46cfb Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Tue Apr 23 10:29:35 2013 +0200 cpu: Make kvm-stub.o available outside softmmu It will provide stubs for *-user targets once softmmu-specific calls are attempted from common CPU code. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e9016ee2bda1b7757072b856b2196f691aee3388 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Apr 25 15:26:54 2013 +0800 virtio-net: count VIRTIO_NET_F_MAC when calculating config_len Commit 14f9b664 (hw/virtio-net.c: set config size using host features) tries to calculate config size based on the host features. But it forgets the VIRTIO_NET_F_MAC were always set for qemu later. This will lead a zero config len for virtio-net device when both VIRTIO_NET_F_STATUS and VIRTIO_NET_F_MQ were disabled form command line. Then qemu will crash when user tries to read the config of virtio-net. Fix this by counting VIRTIO_NET_F_MAC and make sure the config at least contains the mac address. Cc: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 1366874814-2658-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9f032464c06c563fe0df49eac9caaaa90a68a219 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 30 12:41:50 2013 +0300 sysemu: drop register_devices from header No user in sight. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Message-id: 20130430094149.GA29094@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit beb54a87ba74dfac00906b4c876945c6602cd293 Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 29 10:52:52 2013 -0500 libqtest: only call fclose() on open files libqtest.c can segfault when calling fclose() if the pidfile wasn't opened successfully. This patch fixes the issue. Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1367250772-17928-1-git-send-email-jlarrew@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 08eb8c85e3967b97865d46acadf26dc908fbb094 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Apr 26 11:24:47 2013 +0800 Wire up disabled wait a panicked event on s390 On s390 the disabled wait state indicates a state of attention. For example Linux uses that state after a panic. Lets put the system into panicked state. An alternative implementation would be to state disabled-wait <address> instead of pause in the action field. (e.g. z/OS, z/VM and other classic OSes use the address of the disabled wait to indicate an error code). Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Message-id: 6cf41156322e27e81a727b69f03728dbc225d5bb.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ab135f3462af4c523a4b5969f9d6c67b2ac427a Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:46 2013 +0800 pvpanic: create pvpanic by default for machine 1.5 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: f840042f0e1205041f8feaf0d39ca639884f3a00.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b42ffe60d8b510cd2f76ef50f6a1057f91a3dd34 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:45 2013 +0800 pvpanic: add document of pvpanic Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: a5db4ce406647e8f4663b639eae62d880531df8b.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 10a584b2875a391d1036adac18955a892e56f5e3 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:44 2013 +0800 pvpanic: pass configurable ioport to seabios This lets seabios patch the corresponding SSDT entry. Also add fw_cfg object to /machine/fw_cfg so we can reference it elsewhere. Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 60c65d95fe2b23b12bea67099126566010a11a1a.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1dfe5057e5cf45b296ae67a7f84bdc6fa618d602 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:43 2013 +0800 fw_cfg: add required header files If fw_cfg.h is included alone, gcc gives error messages like these: error: unknown type name â??uint32_tâ?? error: unknown type name â??size_tâ?? error: unknown type name â??hwaddrâ?? ... Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: d63f8bcdbfbec8135b1b57f9247c513a3e25762c.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eec3d2adc98dd9ef7352823ce6597f88a51cf7cb Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:42 2013 +0800 introduce a new qom device to deal with panicked event pvpanic device is used to send guest panic event from guest to qemu. When guest panic happens, pvpanic device driver will write a event number to IO port 0x505(which is the IO port occupied by pvpanic device, by default). On receiving the event, pvpanic device will pause guest cpu(s), and send a qmp event QEVENT_GUEST_PANICKED. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: b66077a40235b3531632a05a6ff373850afc7d2e.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c401a8a5156a2596b285586002d544c595d40cf7 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:41 2013 +0800 add a new qevent: QEVENT_GUEST_PANICKED This event will be emited when qemu detects guest panic. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: cf0bc45ecf9ecd3699bc72dc39f8cbab8ed79d8c.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ede085b3fedfde36cb566968c4efcfbad4845af1 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Apr 26 11:24:40 2013 +0800 add a new runstate: RUN_STATE_GUEST_PANICKED The guest will be in this state when it is panicked. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 0255f263ffdc2a3716f73e89098b96fd79a235b3.1366945969.git.hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cffc5113a421feba767af57ec87fdd53a29e9f9c Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Apr 29 14:35:08 2013 +0200 qdev: Report errors collected during device realization Better than just releasing the error object silently. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 517E68FC.6030400@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7e7da8e35827abf602fa886fda1af9b001c20d3e Author: Dunrong Huang <riegamaths@xxxxxxxxx> Date: Mon Apr 29 22:52:12 2013 +0800 rules.mk: Fix build breakage The following error occurs when building dtc module: CHK version_gen.h CC libfdt/fdt.o cc1: error: dtc: No such file or directory [-Werror] cc1: all warnings being treated as errors make[1]: *** [libfdt/fdt.o] Error 1 make: *** [subdir-dtc] Error 2 In rules.mak, "-I$(<D) -I$(@D)" was expanded to "-Idtc -I." when building submodule dct. Due to the using of "-Wmissing-include-dirs, a warning would be rarsed. To avoid it, add "-I$(<D) -I$(@D)" to QEMU_INCLUDES instead of QEMU_CFLAGS so that QEMU_CFLAGS does not contain the "-Idtc". Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367247132-19622-1-git-send-email-riegamaths@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9ab880b3a2f4b80bd5d8b18a312b3afed65dc036 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Apr 30 15:02:16 2013 +0200 QOM: Fail casts for unknown types When we try to cast an object to an unknown type, fail the cast. Today we would simply run into an assert(). This fixes a bug on qemu-system-s390x for me that gets triggered by the audio code looking for PCI and ISA buses. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367326936-28539-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b7da6c60814a5c8703e9fa0d943ec3240e9d94ab Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 30 16:00:32 2013 +0200 pc_piix: remove undesired change in pc_init1 Introduced when applying commit f81222b (audio: look for the ISA and PCI buses, 2013-04-18). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1367330432-14417-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b3e6d591b05538056d665572f3e3bbfb3cbb70e7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:04 2013 +0200 audio: enable PCI audio cards for all PCI-enabled targets Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-9-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f81222bc0cf68464fe82117521917cc1533c3ff4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:03 2013 +0200 audio: look for the ISA and PCI buses Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-8-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2e1103f60a871923ecd390804aba07b6031e0dc0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:02 2013 +0200 qom: do not return root for empty path An empty path will return the sole object of that type in the QOM tree. This is different from "/", which returns the root. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-7-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 98af93fde2e37b5b0c8cee9036e028fe6df6446c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:01 2013 +0200 audio: replace audio card configuration with default-configs Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-6-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f6547f07d41491d74179e8dd100f7477abdd43b1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:44:00 2013 +0200 audio: remove CONFIG_* symbols Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ffa48cf5ab719e1e181e51b87bc0f5d397b791fa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:43:59 2013 +0200 audio: remove HAS_AUDIO Several targets can have wavcapture/-soundhw support via PCI cards. HAS_AUDIO is a useless limitation, remove it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 36cd6f6f20724d49aac1910e310f81a43e0cb657 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:43:58 2013 +0200 audio: remove the need for audio card CONFIG_* symbols Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c444a1978fd9956c9712572d9ad0b83bbbc0a63 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Apr 18 18:43:57 2013 +0200 adlib: qdev-ify Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366303444-24620-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7504ae690c7320f3852890974708795cf5469895 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:12 2013 +0800 doc: document the Pseudo-encoding of LED state Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-5-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e7b2aaccd94a68c7927cae7ca47ced1bddc4f448 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:11 2013 +0800 vnc: Adjust lock state sync logic with VNC_FEATURE_LED_STATE Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-4-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab99e5c1d9f6a3f6fc2ce3b77b712221c647c7a5 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:10 2013 +0800 vnc: Support for LED state extension Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-3-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96f3d174bdfcc7d6205fa223ddc2cb01186dcd8f Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 25 13:29:09 2013 +0800 vnc: Add SCROLL lock key to kbd_leds Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366867752-11578-2-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1a63e059de2f2936d2066532b9f8ca22675cf11c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Apr 28 18:45:47 2013 +0200 libqos: Convert fw_cfg values to host endianness The fw_cfg ABI is Little Endian, so byte-swap the generically read byte array to host endianness. This unbreaks the fw_cfg tests on ppc. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367167547-19931-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 61e477f4c731c4ff3f1a44dbfc55c8a5903c8d52 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:55 2013 +0200 wdt_ib700: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-21-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f02317ad4eca65a9a79b474b6d2d77ba87a57185 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:54 2013 +0200 vmport: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Drop reserved underscore from struct name while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-20-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e3b7fbead827623ce521c8056a80050e8b35c578 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:53 2013 +0200 vmmouse: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Remove reserved underscore from struct name while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-19-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a72dc5fc67cd2412be35dc17698a4eb4f7e00a0c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:52 2013 +0200 vga-isa: QOM'ify ISA VGA Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Unify function naming scheme while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-18-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b582b5a398975d875d7e0b1c8f90817d01a8b20a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:51 2013 +0200 sga: QOM'ify Introduce type constant and cast macro. Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-17-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eeceb0849de2126185cf71860a449667fac2f0d7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:50 2013 +0200 serial: QOM'ify ISA serial Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-16-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 399f05a6e181c07611a93ac73025605cf24c4a6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:49 2013 +0200 sb16: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-15-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d367ece5e51d4f48687813eb5fe8d2a0e2e728d2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:48 2013 +0200 pcspk: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-14-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a2e0b863ebec1c9ceea9b7aab022a6378ea74136 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:47 2013 +0200 pckbd: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-13-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a0881c64081f750be2e44a9b7000e18e4cea065e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:46 2013 +0200 pc: QOM'ify port 92 Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-12-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b0dc5ee6bd0b16986a0f45ca778f3ead2398b2ee Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:45 2013 +0200 parallel: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-11-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fe6f5deb6611c512abcb4cb46a275756295b3e79 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:44 2013 +0200 ne2000-isa: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-10-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0e41271ec4944ea5b63c98b8e497618709e954c3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:43 2013 +0200 mc146818rtc: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-9-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a2772c70a9617c73875c5ee915b32ccb50f0bf90 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:42 2013 +0200 m48t59: QOM'ify ISA M48T59 NVRAM Introduce type constant and cast macro to obsolete DO_UPCAST() and container_of(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-8-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2f12688b9310a0001330df71d22ad6dc9f39dd29 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:41 2013 +0200 ide: QOM'ify ISA IDE Introduce type constant and cast macro to obsolete DO_UPCAST(). Add missing braces. Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-7-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 29bb5317cb7b23422b2612025d56055bbf0bbd02 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:40 2013 +0200 i8259: QOM cleanups Eliminate DO_UPCAST() for PICCommonState. Prepares for ISA realizefn. Also give the i8259_common type registration functions unique names while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-6-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eb1440e7ec522784f4351bb5e88436cc3cd9abd7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:39 2013 +0200 i82374: QOM'ify Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-5-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 020c8e7602fc6bf6a6ce62d99fb0a0882877ccd1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:38 2013 +0200 fdc: QOM'ify ISA floppy controller Introduce type constant and cast macro to obsolete DO_UPCAST(). Reuse type constant for PC machine compatibility settings. Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-4-git-send-email-afaerber@xxxxxxx Cc: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d4c2f175510a447f1aa6641e1a2337958a7c6af Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:37 2013 +0200 cirrus_vga: QOM'ify ISA Cirrus VGA Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 82407b6c347db5298e18a716e386d12569479e3d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Apr 27 22:18:36 2013 +0200 applesmc: QOM'ify Add a typedef for the state struct and rename from Status to State. Add type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1367093935-29091-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ec57db1630f9cdcd13c8c55acbc8daf5237aabf1 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Apr 25 15:24:23 2013 +0800 virtio-net: unbreak the minix guest Multiqueue patchset conditionally add control vq only when guest negotiate the feature. Though the spec is not clear on this but it breaks the minix guest since it will identify the ctrl vq even if it does not support it. Though this behavior seems a violation on the spec "If the VIRTIO_NET_F_CTRL_VQ feature bit is negotiated, identify the control virtqueue.", to keep the backward compatibility, always add the ctrl vq at end of the queues. Reported-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1366874663-2566-1-git-send-email-jasowang@xxxxxxxxxx Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b48df71c916478ff658d143d0742e85c78348fad Merge: 45dddd9... 9adea5f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 29 08:26:47 2013 -0500 Merge remote-tracking branch 'bonzini/migration-writev' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/migration-writev: win32: add readv/writev emulation win32: generate console executable again win32: move Makefile dependencies on version-obj-y to rules.mak win32: add generic RC rules to rules.mak Message-id: 1367230284-24612-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 45dddd90c339254d1ebc34ef719d84f3495c151b Merge: 903ce9f... ae12e3a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 29 08:26:39 2013 -0500 Merge remote-tracking branch 'alon/libcacard_ccid.2' into staging # By Cole Robinson # Via Alon Levy * alon/libcacard_ccid.2: ccid: Fix crash when backend isn't specified Message-id: 20130426234357.GA12457@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9adea5f7f7a23ef4a1231289a36a94c52347b142 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Apr 21 12:01:06 2013 +0200 win32: add readv/writev emulation Commit e9d8fbf (qemu-file: do not use stdio for qemu_fdopen, 2013-03-27) introduced a usage of writev, which mingw32 does not have. Even though qemu_fdopen itself is not used on mingw32, the future-proof solution is to add an implementation of it. This is simple and similar to how we emulate sendmsg/recvmsg in util/iov.c. Some files include osdep.h without qemu-common.h, so move the definition of iovec to osdep.h too, and include osdep.h from qemu-common.h unconditionally (protection against including files when NEED_CPU_H is defined is not needed since the removal of AREG0). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 903ce9fefacd828bbcadd656ddaed8984139be29 Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Date: Sat Apr 27 07:55:13 2013 +0200 sparc64: use direct interrupt mapping for PCI devices Every PCI Slot in PBM has 4 directly mapped IRQ lines. Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number) described in Section 19.3.3 of UltraSPARCâ?¢-IIi User's Manual. Please note that this patch requires the OpenBIOS counterpart patch. Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9625036d14bdcc908fa06cd45599115258452c46 Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Date: Sat Apr 27 07:55:12 2013 +0200 sparc64: fix loosing interrupts - clear interrupts only on writing to the interrupt clear registers - don't overwrite a currently active interrupt request - use the correct addresses for the interrupt clear registers (section 19.3.3.3 of the UltraSPARCâ?¢-IIi Userâ??s Manual) Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 852e82f303884139ba59f7f26e761d937a25fa55 Author: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Date: Sat Apr 27 07:55:11 2013 +0200 sparc64: allow 64 IRQ lines According to UltraSPARCâ?¢-IIi Userâ??s Manual, PBM has 64 IRQ lines. Signed-off-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 96fbd7de3656583d647c204c4138bbdcc3e35d2b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 23 13:07:40 2013 -0700 tcg-arm: Remove long jump from tcg_out_goto_label Branches within a TB will always be within 16MB. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit df5e0ef711cdd2ebfd4bdf420bfde17aa28df8b1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 13 15:24:33 2013 -0700 tcg-arm: Convert to CONFIG_QEMU_LDST_OPTIMIZATION Move the slow path out of line, as the TODO's mention. This allows the fast path to be unconditional, which can speed up the fast path as well, depending on the core. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 302fdde73f88fd958acfa18b670eed092eab21a0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 13 13:40:43 2013 -0700 tcg-arm: Use movi32 + blx for calls on v7 Work better with branch predition when we have movw+movt, as the size of the code is the same. Perhaps re-evaluate when we have a proper constant pool. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 595b5397cc589d694ec3af660b21f483e8142f69 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 23 08:38:50 2013 -0700 tcg-arm: Delete the 'S' constraint After the previous patch, 's' and 'S' are the same. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 702b33b1d5f8fee7e5799af450375671264a9ebd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 23:18:30 2013 -0700 tcg-arm: Improve scheduling of tcg_out_tlb_read The schedule was fully serial, with no possibility for dual issue. The old schedule had a minimal issue of 7 cycles; the new schedule has a minimal issue of 5 cycles. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cee87be80a6e9cc853e07a4d3afc694604c9ac8d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 18:18:07 2013 -0700 tcg-arm: Split out tcg_out_tlb_read Share code between qemu_ld and qemu_st to process the tlb. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 9feac1d77010b371501728256be96bf91b641985 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 15:06:53 2013 -0700 tcg-arm: Cleanup most primitive load store subroutines Use even more primitive helper functions to avoid lots of duplicated code. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 34358a12c8a8f2f85a1420fa0a1112de1c6a55af Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 10:34:18 2013 -0700 tcg-arm: Cleanup multiply subroutines Make the code more readable by only having one copy of the magic numbers, swapping registers as needed prior to that. Speed the compiler by not applying the rd == rn avoidance for v6 or later. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 13dd6fb962930a4b1d74f9b22342d1eb15e9194e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 09:50:25 2013 -0700 tcg-arm: Use R12 for the tcg temporary R12 is call clobbered, while R8 is call saved. This change gives tcg one more call saved register for real data. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4346457a47732cc0bd3a8f36d743624dc277ea55 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 09:49:04 2013 -0700 tcg-arm: Use TCG_REG_TMP name for the tcg temporary Don't hard-code R8. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0637c56c99be1c73f5814c7f02c0735242b757e5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 22:11:30 2013 -0700 tcg-arm: Implement division instructions An armv7 extension implements division, present on Cortex A15. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b6b24cb031d1d6e6f50abf0c8bdc1c309e549156 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 21:12:30 2013 -0800 tcg-arm: Implement deposit for armv7 We have BFI and BFC available for implementing it. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e86e0f2807fbadee09d9e06f11df69339cbbd94c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 23:16:24 2013 -0800 tcg-arm: Improve constant generation Try fully rotated arguments to mov and mvn before trying movt or full decomposition. Begin decomposition with mvn when it looks like it'll help. Examples include -: mov r9, #0x00000fa0 -: orr r9, r9, #0x000ee000 -: orr r9, r9, #0x0ff00000 -: orr r9, r9, #0xf0000000 +: mvn r9, #0x0000005f +: eor r9, r9, #0x00011000 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2df3f1ee68269d40f5dcb5e8d9aba0869e150896 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 19:51:56 2013 -0700 tcg-arm: Handle constant arguments to add2/sub2 We get to re-use the _rIN and _rIK subroutines to handle the various combinations of add vs sub. Fold the << 21 into the opcode enum values so that we can explicitly add TO_CPSR as desired. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5d53b4c93caf16531e65a95a9b5c93228fe48f8b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 18:21:59 2013 -0700 tcg-arm: Use tcg_out_dat_rIN for compares This allows us to emit CMN instructions. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d9fda57549877045aa0ec91d2a067a67cb41a29f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 11 18:04:14 2013 -0700 tcg-arm: Allow constant first argument to sub This allows the generation of RSB instructions. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a9a86ae95d24c587285856405dffc9cacdf2b683 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 22:06:21 2013 -0800 tcg-arm: Handle negated constant arguments to and/sub This greatly improves code generation for addition of small negative constants. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 19b62bf4148d834c709c464f6fb1c6b72f906250 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 21:36:45 2013 -0800 tcg-arm: Use bic to implement and with constant This greatly improves the code we can produce for deposit without armv7 support. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d6b64b2b606fe0fe5f2208e84ff7a28445de666a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Mar 31 13:15:19 2013 -0700 tcg: Log the contents of the prologue with -d out_asm This makes it easier to verify changes to the code generating the prologue. [Aurelien: change the format from %i to %zu] Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ae12e3a643c66575c77211e1226ada041e56b889 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Sun Apr 14 16:06:59 2013 -0400 ccid: Fix crash when backend isn't specified Reproducer: ./x86_64-softmmu/qemu-system-x86_64 -device usb-ccid,id=ccid0 -usb -device ccid-card-emulated -monitor stdio Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit fc4d60ee16e9c20404e9970b421ac3e96df4c214 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 12 17:11:40 2013 -0700 tcg-arm: Fix local stack frame We were not allocating TCG_STATIC_CALL_ARGS_SIZE, so this meant that any helper with more than 4 arguments would clobber the saved regs. Realizing that we're supposed to have this memory pre-allocated means we can clean up the tcg_out_arg functions, which were trying to do more stack allocation. Allocate stack memory for the TCG temporaries while we're at it. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ed605126a8d826e60587cc21d9e7b95e8c49b6f6 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Apr 21 00:42:56 2013 +0200 tcg: fix deposit_i64 op on 32-bit targets On 32-bit TCG targets, when emulating deposit_i64 with a mov_i32 + deposit_i32, care should be taken to not overwrite the low part of the second argument before the deposit when it is the same the destination. This fixes the shld instruction in qemu-system-x86_64, which in turns fixes booting "system rescue CD version 2.8.0" on this target. Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 909eedb74f88d1d6d9e6bbdc34875772e7a8a5ab Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 27 00:37:46 2013 +0200 target-ppc: slightly optimize lfiwax Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 076bfd7c65ce08c18d0c375e3779be25206ee2b7 Merge: 75f6e8b... 7d08d85... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 27 00:33:23 2013 +0200 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: (30 commits) target-ppc: add support for extended mtfsf/mtfsfi forms target-ppc: emulate store doubleword pair instructions target-ppc: emulate load doubleword pair instructions target-ppc: emulate lfiwax instruction target-ppc: emulate fcpsgn instruction target-ppc: emulate prtyw and prtyd instructions target-ppc: emulate cmpb instruction target-ppc: add instruction flags for Book I 2.05 disas: Disassemble all ppc insns for the guest target-ppc: optimize fabs, fnabs, fneg PPC: Fix dcbz for linux-user on 970 powerpc: correctly handle fpu exceptions. pseries: Generate device paths for VIO devices pseries: Convert VIO code to QOM style type safe(ish) casts target-ppc: Synchronize VPA state with KVM pseries: Fix some small errors in XICS logic target-ppc: Add more stubs for POWER7 PMU registers pseries: Fixes and enhancements to L1 cache properties pseries: Fix incorrect calculation of RMA size in certain configurations PPC: Fix compile with profiling enabled ... commit c12915e638a31010923b8dbbf8ce06f564a175f9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 24 22:57:59 2013 +0200 win32: generate console executable again The -mwindows option is not anymore in LIBS at this point of the Makefile, it is only in libs_softmmu. Check the right variable. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c02817e5bfbb27955cac970019e6670dc427bc41 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Apr 27 00:27:48 2013 +0200 win32: move Makefile dependencies on version-obj-y to rules.mak This makes the test on $(LIBTOOL) work. Otherwise, LIBTOOL is /bin/false by the time the test is done. Fixes Win32 compilation without a working cross-libtool. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6821cdc7c857c6af47277e98dde24cc99ddc0531 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Apr 27 00:25:31 2013 +0200 win32: add generic RC rules to rules.mak Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7d08d85645def18eac2a9d672c1868a35e0bcf79 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:22 2013 +0000 target-ppc: add support for extended mtfsf/mtfsfi forms Power ISA 2.05 adds support for extended mtfsf/mtfsfi form, with a new W field to select the upper part of the FPCSR register. For that the helper is changed to handle 64-bit input values and mask with up to 16 bits. The mtfsf/mtfsfi instructions do not have the W bit marked as invalid anymore. Instead this is checked in the helper, which therefore needs to access to the insns/insns_flags2. They are added in the DisasContext struct. Finally change all accesses to the opcode fields through extract helpers, prefixed with FP for consistency. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 44bc0c4d3e90bfa1fafdbcc19d023d2d4b119eed Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:21 2013 +0000 target-ppc: emulate store doubleword pair instructions Needed for Power ISA version 2.05 compliance. The check for odd register pairs is done using the invalid bits. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 05050ee8049f9fe75ffcac4a5aa053b5631653bf Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:20 2013 +0000 target-ppc: emulate load doubleword pair instructions Needed for Power ISA version 2.05 compliance. The check for odd register pairs is done using the invalid bits. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 199f830d19576c77a5ed8fec81c218258d73f1dd Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:19 2013 +0000 target-ppc: emulate lfiwax instruction Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> [agraf: fix tcg debug error] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f03328882f8008fc299d5f8ae33b9a80571fea3c Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:18 2013 +0000 target-ppc: emulate fcpsgn instruction Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 725bcec2885d4f6df78e24fb54459c9efb97abd5 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:17 2013 +0000 target-ppc: emulate prtyw and prtyd instructions Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> [agraf: fix 32-bit host compile, simplify code] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fcfda20f2f5df30d88d087d443c1c08649df8827 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:16 2013 +0000 target-ppc: emulate cmpb instruction Needed for Power ISA version 2.05 compliance. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9c2627b09d1bdee8a58730bbf48c76be48bd659f Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:15 2013 +0000 target-ppc: add instruction flags for Book I 2.05 .. and enable it on POWER7 CPU. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 88770fec6c8daeb96c1f5cdbedff9df173431fd6 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:14 2013 +0000 disas: Disassemble all ppc insns for the guest Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bf45a2e67cab8fcccb24e389bbd4ef68866a1cff Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 20 08:56:13 2013 +0000 target-ppc: optimize fabs, fnabs, fneg fabs, fnabs and fneg are just flipping the bit sign of an FP register, this can be implemented in TCG instead of using softfloat. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 414f5d1448fef9aad6d37f1d40d1158396573447 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Apr 26 09:18:58 2013 +0200 PPC: Fix dcbz for linux-user on 970 The default with linux-user for dcbz on 970 is to emulate 32 byte clears. However, redoing the dcbzl support we added a check to not honor the bit in HID5 that sets this. Remove the #ifdef check on linux user, so that we get 32 byte clears again. Reported-by: Riku Voipio <riku.voipio@xxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit db72c9f256ae70b30c5d5985234f085df4226c55 Author: Tristan Gingold <gingold@xxxxxxxxxxx> Date: Tue Apr 9 05:00:55 2013 +0000 powerpc: correctly handle fpu exceptions. Raise the exception on the first occurence, do not wait for the next floating point operation. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c4eda5b7234265313b09c2c9f9fdd3a960db97db Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:17 2013 +0000 pseries: Generate device paths for VIO devices This patch implements a get_dev_path qdev hook for the pseries paravirtual VIO bus. With upcoming savevm support, this will become very important for scsi disks hanging of VIO virtual SCSI adapters. scsibus_get_dev_path uses the get_dev_path of the parent adapter if available, but otherwise just uses a local channel/target/lun number to identify the device. So if two disks are present in the system having the same target and lun on seperate VIO scsi adapters, savevm cannot distinguish them. Since the conventional way of using VSCSI adapters is to have just one disk per adapter, such a conflict is very likely. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fd506b4f61cd22793f8c54a9adf5c69345792501 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:16 2013 +0000 pseries: Convert VIO code to QOM style type safe(ish) casts Curerntly the pseries VIO device code contains quite a few explicit uses of DO_UPCAST and plain C casts. This is (obviously) type unsafe, and not the conventional way of doing things in the QOM model. This patch converts the code to use the QOM convention of per-type macros to do verified casts with OBJECT_CHECK(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9b00ea4906a618756bcd10f09d432780eab87782 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:22 2013 +0000 target-ppc: Synchronize VPA state with KVM For PAPR guests, KVM tracks the various areas registered with the H_REGISTER_VPA hypercall. For full emulation, of course, these are tracked within qemu. At present these values are not synchronized. This is a problem for reset (qemu's reset of the VPA address is not pushed to KVM) and will also be a problem for savevm / migration. The kernel now supports accessing the VPA state via the ONE_REG interface, this patch adds code to qemu to use that interface to keep the qemu and KVM ideas of the VPA state synchronized. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e03c902cb617414dae49d77a810f6957ff7affac Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:21 2013 +0000 pseries: Fix some small errors in XICS logic Under certain circumstances the emulation for the pseries "XICS" interrupt controller was clearing a pending interrupt from the XISR register, without also clearing the corresponding priority variable. This will cause problems later when can trigger sanity checks in the under-development in-kernel XICS implementation. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 702763fa322ea69dde92517735507e0ac3879b5d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:20 2013 +0000 target-ppc: Add more stubs for POWER7 PMU registers In addition to the performance monitor registers found on nearly all 6xx chips, the POWER7 has two additional counters (PMC5 & PMC6) and an extra control register (MMCRA). This patch adds stub support for them to qemu - the registers won't do anything, but with this change won't cause illegal instruction traps accessing them. They're also registered with their ONE_REG ids, so their value will be kept in sync with KVM where appropriate. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0cbad81f70546b58f08de3225f1eca7a8b869b09 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:19 2013 +0000 pseries: Fixes and enhancements to L1 cache properties PAPR requires that the device tree's CPU nodes have several properties with information about the L1 cache. We already create two of these properties, but with incorrect names - "[id]cache-block-size" instead of "[id]-cache-block-size" (note the extra hyphen). We were also missing some of the required cache properties. This patch adds the [id]-cache-line-size properties (which have the same values as the block size properties in all current cases). We also add the [id]-cache-size properties. Adding the cache sizes requires some extra infrastructure in the general target-ppc code to (optionally) set the cache sizes for various CPUs. The CPU family descriptions in translate_init.c can set these sizes - this patch adds correct information for POWER7, I'm leaving other CPU types to people who have a physical example to verify against. In addition, for -cpu host we take the values advertised by the host (if available) and use those to override the information based on PVR. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f36951c19f15f3c053a31234bd2c297d86c1a052 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Apr 7 19:08:18 2013 +0000 pseries: Fix incorrect calculation of RMA size in certain configurations For the pseries machine, we need to advertise to the guest the size of its RMA - that is the amount of memory it can access with the MMU off. For HV KVM, this is constrained by the hardware limitations on the virtual RMA of one hash PTE per PTE group in the hash page table. We already had code to calculate this, but it was assuming the VRMA page size was the same as the (host) backing page size for guest RAM. In the case of a host kernel configured for 64k base page size, but running on hardware (or firmware) which only allows 4k pages, the hose will do all its allocations with a 64k page size, but still use 4k hardware pages for actual mappings. Usually that's transparent to things running under the host, but in the case of the maximum VRMA size it's not. This patch refines the RMA size calculation to instead use the largest available hardware page size (as reported by the SMMU_INFO call) which is less than or equal to the backing page size. This now gives the correct RMA size in all cases I've tested. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c8ff5daa09516272117eb23cd00da5d188ba73eb Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Apr 19 02:35:08 2013 +0200 PPC: Fix compile with profiling enabled When using profiling, we rely on profile_getclock() being available at our disposal. Somehow that function got moved from an indirect include we used to have in translate-init.c, so that we were now left not properly compiling anymore. Add an explicit include to timer.h which defines profile_getclock, so that we can compile again. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 20f649dd22dae13301c906c27a8768a318591ae8 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Apr 4 18:45:07 2013 +0200 PPC: mac newworld: fix cpu NIP reset value On -M mac99, we can run 970 CPUs. However, these CPUs define the initial instruction pointer they start execution at as part of their bootup protocol, so effectively it's up to the board to decide where they start. This went unnoticed, because they used to boot at the same location our flash was mapped to, but due to the recent reset changes our 970 CPUs want to reset to 0x100 now, which is always a 0 instruction. Set the initial IP to something reasonable for -M mac99. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> commit 31f2cb8ff415e376b05335dcf63ba38c00f29e5e Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Sun Feb 24 18:16:21 2013 +0000 Enable kvm emulated watchdog Enable the KVM emulated watchdog if KVM supports (use the capability enablement in watchdog handler). Also watchdog exit (KVM_EXIT_WATCHDOG) handling is added. Watchdog state machine is cleared whenever VM state changes to running. This is to handle the cases like return from debug halt etc. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: rebase to current code base, fix non-kvm cases] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cae7f586419ad261f55ef8700bf8f3fa5b4879d4 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Apr 4 15:40:44 2013 +0200 linux-headers: Update to kvm/queue Based on kvm.git queue branch with commit e1e2e605. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 752d634ecc74c76eb5e32db0e536d84c2d6aa3d8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Apr 3 10:56:45 2013 +0000 target-ppc: Fix narrow-mode add/sub carry output Broken in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a, the carry itself was fixed in 79482e5ab38a05ca8869040b0d8b8f451f16ff62. But we still need to produce the full 64-bit addition. Simplify the conditions at the top of the functions for when we need a new temporary. Only plain addition is important enough to warrent avoiding the temporary, and the extra tcg move op that would come with it. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2bc173224adc0fc318f2bd6fcf65dfdbc7d51123 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Wed Apr 3 04:03:38 2013 +0000 PPC: Add breakpoint registers for 603 and e300 Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Fri Mar 29 02:06:28 2013 +0000 PPC: fix hreset_vector for 60x, 7x0, 7x5, G2, MPC8xx, MPC5xx, 7400 and 7450 According to the different user's manuals, the vector offset for system reset (both /HRESET and /SRESET) is 0x00100. This patch may break support of some executables, as the power-on start address may change. For a specific board, if the power-on start address is different than HRESET vector (i.e. 0x00000100 or 0xfff00100), this should be fixed in board's initialization code. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8e7a6db96566fe4162edaeb3e8b62fc8004d1598 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 14:33:16 2013 +0000 target-ppc: fix nego and subf*o instructions The overflow computation of nego and subf*o instructions has been broken in commit ffe30937. Contrary to other targets, the instruction is subtract from an not subtract on PowerPC. This patch fixes the issue by using the correct argument in the xor computation. Thanks to Peter Maydell for the hint. With this change the PPC emulation passes the Gwenole Beauchesne testsuite again. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2cf3eb6df552cee74b52de9989e270b74e42847e Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Fri Mar 29 02:06:27 2013 +0000 PPC: Remove env->hreset_excp_prefix This value is not needed if we use correctly the MSR[IP] bit. excp_prefix is always 0x00000000, except when the MSR[IP] bit is implemented and set to 1, in that case excp_prefix is 0xfff00000. The handling of MSR[IP] was already implemented but not used at reset because the value of env->msr was changed "manually". The patch uses the function hreg_store_msr() to set env->msr, this ensures a good handling of MSR[IP] at reset, and therefore a good value for excp_prefix. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3b961124bf8a0b490e4fc3a6a39e004500ae6967 Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Sat Mar 30 06:40:49 2013 +0000 PPC: e500: advertise 4.2 MPIC only if KVM supports EPR Older KVM versions don't support EPR which breaks guests when we announce MPIC variants that support EPR. Catch that case and expose only MPIC version 2.0 which tells the guest that we don't support the EPR capability yet. Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> [agraf: Add comment, route cap check through kvm_ppc.c] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e71ec2e93dad4446d245031382e30b377640d9ca Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 05:06:23 2013 +0000 target-ppc: Enable ISEL on POWER7 ISEL is a Power ISA 2.06 instruction and thus is available on POWER7. Given this is trapped and emulated by the Linux kernel, I guess it went unnoticed. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 75f6e8b0f121beeee6a95eb9e35d88ec1f01824f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Sun Apr 14 03:14:49 2013 +0000 virtio-rng-s390: add properties. I don't see any reason why these properties are missing. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Note: Need to apply virtio-rng-refactoring first! Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3474b679486caa8f6448bae974e131370f360c13 Author: Jason J. Herne <jjherne@xxxxxxxxxx> Date: Thu Apr 25 04:25:51 2013 +0000 Utilize selective runtime reg sync for hot code paths Make use of new kvm_s390_get_registers_partial() for kvm_handle_css_inst() and handle_hypercall() since they only need registers from the partial set and they are called quite frequently. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 420840e58b85f7f4e5493dca3f273566f261090a Author: Jason J. Herne <jjherne@xxxxxxxxxx> Date: Thu Apr 25 04:25:50 2013 +0000 Allow selective runtime register synchronization We want to avoid expensive register synchronization IOCTL's on the hot path so a new kvm_s390_get_registers_partial() is introduced as a compliment to kvm_arch_get_registers(). The new function is called on the hot path, and kvm_arch_get_registers() is called when we need the complete runtime register state. kvm_arch_put_registers() is updated to only sync the partial runtime set when we've only dirtied the partial runtime set. This is to avoid sending bad data back to KVM if we've only partially synced the runtime register set. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7dc5af5545bb72e1343cc959b3f0e5cdd8758f1f Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 26 02:12:49 2013 +0000 Common: Add quick access to first boot device Instead of manually parsing the boot_list as character stream, we can access the nth boot device, specified by the position in the boot order. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba747cc8f31a1de7e0a20e7f0cf97965be338e70 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:12:54 2013 +0200 S390: CCW: Use new, working firmware by default Since we now have working firmware for s390-ccw in the tree, we can default to it on our s390-ccw machine, rendering it more useful. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0c1fecdd5234ba4bb0406362d38f8806a5be8fcc Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:10:50 2013 +0200 S390: ccw firmware: Add compiled blob Now that we have all the source code ready, add a compiled blob into the QEMU source tree, so that people without access to an s390 compiler can run the s390-ccw firmware. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit abbbe3de4aea92319f77cc9d402e983513d08539 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:55 2013 +0000 s390-ccw.img: Get queue config from host. Ask the host about the configuration instead of guessing it. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0f3f1f302fd2021a5ce6cb170321d0a0d35bdec5 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:54 2013 +0000 s390-ccw.img: Rudimentary error checking. Try to handle at least some of the errors that may happen. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 776e7f0f215dd11dde85277723408fae3d319143 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:53 2013 +0000 s390-ccw.img: Enhance drain_irqs(). - Use tpi + tsch to get interrupts. - Return an error if the irb indicates problems. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 22d67ab55aad82383a0e5628b902a1a0556b2fc9 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Apr 26 02:12:52 2013 +0000 s390-ccw.img: Detect devices with stsch. stsch is the canonical way to detect devices. As a bonus, we can abort the loop if we get cc 3, and we need to check only the valid devices (dnv set). Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dc03640b5851d3115448493f0eee2b7f539de81a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:04 2013 +0000 s390-ccw.img: Fix compile warning in s390 ccw virtio code Lets fix this gcc warning: virtio.c: In function â??vring_send_bufâ??: virtio.c:125:35: error: operation on â??vr->next_idxâ?? may be undefined [-Werror=sequence-point] Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6328801f19b08302377e812c454fd2b837f669e3 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:05 2013 +0000 s390-ccw.img: Take care of the elf->img transition We have to call strip with s390-ccw.elf as input and s390-ccw.img as output Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9933c30509f97e04be0a348659f38b5f53c1ad5c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:03 2013 +0000 s390-ccw.img: build s390-ccw rom on s3900 system by default Lets build the s390-ccw rom if on s390. Also fix the separate build folder case. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7f61cbc108dd16df9a53649d53f26143ad506fe1 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Apr 23 01:23:02 2013 +0000 s390-ccw.img: replace while loop with a disabled wait on s390 bios dont waste cpu power on an error condition. Lets stop the guest with a disabled wait. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b462fcd57c0949e4dfd457fafa91db17e0e99113 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:03:39 2013 +0200 S390: ccw firmware: Add Makefile This patch adds a makefile, so we can build our ccw firmware. Also add the resulting binaries to .gitignore, so that nobody is annoyed they might be in the tree. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 685d49a63e0665f609973ffe4ba34f06981e1b03 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:02:49 2013 +0200 S390: ccw firmware: Add bootmap interpreter On s390, there is an architected boot map format that we can read to boot a certain entry off the disk. Implement a simple reader for this that always boots the first (default) entry. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c9c39d3b5ea870073703141ba04813c7a8779b02 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:01:49 2013 +0200 S390: ccw firmware: Add glue header Like all great programs, we have to call between different functions in different object files. And all of them need a common ground of defines. Provide a file that provides these defines. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1e17c2c15b354a1e6c1d1ad41bb17f7bf146e9ba Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 21:01:00 2013 +0200 S390: ccw firmware: Add virtio device drivers In order to boot, we need to be able to access a virtio-blk device through the CCW bus. Implement support for this. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0369b2eb0707970c5f031b3ece84ccda953a8375 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 20:59:25 2013 +0200 S390: ccw firmware: Add sclp output In order to communicate with the user, we need an I/O mechanism that he can read. Implement SCLP ASCII support, which happens to be the default in the s390 ccw machine. This file is missing read support for now. It can only print messages. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 92f2ca38b01578075208799dd2f060fcc3638ed4 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 20:57:58 2013 +0200 S390: ccw firmware: Add main program This C file is the main driving piece of the s390 ccw firmware. It provides a search for a workable block device, sets it as the default to boot off of and boots from it. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 80fea6e8930384d7d8adae0eb1a00acb7647f7ec Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 20:56:08 2013 +0200 S390: ccw firmware: Add start assembly We want to write most of our code in C, so add a small assembly stub that jumps straight into C code for us to continue booting. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d0249ce5a8d11564958262fd567d1ea770358134 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 16:52:53 2013 +0200 S390: IPL: Use different firmware for different machines We have a virtio-s390 and a virtio-ccw machine in QEMU. Both use vastly different ways to do I/O. Having the same firmware blob for both doesn't really make any sense. Instead, let's parametrize the firmware file name, so that we can have different blobs for different machines. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3325995640e0a598c4c350a1a02357b422e90973 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 16:47:32 2013 +0200 S390: IPL: Support ELF firmware Our firmware blob is always a raw file that we load at a fixed address today. Support loading an ELF blob instead that we can map high up in memory. This way we don't have to be so conscious about size constraints. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 74ad2d22c1f6e2b24412f6b2adea7d6f9a719047 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Apr 22 16:44:39 2013 +0200 S390: Make IPL reset address dynamic We can have different load addresses for different blobs we boot with. Make the reset IP dynamic, so that we can handle things more flexibly. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bf9b255f484fd61cbaa91faeff254140a0ecd18c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 26 08:48:46 2013 -0500 gtk: refactor menu creation Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c34688f9015c5dacc81efc4f2a0df5742d9c927c Merge: 186b027... 859e555... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 26 08:32:17 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Liu Yuan (4) and others # Via Stefan Hajnoczi * stefanha/block: sheepdog: fix loadvm operation sheepdog: resend write requests when SD_RES_READONLY is received sheepdog: add helper function to reload inode sheepdog: add SD_RES_READONLY result code sheepdog: cleanup find_vdi_name rbd: Fix use after free in rbd_open() block: Disable driver-specific options for 1.5 sheepdog: implement .bdrv_co_is_allocated() sheepdog: use BDRV_SECTOR_SIZE sheepdog: add discard/trim support for sheepdog block/ssh: Require libssh2 >= 1.2.8. Message-id: 1366976682-10251-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 186b027d98a3c91c1c6dee631a027d5b2a0fce25 Merge: a1bff71... 6ea8430... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 26 08:32:13 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Ed Maste (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: bsd-user: Track change in FreeBSD SYSCTL(9) types virtio: Fix compilation without CONFIG_VHOST_SCSI qemu-doc: Option -ignore-environment removed. s390x: use CONFIG_INT128 to detect __uint128_t linux-user: fix compile error due to stray colon at end of #ifdef line Message-id: 1366975563-16216-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 859e5553a428225de6b8ef302cdcfd68d140b926 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Thu Apr 25 20:49:39 2013 +0800 sheepdog: fix loadvm operation Currently the 'loadvm' opertaion works as following: 1. switch to the snapshot 2. mark current working VDI as a snapshot 3. rely on sd_create_branch to create a new working VDI based on the snapshot This works not the same as other format as QCOW2. For e.g, qemu > savevm # get a live snapshot snap1 qemu > savevm # snap2 qemu > loadvm 1 # This will steally create snap3 of the working VDI Which will result in following snapshot chain: base <-- snap1 <-- snap2 <-- snap3 ^ | working VDI snap3 was unnecessarily created and might be annoying users. This patch discard the unnecessary 'snap3' creation. and implement rollback(loadvm) operation to the specified snapshot by 1. switch to the snapshot 2. delete working VDI 3. rely on sd_create_branch to create a new working VDI based on the snapshot The snapshot chain for above example will be: base <-- snap1 <-- snap2 ^ | working VDI Cc: qemu-devel@xxxxxxxxxx Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 13c31de2fdd534c065ce4710f6e8df3921e98c4f Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:54 2013 +0900 sheepdog: resend write requests when SD_RES_READONLY is received When a snapshot is taken from out side of qemu (e.g. qemu-img snapshot), write requests to the current vdi return SD_RES_READONLY. In this case, the sheepdog block driver needs to update the current inode to the latest one and resend the write requests. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ff53a0eb89afacfa1ba56b009d40be942d3bd63 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:53 2013 +0900 sheepdog: add helper function to reload inode This adds a helper function to update the current inode state with the specified vdi object. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6a0b5490338ed0fdf55c43062c88dd7638f05d6d Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:52 2013 +0900 sheepdog: add SD_RES_READONLY result code Sheepdog returns SD_RES_READONLY when qemu sends write requests to the snapshot vdi. This adds the result code and makes sd_strerror() print its error reason. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 982dcbf4cbe80fa362c1edc37b2ced1cb8bcf37b Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Apr 26 01:19:51 2013 +0900 sheepdog: cleanup find_vdi_name This makes 'filename' and 'tag' constant variables, and renames 'for_snapshot' to 'lock' to clear how it works. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c3ca988d2b0ee94dc8d53eff4b1c2de4ac06a270 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Apr 25 15:59:27 2013 +0200 rbd: Fix use after free in rbd_open() Commit a9ccedc3 frees the QemuOpts for the driver-specific options immediately, even though it still needs the filename string that is contained there. This doesn't work. Move the deletion of the QemuOpts to the end of the function where its content isn't needed any more. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8ec7d390b0d50b5e5b4b1d8dba7ba40d64a70875 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 24 15:29:29 2013 +0200 block: Disable driver-specific options for 1.5 We don't want to commit to the API yet before everything is worked out. Disable it for the 1.5 release. This commit is meant to be reverted after the 1.5 release. The disabling of the driver-specific options is achieved by applying the old checks while parsing the command line. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8d71c63137600a41b5b959217c0492278536b3dc Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Apr 23 14:03:35 2013 +0800 sheepdog: implement .bdrv_co_is_allocated() Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e8bfaa2faeb7c9585a5586aafaad5f3affc37814 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Apr 23 14:03:34 2013 +0800 sheepdog: use BDRV_SECTOR_SIZE Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cac8f4a60fc5c372bacd59eeff0646955fb4f246 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Apr 23 14:03:33 2013 +0800 sheepdog: add discard/trim support for sheepdog The 'TRIM' command from VM that is to release underlying data storage for better thin-provision is already supported by the Sheepdog. This patch adds the TRIM support at QEMU part. For older Sheepdog that doesn't support it, we return 0(success) to upper layer. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4fc16838b8392a29644d4d2c01495e6ff447a6f0 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Fri Apr 19 09:16:39 2013 +0100 block/ssh: Require libssh2 >= 1.2.8. libssh2 >= 1.2.8 is required to enable this block device (because that version introduced the libssh2_session_handshake call). Change the test to use pkg-config exclusively. If the user requests --enable-libssh2 and the minimum version is not available, then the following error is displayed: $ ./configure --enable-libssh2 ERROR: libssh2 >= 1.2.8 required for --enable-libssh2 If --enable-libssh2 is not specified, then the feature is silently disabled if sufficiently new libssh2 is not available. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6ea8430d98c48eb67e47d14dfe8c0fdb86413555 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Apr 25 13:59:41 2013 -0400 bsd-user: Track change in FreeBSD SYSCTL(9) types Originally from Garrett Cooper in FreeBSD PR ports/155558 http://www.freebsd.org/cgi/query-pr.cgi?pr=155558 Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b702d2aebeb6b1392f42262f537f70e6890233a7 Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Apr 25 13:38:28 2013 -0400 virtio: Fix compilation without CONFIG_VHOST_SCSI Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 48c75f484de13d59df6ae0e6becfe4ad4cd41ad5 Author: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx> Date: Thu Apr 25 18:41:16 2013 +0200 qemu-doc: Option -ignore-environment removed. Has been removed in commit fc9c54124d134dbd76338a92a91804dab2df8166. Signed-off-by: Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d49b8e0b299df3f0472945eb6d33b8413d102046 Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Date: Tue Apr 23 18:15:12 2013 +0100 s390x: use CONFIG_INT128 to detect __uint128_t Target s390x uses ad-hoc macro magic to guess if the compiler supports the GCC extension __uint128_t. This patch uses the the dedicated macro CONFIG_INT128 defined by configure instead. This fixes compilation with the CIL source code analyzer, which uses GCC as a preprocessor but does not support __uint128_t. Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7edd2cf1a2eace84e3f8753e912449ae8871802f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sun Apr 21 13:30:03 2013 +0100 linux-user: fix compile error due to stray colon at end of #ifdef line Remove a stray colon from the end of a #ifdef line. Some versions of gcc complain about this: linux-user/syscall.c: In function â??do_syscallâ??: linux-user/syscall.c:7606:28: error: extra tokens at end of #ifdef directive [-Werror] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-By: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a1bff71c56f2d1048244c829b63797940dd4ba0e Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Tue Apr 23 14:27:09 2013 +0200 microblaze: Add internal base vectors reg Configurable at CPU synthesis/instantiation. Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e3351000cd682200835763caca87adf708ed1c65 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Apr 22 14:41:28 2013 +1000 Makefile: Use QEMU_FLAGS for DTC compilation Build DTC as QEMU is built. Fixes the issue with mingw build which can't handles DTC's default CFLAGS. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9005a51b096272e1834638f8e184706548ee7364 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Apr 22 14:40:49 2013 +1000 Makefile: Don't build shared libfdt The submodule DTC should just build and use DTC as static (the whole motivation for using submod is lack of widespread distro support). The .so causes build failures on some platforms, so adjust the make target to just build the static lib. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 5257144a7860313c8cf19271c85f76fcbd123c39 Merge: 79f2007... 1f8f987... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Apr 25 15:57:27 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Amos Kong # Via Luiz Capitulino * luiz/queue/qmp: monitor: introduce query-command-line-options Message-id: 1366922656-32545-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 79f2007578a0a205e25a6f299cc52d6732337089 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Apr 25 13:53:02 2013 +0200 qemu-char: Set foo_tag = 0 when returning FALSE from callbacks While reviewing some patches I found this problem where tcp_chr_accept does not clear listen_tag when returning FALSE, leading to a double g_source_remove of the underlying source. Not really a problem unless the id gets re-used in between, but still something we should fix. While at it I've also reviewed all the other code in qemu-char.c for similar problems and found that pty_chr_timer has the same problem. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1366890782-10311-1-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4dcd8ace175a1a6bfb8945d8ae1906be051b36b Author: Ed Maste <emaste@xxxxxxxxxxx> Date: Thu Apr 25 12:17:11 2013 -0400 Remove unnecessary FreeBSD #include sys/param.h was included to define __FreeBSD_version, but the conditional using it was removed by commit d05ef160453e98546a4197496dc8a3cb2defac53 (Brad Smith, "Allow clock_gettime() monotonic clock to be utilized on more OS's"), so the include is no longer needed here. Signed-off-by: Ed Maste <emaste@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1366906631-2680-1-git-send-email-emaste@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d3002b0463727bf8110833b9d1a6efaa28990c28 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 25 09:33:19 2013 +0200 console: add dummy surface for guests without graphic card So users get a notification instead of a crash. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5209089fcd1373c363dc424827593ffaced12203 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Apr 23 15:44:31 2013 +0200 console: zap ds arg from register_displaychangelistener We don't have multiple DisplayStates any more, so passing it in as argument is not needed. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cdd5b9375744130e2f49548a3cac7be176a931ca Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Apr 23 13:26:59 2013 +0200 console: switch ppm_save to qemu_open ... so it works with fdset. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 14a936490bf90df32ab83d13563efe4b4c768c3c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 18 07:30:40 2013 +0200 console: add qemu_console_lookup_by_device Look up the QemuConsole for a given device, using the new link. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit aa2beaa1f57ca329cfceece08cc19d52368e6a8f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 17 10:21:27 2013 +0200 console: add device link to QemuConsoles So it is possible to figure which qemu console displays which device. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 95be0669a353d7f4093876a8fe94474e39c7af9d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 17 09:45:10 2013 +0200 console: qom-ify QemuConsole Just the minimal bits to turn QemuConsoles into Objects. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1f8f987d349f8f1bace4b47a83323b68ab0e084c Author: Amos Kong <akong@xxxxxxxxxx> Date: Thu Apr 25 17:50:35 2013 +0800 monitor: introduce query-command-line-options Libvirt has no way to probe if an option or property is supported, This patch introduces a new qmp command to query command line option information. hmp command isn't added because it's not needed. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> CC: Luiz Capitulino <lcapitulino@xxxxxxxxxx> CC: Osier Yang <jyang@xxxxxxxxxx> CC: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 7c4869761d7f2e0a3f806a5359eea5d2473ec5d5 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Apr 23 17:15:19 2013 +0200 virtio-ccw: Check indicators location. If a guest neglected to register (secondary) indicators but still runs with notifications enabled, we might end up writing to guest zero; avoid this by checking for valid indicators and only writing to the guest and generating an interrupt if indicators have been setup. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 9953f8822cc316eec9962f0a2858c3439a80adec Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Apr 12 17:25:03 2013 +0200 pc: Kill the "use flash device for BIOS unless KVM" misfeature Use of a flash memory device for the BIOS was added in series "[PATCH v10 0/8] PC system flash support", commit 4732dca..1b89faf, v1.1. Flash vs. ROM is a guest-visible difference. Thus, flash use had to be suppressed for machine types pc-1.0 and older. This was accomplished by adding a dummy device "pc-sysfw" with property "rom_only": * Non-zero rom_only means "use ROM". Default for pc-1.0 and older. * Zero rom_only means "maybe use flash". Default for newer machines. Not only is the dummy device ugly, it was also retroactively added to the older machine types! Fortunately, it's not guest-visible (thus no immediate guest ABI breakage), and has no vmstate (thus no immediate migration breakage). Breakage occurs only if the user unwisely enables flash by setting rom_only to zero. Patch review FAIL #1. Why "maybe use flash"? Flash didn't (and still doesn't) work with KVM. Therefore, rom_only=0 really means "use flash, except when KVM is enabled, use ROM". This is a Bad Idea, because it makes enabling/ disabling KVM guest-visible. Patch review FAIL #2. Aside: it also precludes migrating between KVM on and off, but that's not possible for other reasons anyway. Fix as follows: 1. Change the meaning of rom_only=0 to mean "use flash, no ifs, buts, or maybes" for pc-i440fx-1.5 and pc-q35-1.5. Don't change anything for older machines (to remain bug-compatible). 2. Change the default value from 0 to 1 for these machines. Necessary, because 0 doesn't work with KVM. Once it does, we can flip the default back to 0. 3. Don't revert the retroactive addition of device "pc-sysfw" to older machine types. Seems not worth the trouble. 4. Add a TODO comment asking for device "pc-sysfw" to be dropped once flash works with KVM. Net effect is that you get a BIOS ROM again even when KVM is disabled, just like for machines predating the introduction of flash. To get flash instead, use "--global pc-sysfw.rom_only=0". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365780303-26398-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fd028f64f662c801fd5a54d0e3a1d2baeee93ea Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Apr 12 17:25:02 2013 +0200 pc: Split pc_init_pci_1_0() off pc_init_pci_1_2() Just to make the next commit easier to review. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365780303-26398-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 36afbc5135062ccd7d0166ffc3ddbca052d05c71 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Apr 12 17:25:01 2013 +0200 pc: Inline pc_init_pci_1_3() into pc_init_pci_1_2() Just to make the commit after next easier to review. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365780303-26398-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1bfffe21a686ab273abce5ef12e8d2a3de320023 Merge: f3aa844... 57f9783... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Apr 24 13:23:26 2013 -0500 Merge remote-tracking branch 'alon/libcacard_ccid.1' into staging # By Alon Levy (15) and others # Via Alon Levy * alon/libcacard_ccid.1: (28 commits) libcacard/cac: change big switch functions to single return point dev-smartcard-reader: empty implementation for Mechanical (fail correctly) libcacard: move atr setting from macro to function libcacard/vreader: add debugging messages for apdu dev-smartcard-reader: copy atr protocol to ccid parameters dev-smartcard-reader: change default protocol to T=0 dev-smartcard-reader: define structs for CCID_Parameter internals ccid-card-passthru, dev-smartcard-reader: add debug environment variables ccid-card-passthru: add atr check libcacard: change default ATR dev-smartcard-reader: reuse usb.h definitions dev-smartcard-reader: support windows guest dev-smartcard-reader: remove aborts (never triggered, but just in case) dev-smartcard-reader: nicer debug messages dev-smartcard-reader: white space fixes libcacard: remove default libcoolkey loading libcacard: remove sql: prefix libcacard: teach vscclient to use GMainLoop for portability libcacard: vscclient to use QemuThread for portability libcacard: split vscclient main() from socket reading ... Message-id: 921423767.1475937.1366790789930.JavaMail.root@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f3aa844bbb2922a5b8393d17620eca7d7e921ab3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 16 10:50:38 2013 +0200 build: include config-{, all-}devices.mak after defining CONFIG_SOFTMMU and CONFIG_USER_ONLY Moving the inclusions closer to Makefile, and before rules.mak, makes Makefile and Makefile.target more consistent with each other. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1366102238-12374-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fca0a70cdb629b1184f80a7531def457f528b4ca Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:23 2013 +0200 virtio: drop unused function prototypes. This removes the unused prototypes in virtio.h. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a1a8cc7af5741a4221e1c5bc80c41390d896ff5 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:22 2013 +0200 virtio: cleanup: init and exit function. This clean the init and the exit functions and rename virtio_common_cleanup to virtio_cleanup. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1c819449836b926d6f9db860127211ef092da88e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:21 2013 +0200 virtio: remove virtiobindings. This remove virtio-bindings, and use class instead. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 181103cd52710b987799ae980bb92407994243bc Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:20 2013 +0200 virtio: remove the function pointer. This remove the function pointer in VirtIODevice, and use only VirtioDeviceClass function pointer. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a2f1078b70b6cfc98ed795f17f9d975b1dec1f65 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:19 2013 +0200 virtio-pci: cleanup. This remove the init, exit functions as they are no longer used. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d51fcfac8aca37f5f10981d2229681474de6304d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:18 2013 +0200 virtio-bus: make virtio_x_bus_new static. virtio_x_bus_new are only used in file scope. So this make them static. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5d448f9dac460d0adf7d7549a9c324f50f1dd1e2 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:21:17 2013 +0200 virtio-bus: add new functions. This add two functions: * virtio_bus_set_vdev_config. * virtio_bus_set_vdev_feature. Needed by virtio-ccw. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366791683-5350-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 611aa333b472c3fee5d4aed3b7e007621797e895 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:08:01 2013 +0200 virtio-rng: cleanup: use QOM casts. As the virtio-rng-pci, virtio-rng-s390 and virtio-rng-ccw are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-9-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 65f3b678f5b825010a1d167e82dca26ca84a199d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:08:00 2013 +0200 virtio-rng: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 46a5a89d654573425b63f8a7a613833973955f35 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:59 2013 +0200 virtio-rng: cleanup: init and exit functions. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2db26d4ca240bc0f04898253b9469a2435665084 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:58 2013 +0200 virtio-rng-ccw: switch to the new API. Here the virtio-rng-ccw is modified for the new API. The device virtio-rng-pci extends virtio-pci. It creates and connects a virtio-rng-device during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0bca1f531312037ab988b883ea3df85ddd2cc5b1 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:57 2013 +0200 virtio-rng-s390: switch to the new API. Here the virtio-rng-s390 is modified for the new API. The device virtio-rng-s390 extends virtio-s390-device as before. It creates and connects a virtio-rng during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 59ccd20a9ac719cff82180429458728f03ec612f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:56 2013 +0200 virtio-rng-pci: switch to the new API. Here the virtio-rng-pci is modified for the new API. The device virtio-rng-pci extends virtio-pci. It creates and connects a virtio-rng-device during the init. The properties are not changed. The virtio_pci_reset function, is removed as no longer used. The virtio_pci_rst function, is renamed virtio_pci_reset. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6eac8aec02b1e9c5a626820bcca7654cb7d006a7 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:55 2013 +0200 virtio-rng: add virtio-rng device. Create virtio-rng-device which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit af1a8ad6467eb7056573bc3580d3d1824a05224a Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Apr 24 10:07:54 2013 +0200 virtio-rng: don't use pointer for configuration. The configuration field must not be a pointer as it will be used for virtio-rng properties. So *conf is replaced by conf. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1366790881-3026-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5a37532d0897de488c35ab2db6d86647bd2a1b6f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 12:08:38 2013 +0200 input: introduce keyboard handler list Add a linked list of keyboard handlers. Added handlers will go to the head of the list. Removed handlers will be zapped from the list. The head of the list will be used for events. This fixes the keyboard-dead-after-usb-kbd-unplug issue, key events will be re-routed to the ps/2 kbd instead of being discarded. [ v2: fix cut+paste bug found my Markus ] Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1366798118-3248-3-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 72711efb58c13e28c89813490120b32947a2d719 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Apr 24 12:08:37 2013 +0200 input: make QEMUPutLEDEntry + QEMUPutMouseEntry private There is no need for anybody outside ui/input.c to access the struct elements. Move the definitions, leaving only the typedefs in the header files. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1366798118-3248-2-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a3ac6b53d4e8ed6fa2ca1af87c68a8b7d5535220 Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed Apr 24 18:37:22 2013 +0800 ich9: kill cmos_s3 Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366799842-18550-1-git-send-email-hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 57f97834efe0c208ffadc9d2959f3d3d55580e52 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 21:43:36 2013 +0200 libcacard/cac: change big switch functions to single return point Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 58aeda15abb963196faaa4a0f23c5af45840f1b0 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 17:31:10 2013 +0200 dev-smartcard-reader: empty implementation for Mechanical (fail correctly) Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 0b6a16c1a47b622b1a692ab179013d9e30e9cf3b Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 16:27:43 2013 +0200 libcacard: move atr setting from macro to function Only because qemu's checkpatch complains about it. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 7a6858962457c54be44715d6562504c765d9ea76 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 15:32:19 2013 +0200 libcacard/vreader: add debugging messages for apdu Using g_debug with log domain libcacard Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 2f8f916b6d4482976bb5cf179f65aa2cfcd1aec9 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:58:29 2013 +0200 dev-smartcard-reader: copy atr protocol to ccid parameters Adds todos. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit d7d218ef02d87c637d20d64da8f575d434ff6f78 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Wed Mar 27 10:14:15 2013 +0200 dev-smartcard-reader: change default protocol to T=0 We don't support T=1 so we shouldn't advertise it by default. Two independent changes: * Default ATR sets T=0. This gets overwritten by the client provided ATR later. * Class descriptor changes dwAdvertise dwProtocols.PPPP to 0x1 and dwProtocols.RRRR=0 per spec. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 4942d6c39477f441a106430ab11f85806b4532f5 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:57:45 2013 +0200 dev-smartcard-reader: define structs for CCID_Parameter internals Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit b16352acf3105000e14f194b556e159d5d06cff9 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:41:28 2013 +0200 ccid-card-passthru, dev-smartcard-reader: add debug environment variables Introduces a new utility function: parse_debug_env to avoid code duplication. This overrides whatever debug value is set on the corresponding devices from the command line, and is meant to ease the usage with any management stack. For libvirt you can set environment variables by extending the dom namespace, i.e: <domain type='kvm' id='3' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <qemu:commandline> <qemu:env name='QEMU_CCID_PASSTHRU_DEBUG' value='4'/> <qemu:env name='QEMU_CCID_DEBUG' value='4'/> </qemu:commandline> </domain> Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 0e61400c1941aabc9f45d5ff961b57337c7caac6 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:39:09 2013 +0200 ccid-card-passthru: add atr check Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit a26dfd95d33d650f9f9f93b6ee6f03be925db1a8 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 15:35:24 2013 +0200 libcacard: change default ATR Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 693e47738d05463b2743b0a652412d33cf254977 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 5 15:31:26 2013 +0200 dev-smartcard-reader: reuse usb.h definitions Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit c5cd7c875608911ec74817d24cd12b825014ba19 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 21:40:53 2013 +0200 dev-smartcard-reader: support windows guest By not advertising USB wakeup support (which we don't). Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 47bf53af7507986fc473cb308324340448fd85e7 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:55:07 2013 +0200 dev-smartcard-reader: remove aborts (never triggered, but just in case) Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 7e1ac5abe3fbbfee4ddfc2d9971a644bd787e055 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:50:33 2013 +0200 dev-smartcard-reader: nicer debug messages Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit 4543d43c6181d90f86fb528430f250810dde03d5 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Mar 4 18:45:49 2013 +0200 dev-smartcard-reader: white space fixes Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit ad2181f2b612cd8bf0a790faa2a1b51559f7234b Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Mar 20 14:07:49 2013 +0100 libcacard: remove default libcoolkey loading Use only the modules defined in the NSS database. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 667e0b4b6806d53e0b46e29a15d24427ef958c78 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Mar 20 14:07:48 2013 +0100 libcacard: remove sql: prefix For some reason, with sql:/ prefix, the PKCS11 modules are not loaded. This patch goes on top of Alon smartcard series. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit c9495ee9eb57786f5a60d4591bb186b23f6b6bef Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:16 2013 +0100 libcacard: teach vscclient to use GMainLoop for portability This version handles non-blocking sending and receiving from the socket. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 930c8ad472ec00d40cfbf1e9b1395946bf0dd392 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:15 2013 +0100 libcacard: vscclient to use QemuThread for portability Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit a50b831ae1fe039b7c22793f307e0b8afdf50589 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:14 2013 +0100 libcacard: split vscclient main() from socket reading Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 5354e4d242175e067bb70732f694ae9322a81351 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:13 2013 +0100 libcacard: fix mingw64 cross-compilation Compile and link with version.lo Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit 37746c5eacf309fa019ea0fa45f776c36c561457 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:12 2013 +0100 build-sys: must link with -fstack-protector It is needed to give that flag to the linker as well, but latest libtool 2.4.2 still swallows that argument, so let's pass it with libtool -Wc argument. qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to `__stack_chk_guard' Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit d3bf825e59125bc6a0accec0dca119ea0155cb82 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Date: Mon Feb 25 23:31:11 2013 +0100 util: move socket_init() to osdep.c vscclient needs to call socket_init() for portability. Moving to osdep.c since it has no internal dependency. Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit e2d9c5e769d59f2bca649b8286892d49bdcfc2b1 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Feb 27 21:08:06 2013 +0100 libcacard: use system config directory for nss db on win32 It's a bit nicer to look for default database under CSIDL_COMMON_APPDATA\pki\nss rather that /etc/pki/nss. Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit da000a4867749434e03896a5072321771736352a Author: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon May 21 21:51:33 2012 +0200 ccid: declare DEFAULT_ATR table to be "static const" Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit d18c7117467aa5fae95a7c6eaffcf50618197e79 Author: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon May 21 21:56:20 2012 +0200 ccid: make backend_enum_table "static const" and adjust users Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <mlureau@xxxxxxxxxx> commit d0ebd78890fba2ab458ec34763dae8566ccb1b72 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Wed Nov 21 14:16:08 2012 +0100 ccid-card-emul: do not crash if backend is not provided Program received signal SIGSEGV, Segmentation fault. __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164 164 movdqu (%rsi), %xmm2 (gdb) bt at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:477 at /home/elmarco/320g/src/qemu/hw/ccid-card-emulated.c:503 Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit e2fd2115ce26049335d66ae0ae5e5c0ad06fb498 Author: Marc-André Lureau <mlureau@xxxxxxxxxx> Date: Sun Dec 2 22:00:55 2012 +0100 libcacard: correct T0 historical bytes size The VCARD_ATR_PREFIX macro adds a prefix of 6 characters only. pcsc_scan was complaining before the patch: + Historical bytes: 56 43 41 52 44 5F 4E 53 53 ERROR! ATR is truncated: 2 byte(s) is/are missing Signed-off-by: Marc-André Lureau <mlureau@xxxxxxxxxx> Reviewed-by: Alon Levy <alevy@xxxxxxxxxx> commit bb71623811686ce3c34ce724f073f5c5dd95f51b Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 22 10:41:39 2013 -0400 Move TPM passthrough specific command line options to backend structure Move the TPM passthrough specific command line options to the passthrough backend implementation and attach them to the backend's interface structure. Add code to tpm.c for validating the TPM command line options. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryan <coreyb@xxxxxxxxxxxxxxxxxx> Message-id: 1366641699-21420-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 13daf6cad05a65970381cd8b876426d55133aadf Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:43 2013 +0200 virtio-9p: cleanup: QOM casts. As the virtio-9p-pci is switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e8111e50557761b0d86cd5c90fe7a272aeddd7a3 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:42 2013 +0200 virtio-9p: cleanup: init function. This remove old init function as it is no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 234a336f9e308ae60ad8ef8f2662eb0a93d7ff00 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:41 2013 +0200 virtio-9p-pci: switch to the new API. Here the virtio-9p-pci is modified for the new API. The device virtio-9p-pci extends virtio-pci. It creates and connects a virtio-9p-device during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e7303c43031302279ee7b5d6ea7031bf81e2e2d9 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 23 11:08:40 2013 +0200 virtio-9p: add the virtio-9p device. Create virtio-9p-device which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1366708123-19626-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 93b971c4ff0881349d4fa5a1394cc3d6faf351c3 Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Date: Tue Apr 23 13:04:16 2013 +0300 ui/gtk: Add Turkish translations Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Message-id: 1366711456-1935-1-git-send-email-ozancag@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 571253d410d6050637ccd3b6c122a3ad61e2ab25 Author: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Date: Tue Apr 23 13:03:22 2013 +0300 ui/gtk: Use gtk_widget_get_window() to support both gtk2 and gtk3 This fixes build with gtk+-3.0. Signed-off-by: Ozan Ã?aÄ?layan <ozancag@xxxxxxxxx> Message-id: 1366711402-1750-1-git-send-email-ozancag@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2cfd5cc06ab14879964c8bbd5595d416490605ea Merge: 4567367... 3f5cc97... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 23 10:33:45 2013 -0500 Merge remote-tracking branch 'kraxel/usb.81' into staging # By Gerd Hoffmann (3) and Hans de Goede (1) # Via Gerd Hoffmann * kraxel/usb.81: usb-host: raise libusbx minimum version to 1.0.13 usb: better speed mismatch error reporting ehci_free_packet: Discard finished packets when the queue is halted xhci: remove XHCIRing->base (unused) Message-id: 1366705929-11251-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3f5cc97e2ba00b34fd20a5553ed9d2fecf32f7e3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 18 12:16:44 2013 +0200 usb-host: raise libusbx minimum version to 1.0.13 Allows to remove one FIXME. Makes LIBUSB_LOG_LEVEL_WARNING build errors go away. And starting with that version libusb has a LIBUSBX_API_VERSION define which allows to easily #ifdef version dependencies should that need arrive in the future. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3b7e759a4110690c9617b1ffa6a7c96a343a330d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 18 11:57:21 2013 +0200 usb: better speed mismatch error reporting Report the supported speeds for device and port in the error message. Also add the speeds to the tracepoint. And while being at it drop the redundant error message in usb_desc_attach, usb_device_attach will report the error anyway. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e449f26bed42b1d8c6efefcd8dc768f23f19458f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 9 10:24:22 2013 +0200 ehci_free_packet: Discard finished packets when the queue is halted With pipelining it is possible to encounter a finished packet when cleaning the queue due to a halt. This happens when a non stall error happens while talking to a real device. In this case the queue on the usb-host side will continue processing packets, and we can have completed packets waiting in the queue after an error condition packet causing a halt. There are 2 reasons to discard the completed packets at this point, rather then trying to writing them back to the guest: 1) The guest expect to be able to cancel and/or change packets after the packet with the error without doing an unlink, so writing them back may confuse the guest. 2) Since the queue does not advance when halted, the writing back of these packets will fail anyways since p->qtdaddr != q->qtdaddr, so the ehci_verify_qtd call in ehci_writeback_async_complete_packet will fail. Note that 2) means that then only functional change this patch introduces is the printing of a warning when this scenario happens. Note that discarding these packets means that the guest driver and the device will get out of sync! This is unfortunate, but should not be a problem since with a non stall error (iow an io-error) the 2 are out of sync already anyways. Still this patch adds a warning to signal this happening. Note that sofar this has only been seen with a DVB-T receiver, which gives of a MPEG-2 stream, which allows for recovering from lost packets, see: https://bugzilla.redhat.com/show_bug.cgi?id=890320 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7d04c2b75562664a28612d7481f328ee4ec51dda Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 13:03:08 2013 +0200 xhci: remove XHCIRing->base (unused) Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 456736710df19c2275192269fe67a3f0b2583835 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Apr 22 17:48:40 2013 +0200 block: Fix build with tracing enabled filename was still uninitialised when it's used as a parameter to a tracing function, so let's move the initialisation. Also, commit c2ad1b0c forgot to add a NULL check, which this patch adds while we're at it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1366645720-11384-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e36d6ca34243fdc9f48f4bdbe5fca2b19162bfa Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 16 17:08:36 2013 -0400 tpm: Simplify creation of cancel path Simplify the creation of the cancel path given the TPM's device path. Given the path /dev/tpm0 build the path /sys/class/misc/tpm0/device/cancel. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1366146516-23814-1-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 56863d4f19c854acc5ebf5f5c1b590eb8164851a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sun Apr 21 14:30:03 2013 +0100 qtest: Handle addresses and values for {in, out}[bwl] as unsigned Handle the addresses and values for {in,out}[bwl] as unsigned (ie with strtoul), as per the protocol specification comment. This fixes a test failure in test_i440fx_defaults on 32-bit hosts where the test tries to write 0x80000000 and qtest was instead writing 0x7fffffff. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1366551003-16649-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 888a6bc63c94ef34026399117ebf6a1fa0e7a29a Author: Satoru Moriya <satoru.moriya@xxxxxxx> Date: Fri Apr 19 16:42:06 2013 +0200 Add option to mlock qemu and guest memory In certain scenario, latency induced by paging is significant and memory locking is needed. Also, in the scenario with untrusted guests, latency improvement due to mlock is desired. This patch introduces a following new option to mlock guest and qemu memory: -realtime mlock=on|off Signed-off-by: Satoru Moriya <satoru.moriya@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366382526-26146-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2b316774f60291f57ca9ecb6a9f0712c532cae34 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:09 2013 +0200 qemu-char: do not operate on sources from finalize callbacks Due to a glib bug, the finalize callback is called with the GMainContext lock held. Thus, any operation on the context from the callback will cause recursive locking and a deadlock. This happens, for example, when a client disconnects from a socket chardev. The fix for this is somewhat ugly, because we need to forego polymorphism and implement our own function to destroy IOWatchPoll sources. The right thing to do here would be child sources, but we support older glib versions that do not have them. Not coincidentially, glib developers found and fixed the deadlock as part of implementing child sources. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Message-id: 1366385529-10329-5-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cdbf6e165988ab9d7c01da03b9e27bb8ac0c76aa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:08 2013 +0200 qemu-char: correct return value from chr_read functions Even if a CharDriverState's source is blocked by the front-end, it must not be dropped. The IOWatchPoll that wraps it will take care of adding and removing it to the main loop. Only remove the source when the channel is closed; and in that case, make sure that the wrapping IOWatchPoll is removed too. These should just be theoretical bugs. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366385529-10329-4-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 85a67692d04e15a6b7d5a0e2b9d573d8bffbe108 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:07 2013 +0200 qemu-char: simplify pty polling There is no need to use a timer and pty_chr_read to detect a connected pty. It is simpler to just call g_poll periodically and check for POLLHUP. It is done once per second, and only if the pty is disconnected, so it is cheap enough. Tested with "-monitor pty" and "-serial mon:pty", both of which work correctly and do not freeze QEMU. (How to test ptys? "socat -,raw,echo=0 /dev/pts/4,raw"). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366385529-10329-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 910b63682ea72f34307b8797c4cc81a1f2a0c47f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 17:32:06 2013 +0200 qemu-char: use consistent idiom for removing sources Always check that the source is active, and zero the tag afterwards. The occurrence in pty_chr_state will trigger with the next patch, the others are just theoretical. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366385529-10329-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0aa09897571c55292703b7a099d7ea79baa09950 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Apr 22 17:42:50 2013 +1000 translate-all: fix compiler warning and linked error The code did use profile_getclock() but did not include include/qemu/timer.h where this function is defined. The patch fixes this. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1366616571-4321-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f1ab7a5acf08dcc11638b22660ed87d5f6d633c2 Merge: 2569073... 7da94ca... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:08:22 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (16) and Stefan Hajnoczi (4) # Via Kevin Wolf * kwolf/for-anthony: qemu-iotests: add 053 unaligned compressed image size test block: Allow overriding backing.file.filename block: Remove filename parameter from .bdrv_file_open() vvfat: Use bdrv_open options instead of filename sheepdog: Use bdrv_open options instead of filename rbd: Use bdrv_open options instead of filename iscsi: Use bdrv_open options instead of filename gluster: Use bdrv_open options instead of filename curl: Use bdrv_open options instead of filename blkverify: Use bdrv_open options instead of filename blkdebug: Use bdrv_open options instead of filename raw-win32: Use bdrv_open options instead of filename raw-posix: Use bdrv_open options instead of filename block: Enable filename option block: Add driver-specific options for backing files block: Fail gracefully when using a format driver on protocol level qemu-iotests: Fix _filter_qemu qemu-img: do not zero-pad the compressed write buffer qcow: allow sub-cluster compressed write to last cluster qcow2: allow sub-cluster compressed write to last cluster Message-id: 1366630294-18984-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 25690739f1f067b6d8b2e616d87b1d976db0db92 Merge: 6165daa... 97ebbab... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:05:14 2013 -0500 Merge remote-tracking branch 'bonzini/nbd-next' into staging # By Stefan Hajnoczi # Via Paolo Bonzini * bonzini/nbd-next: nbd: set TCP_NODELAY nbd: use TCP_CORK in nbd_co_send_request() nbd: unlock mutex in nbd_co_send_request() error path Message-id: 1366381830-11267-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6165daa4c8431d9d60382352864b46f34dd61ab4 Merge: d639498... d6e5191... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:05:05 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (5) and others # Via Paolo Bonzini * bonzini/scsi-next: vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module vhost-scsi: new device supporting the tcm_vhost Linux kernel module virtio: simplify Makefile conditionals virtio-scsi: create VirtIOSCSICommon vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping scsi: VMWare PVSCSI paravirtual device implementation scsi: avoid assertion failure on VERIFY command Message-id: 1366381460-6041-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d639498852773a6019cf1b970dd8dc2f3791c45b Merge: 68c0aa6... dcc6cef... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 22 08:04:21 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Amos Kong (1) and Luiz Capitulino (1) # Via Luiz Capitulino * luiz/queue/qmp: virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event monitor: fix the wrong order of releasing keys Message-id: 1366375833-995-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7da94ca741e01a80afd65e107cc2cee160d1b2d2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Apr 16 11:14:23 2013 +0200 qemu-iotests: add 053 unaligned compressed image size test Test that qemu-img convert -c works when input image length is not a multiple of the cluster size. Previously an error message would be produced: qemu-img: error while compressing sector 0: Input/output error Now that qcow2 and qcow handle this case the test passes successfully. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1cb6f506444ddf00bb163e5ffa28ab1051b65642 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 20:27:07 2013 +0200 block: Allow overriding backing.file.filename If a filename is passed in the driver-specific options from the command line, the backing file path from the image is ignored now. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 56d1b4d21d444619302d3f1291a133b1c2b9b072 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 20:02:37 2013 +0200 block: Remove filename parameter from .bdrv_file_open() It is unused now in all block drivers. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 7ad9be64e8ac17811ff358279ef7193cc623da1a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 19:42:04 2013 +0200 vvfat: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit c8c96350e0127c1d3d55c5f16978f1f5201c52e8 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 18:10:49 2013 +0200 sheepdog: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit a9ccedc3daa06723821663c6b3b02c1760035bb9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 18:05:35 2013 +0200 rbd: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 60beb3412dfa9a6341338c93d0ef44312a9c4f66 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 17:59:59 2013 +0200 iscsi: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit b489477653702ae2beb919084644a6c8b0b72c36 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 12 17:50:16 2013 +0200 gluster: Use bdrv_open options instead of filename This is only to convert the internal interface that is used for passing the "filename" to be parsed, but converting to actual fine grained options is left for another day, as it doesn't look trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 8e6d58cd5b695045dd4a203176d2a57138e7f02a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 15:31:33 2013 +0200 curl: Use bdrv_open options instead of filename As a bonus, going through the QemuOpts QEMU_OPT_SIZE parser for the readahead option gives us proper error reporting that the previous use of atoi() lacked. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 16c790926b0dda0535187a82d1b00fde19580571 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 14:40:28 2013 +0200 blkverify: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f468121290c2f632cb91f7b5e8184101e1ee0ab6 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 13:37:33 2013 +0200 blkdebug: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 8a79380b8ef1b02d2abd705dd026a18863b09020 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 10 11:34:56 2013 +0200 raw-win32: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit c66a615723914405e4307e5f13a28fd6b910150e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 2 10:47:40 2013 +0200 raw-posix: Use bdrv_open options instead of filename Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 035fccdf7993a5b9a40f9dec22a663d4d6edb36b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 9 14:34:19 2013 +0200 block: Enable filename option This allows using the file.filename option instead of the string that comes from -drive file=... and is passed around as a separate parameter. The goal is to get rid of this parameter and use the options QDict more consistently. With this option you can access not only the top-level image, but specify a filename for the backing file (currently only if no backing file exists, but we'll allow overriding it later) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 31ca6d077c24b7aaa322d8930e3e5debbdb4a047 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Mar 28 15:29:24 2013 +0100 block: Add driver-specific options for backing files Options starting in "backing." are passed to the backing file now. If you don't need to specify the filename for the backing file, you can add it on the command line instead of in the image file: $ qemu-nbd -t /tmp/test.img $ qemu-img create -f qcow2 empty.qcow2 1G $ qemu-system-x86_64 -drive file=empty.qcow2,backing.file.driver=nbd,\ backing.file.host=localhost Note that this doesn't override the backing filename from the image. If the image has one, this will fail because NBD doesn't want the options and a filename at the same time. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 2af5ef70af9fdc823407ddc4ae14766806d4837a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 9 13:19:18 2013 +0200 block: Fail gracefully when using a format driver on protocol level Specifying the wrong driver could fail an assertion: $ qemu-system-x86_64 -drive file.driver=qcow2,file=x qemu-system-x86_64: block.c:721: bdrv_open_common: Assertion `file != ((void *)0)' failed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bdda92324dad963e85589e9ea74b2f2620319304 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 16 11:22:36 2013 +0200 qemu-iotests: Fix _filter_qemu $QEMU_PROG happens to be 'qemu' in my setup, so this sed command replaces a bit too much. Restrict it to the start of the line and to when it's followed by a colon, i.e. the form used by error messages. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 54f106d5fd51fcf385bab2ddf125477e83758038 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 17:17:33 2013 +0200 qemu-img: do not zero-pad the compressed write buffer bdrv_write_compressed() does not allow requests that span the end of the device. Therefore it is useless to zero-pad the last cluster and thereby exceed the end of the device. Let image formats handle zero-padding the final compressed cluster, if necessary. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 16b3c5cd9f27678bc9d6707664640653b47533b9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 17:17:32 2013 +0200 qcow: allow sub-cluster compressed write to last cluster Compression in qcow requires image length to be a multiple of the cluster size. Lift this requirement by zero-padding the final cluster when necessary. The virtual disk size is still not cluster-aligned, so the guest cannot access the zero sectors. Note that this is almost identical to the qcow2 version of this code. qcow2's compression code is drawn from qcow. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f4d38bef7cc79018e2aa789b0e4c23c3a8cdfca5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 17:17:31 2013 +0200 qcow2: allow sub-cluster compressed write to last cluster Compression in qcow2 requires image length to be a multiple of the cluster size. Lift this requirement by zero-padding the final cluster when necessary. The virtual disk size is still not cluster-aligned, so the guest cannot access the zero sectors. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 68c0aa6e02f79f8825c0c5dc4c7ed25d524aaa8b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Apr 17 09:16:35 2013 +0000 ui/cocoa.m: Fix recent compile breakage Fix failures to compile introduced by recent console commits 1dbfa00503, 81c0d5a6) which removed is_graphic_console() and vga_hw_update() without updating the cocoa UI backend to match. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 089305ac0a273e64c9a5655d26da7fe19ecee66f Author: Pavel Dovgaluk <Pavel.Dovgaluk@xxxxxxxxx> Date: Mon Apr 15 10:59:15 2013 +0400 i386 ROR r8/r16 instruction fix Fixed EFLAGS corruption by ROR r8/r16 instruction located at the end of the TB. Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 21e5181f9552e3a876b488c77dc5cfeccff66414 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Apr 20 14:48:28 2013 +0100 qdev: Drop taddr properties Drop all the infrastructure for taddr properties (ie ones which are 'hwaddr' sized). These are now unused, and any further desired use would be rather questionable since device properties shouldn't generally depend on a type that is conceptually variable based on the target CPU. 32 or 64 bit integer properties should be used instead as appropriate for the specific device. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 19298eca060036c3697b0fd9ae77a3ba715cc9c5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Apr 20 14:48:27 2013 +0100 hw/sm501: Use correct setter for sysbus-ohci dma-address property The sysbus-ohci dma-address property is declared as a HEX64 property, not a TADDR, so use the correct setter for it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f4374c82b158b36bd40a5055bffa60796569a300 Merge: 32370db... af9277e... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 20 11:39:08 2013 +0000 Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm: hw/versatile_pci: Drop unnecessary vpb_pci_config_addr() versatile_pci: Expose PCI memory space to system arm/realview: Fix mapping of PCI regions versatile_pci: Implement the PCI controller's control registers versatile_pci: Implement the correct PCI IRQ mapping versatile_pci: Put the host bridge PCI device at slot 29 versatile_pci: Use separate PCI I/O space rather than system I/O space versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE versatile_pci: Update to realize and instance init functions versatile_pci: Expose PCI I/O region on Versatile PB versatile_pci: Fix hardcoded tabs commit 32370db3fb8433259435397c4d60006164c0d198 Merge: 87885c8... e91f229... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 20 11:38:48 2013 +0000 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Correctly restore FPSCR target-arm: Add some missing CPU state fields to VMState target-arm: port ARM CPU save/load to use VMState target-arm: Reinsert missing return statement in ARM mode SRS decode commit 87885c8e57db38669dad2aa1a83577fe95f481be Merge: f691df5... 03903ff... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 20 11:38:29 2013 +0000 Merge branch 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu * 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu: linux-user: fix setgroups/getgroups for non-UID16 archs linux-user: fix undefined shift in copy_to_user_fdset linux-user: change do_semop to return target errno when unsuccessful commit d6e51919a7e3250bbfb4bb0ad0f208ab6fd688a4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 29 01:08:16 2013 +0000 vhost-scsi-s390: new device supporting the tcm_vhost Linux kernel module Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ccf6916c843edd30ea4ecfaaac68faa865529c97 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 16:16:50 2013 +0200 vhost-scsi-ccw: new device supporting the tcm_vhost Linux kernel module Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 50787628ee343d3c149eb35c206b68429d1cfdf4 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 29 01:08:16 2013 +0000 vhost-scsi-pci: new device supporting the tcm_vhost Linux kernel module Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5e9be92d775208cf6cc9bf9a592853888046239e Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri Mar 29 01:08:16 2013 +0000 vhost-scsi: new device supporting the tcm_vhost Linux kernel module The WWPN specified in configfs is passed to "-device vhost-scsi-pci". The tgpt field of the SET_ENDPOINT ioctl is obsolete now, so it is not available from the QEMU command-line. Instead, I hardcode it to zero. Changes in Patch-v2: - Add vhost_scsi_get_features() in order to determine feature bits supports by host kernel (mst + nab) - Re-enable usage of DEFINE_VIRTIO_COMMON_FEATURES, and allow EVENT_IDX to be disabled by host in vhost_scsi_get_features() - Drop unused hotplug bit in DEFINE_VHOST_SCSI_PROPERTIES Changes in Patch-v1: - Set event_idx=off by default (nab, thanks asias) - Disable hotplug feature bit for v3.9 tcm_vhost kernel code, need to re-enable in v3.10 (nab) - Update to latest qemu.git/master HEAD Changes in WIP-V3: - Drop ioeventfd vhost_scsi_properties (asias, thanks stefanha) - Add CONFIG_VHOST_SCSI (asias, thanks stefanha) - Add hotplug feature bit Changes in WIP-V2: - Add backend guest masking support (nab) - Bump ABI_VERSION to 1 (nab) - Set up set_guest_notifiers (asias) - Set up vs->dev.vq_index (asias) - Drop vs->vs.vdev.{set,clear}_vhost_endpoint (asias) - Drop VIRTIO_CONFIG_S_DRIVER check in vhost_scsi_set_status (asias) Howto: Use the latest seabios, at least commit b44a7be17b git clone git://git.seabios.org/seabios.git make cp out/bios.bin /usr/share/qemu/bios.bin qemu -device vhost-scsi-pci,wwpn=naa.6001405bd4e8476d,event_idx=off ... Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Asias He <asias@xxxxxxxxxx> [ Rebase on top of VirtIOSCSICommon patch, fix bugs in feature negotiation and irqfd masking - Paolo ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e9cd423fa833533612beaa7674f988954bccb801 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 19 10:45:25 2013 +0200 virtio: simplify Makefile conditionals Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 292c8e50d540735c601886acc13eb0c117ee94f8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 29 01:08:15 2013 +0000 virtio-scsi: create VirtIOSCSICommon This patch refactors existing virtio-scsi code into VirtIOSCSICommon in order to allow virtio_scsi_init_common() to be used by both internal virtio_scsi_init() and external vhost-scsi-pci code. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Asias He <asias@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f691df528340807d42247fe79a89ea88e6303e1d Merge: 5dff24b... ad6b40f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 19 08:38:16 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Stefan Weil (3) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: m25p80: Remove bogus include of devices.h ssh: Remove unnecessary use of strlen function. block/ssh: Add missing gcc format attributes linux-user: change do_semop to return target errno when unsuccessful w64: Fix compiler warnings (wrong format specifier) Remove unneeded type casts virtio.h: drop unused function prototypes bswap: fix compiler warning Message-id: 1366371241-23430-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5dff24bebae5103810002ea76b1d03927e2148f2 Merge: b6c99f8... 22773d6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 19 08:38:05 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci: add pci test device This adds a new device that we can use for testing PCI PIO and MMIO, with and without ioeventfd in different configurations. FAST_MMIO will be added if/when kvm supports it. Also included are minor cleanups in kvm APIs that it needs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Mon 15 Apr 2013 05:42:24 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin # Via Michael S. Tsirkin * mst/tags/for_anthony: pci: add pci test device kvm: support non datamatch ioeventfd kvm: support any size for pio eventfd kvm: remove unused APIs Message-id: cover.1366272004.git.mst@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b6c99f8a6d66c5fa01a60483d9b012eb2b0932f2 Merge: 09dada4... 007e986... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 19 08:37:58 2013 -0500 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging # By Jan Kiszka (4) and Marcelo Tosatti (1) # Via Marcelo Tosatti * qemu-kvm/uq/master: vmxcap: Update according to SDM of January 2013 target-i386: kvm: save/restore steal time MSR vmxcap: Report APIC register emulation and RDTSCP control vmxcap: Augment reported information vmxcap: Open MSR file in unbuffered mode Message-id: cover.1366253306.git.mtosatti@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dcc6ceffc066745777960a1f0d32f3a555924f65 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu Apr 18 11:53:32 2013 -0400 virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event Because dev->actual is uint32_t, the expression 'dev->actual << VIRTIO_BALLOON_PFN_SHIFT' is truncated to 32 bits. This overflows when dev->actual >= 1048576. To reproduce: 1. Start a VM with a QMP socket and 5G of RAM 2. Connect to the QMP socket, negotiate capabilities and issue: { "execute":"balloon", "arguments": { "value": 1073741824 } } 3. Watch for BALLOON_CHANGE QMP events, the last one will incorretly be: { "timestamp": { "seconds": 1366228965, "microseconds": 245466 }, "event": "BALLOON_CHANGE", "data": { "actual": 5368709120 } } To fix it this commit casts it to ram_addr_t, which is ram_size's type. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 153d02e338a063ad5c51ff0725d5d88285f44121 Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Apr 16 13:47:32 2013 +0800 monitor: fix the wrong order of releasing keys (qemu) sendkey ctrl_r-scroll_lock-scroll_lock Executing this command could not let Windows guest panic, it caused by the wrong order of releasing keys. This problem was introduced by commit e4c8f004c55d9da3eae3e14df740238bf805b5d6. The right release order should be starting from last item. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e91f229a253f489f6d12b946ad7bdcdc158c5b67 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 12:24:19 2013 +0100 target-arm: Correctly restore FPSCR Use the helper functions to save and restore the FPSCR, so that we correctly propagate rounding mode and flushing behaviour into the float_status fields. This also allows us to stop saving the vector length/stride fields separately. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 602131e944f513f85ffa5593b020d263599cb2cd Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 12:24:19 2013 +0100 target-arm: Add some missing CPU state fields to VMState A number of CPU state fields were accidentally omitted from our migration state: some OMAP specific cp15 registers, and some related to state for load/store exclusive insns. Add them. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 3cc1d20823e8677038c5bb5db10910f6271b1883 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Apr 19 12:24:19 2013 +0100 target-arm: port ARM CPU save/load to use VMState Port the ARM CPU save/load code to use VMState. Some state is saved in a slightly different order to simplify things -- for example arrays are saved one after the other rather than 'striped', and we always save all 32 VFP registers even if the CPU happens to only have 16. Use one subsection for each feature. This means that we don't need to bump the version field each time that a new feature gets introduced. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> [PMM: fixed conflicts, updated to use cpu_class_set_vmsd(), updated with new/removed fields since original patch, changed to use custom VMStateInfo for cpsr rather than presave/postload hooks, corrected subsection names so vmload doesn't fail] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 3b3284486be6898937395fac3ddbd2e68c5cb52f Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Date: Fri Apr 19 12:24:18 2013 +0100 target-arm: Reinsert missing return statement in ARM mode SRS decode Since patch 81465888c5306cd94abb9847e560796fd13d3c2f target-arm: factor out handling of SRS instruction the ARM mode SRS instruction has not worked in QEMU. The problem is a missing return directive that was removed in the refactoring, so after decoding the instruction, qemu would fall through to generate an UNDEF exception for an illegal instruction. Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit af9277e69df688ebb8ccccb7edecc45f0f85ea51 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:21 2013 +0100 hw/versatile_pci: Drop unnecessary vpb_pci_config_addr() Drop the vpb_pci_config_addr() function -- it is unnecessary since the size of the memory regions means the hwaddr is always within the 24 bit size. (This function was probably a leftover from when read/write functions were called with absolute addresses rather than relative ones.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 89a32d32fb573b32bbe129421602c2b3c3c247ec Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:20 2013 +0100 versatile_pci: Expose PCI memory space to system The VersatilePB's PCI controller exposes the PCI memory space to the system via three regions controlled by the mapping control registers. Implement this so that guests can actually use MMIO-BAR PCI cards. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit a2bff788d2316c037ce5ab72468b3fda1a0527a1 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:20 2013 +0100 arm/realview: Fix mapping of PCI regions Fix the mapping of the PCI regions for the realview board, which were all incorrect. (This was never noticed because the Linux kernel doesn't actually include a PCI driver for the realview boards.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 7468d73ac9a514b33c0c2797a1238db11163b23b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:20 2013 +0100 versatile_pci: Implement the PCI controller's control registers The versatile_pci PCI controller has a set of control registers which handle the mapping between PCI and system address spaces. Implement these registers (though for now they have no effect since we don't implement mapping PCI space into system memory at all). The most natural order for our sysbus regions has the control registers at the start, so move all the others down one. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 66a96d7018b9cbabb73c9b87b62a37e4cc46580a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:19 2013 +0100 versatile_pci: Implement the correct PCI IRQ mapping Implement the correct IRQ mapping for the Versatile PCI controller; it differs between realview and versatile boards, but the previous QEMU implementation was correct only for the first PCI card on a versatile board, since we weren't swizzling IRQs based on the slot number. Since this change would otherwise break any uses of PCI on Linux kernels which have an equivalent bug (since they have effectively only been tested against QEMU, not real hardware), we implement a mechanism for automatically detecting those broken kernels and switching back to the old mapping. This works by looking at the values the kernel writes to the PCI_INTERRUPT_LINE register in the config space, which is effectively the interrupt number the kernel expects the device to be using. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5f37ef92b7690423ac6311d3c597e182fc5f8fe6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:19 2013 +0100 versatile_pci: Put the host bridge PCI device at slot 29 On real hardware the host bridge appears as a PCI device in slot 29, so make QEMU put its host bridge in that slot too. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 967c2607496087abf84904c82e6de0cd320a3831 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:18 2013 +0100 versatile_pci: Use separate PCI I/O space rather than system I/O space Rather than overloading the system I/O space (which doesn't even make any sense on ARM) for PCI I/O, create an memory region in the PCI controller and use that to represent the I/O space. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 0688810b416a5a4a41aa480132e89d65f81dafc6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:18 2013 +0100 versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally handle PCI in a more QOM-like fashion. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit cd93dbf375bd3d7ccbb7005d8d4e2b91293e967b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:18 2013 +0100 versatile_pci: Update to realize and instance init functions Update the Versatile PCI controller to use a realize function rather than SysBusDevice::init. To reflect the fact that the 'realview_pci' class is taking most of its implementation from 'versatile_pci' (and to make the QOM casts work) we make 'realview_pci' a subclass of 'versatile_pci'. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit 5fb8084f31e9df7f0b2d63cfd3d10645d29b5eab Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:17 2013 +0100 versatile_pci: Expose PCI I/O region on Versatile PB Comments in the QEMU source code claim that the version of the PCI controller on the VersatilePB board doesn't support the PCI I/O region, but this is incorrect; expose that region, map it in the correct location, and drop the misleading comments. This change removes the only currently implemented difference between the realview-pci and versatile-pci models; however there are other differences in not-yet-implemented functionality, so we retain the distinction between the two device types. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit c5c86c5346e927f55918ffdf1b09742fee7a5d8d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 19 11:15:17 2013 +0100 versatile_pci: Fix hardcoded tabs There is just one line in this source file with a hardcoded tab indent, so just fix it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Paul Brook <paul@xxxxxxxxxxxxxxxx> commit ad6b40f471cf8bf7b106032145b1b2ac105f99cf Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Apr 19 12:18:05 2013 +1000 m25p80: Remove bogus include of devices.h I think in the early revisions of this we had an instantiation helper for the device in devices.h. This was later removed and this header was left over. Removed Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c7a101f5297442de7cbee44f7a31428f0e85a09f Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Thu Apr 18 22:09:33 2013 +0100 ssh: Remove unnecessary use of strlen function. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6ae7d660a089502ec5f5cea133e5fd93fd82f3a8 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Apr 18 22:21:05 2013 +0200 block/ssh: Add missing gcc format attributes Now gcc will check whether format string and variable arguments match. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 40508bb424971d9f39f3fb3b455a1765aa7799ee Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Thu Mar 21 18:57:36 2013 +0100 linux-user: change do_semop to return target errno when unsuccessful do_semop() is called from two places, and one of these fails to convert return error to target errno when semop fails. This patch changes the function to always return target errno in case of an unsuccessful call. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7f1721dfb7d3a9e464ba59a7d5f76761fd8a3ab9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Apr 13 22:45:50 2013 +0200 w64: Fix compiler warnings (wrong format specifier) GetLastError() returns a DWORD value which is unsigned long, so the correct format specifier is %lu. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e1fe50dcb3c86e25ce482a7f67f2ac5405bced8a Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Apr 12 20:53:58 2013 +0200 Remove unneeded type casts cpu_physical_memory_read, cpu_physical_memory_write take any pointer as 2nd argument without needing a type cast. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fd1ca7e0d5f76c6787428171355bcde49133c9c1 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Apr 12 09:12:55 2013 -0400 virtio.h: drop unused function prototypes They are unused since commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ea44910eefc3661af6b80442858102a4f8cd8034 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Mon Apr 15 11:47:56 2013 +1000 bswap: fix compiler warning The bswap functions use memcpy but the bswap.h header itself does not seem to include it in some configuration such as cross compiling for powerpc64 on x86_64 machine. The patch explicitly includes string.h. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit af60314291af3cabda18d27f928b0e0ff899cc76 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Wed Apr 3 09:15:11 2013 +0000 vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping This patch follows MST's recommendation to move checks for vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations from MemoryListener->region_[add,del]() -> vhost_set_memory() into final MemoryListener->commit() -> vhost_commit() callback. It addresses the case where virtio-scsi vq ioport RAM re-mapping to read-only SeaBIOS ROM triggers a cpu_physical_memory_map() NIL MemoryRegionSection pointer failure. Also save vhost_dev->mem_changed_[start,end]_addr values in vhost_set_memory() for final ranges_overlap checks. (Thanks Paolo!) Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Asias He <asias@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 881d588a98bf0dce98ddb65c15aa0854c0ac41ed Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Fri Apr 19 10:05:46 2013 +0300 scsi: VMWare PVSCSI paravirtual device implementation Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> [ Rename files to vmw_pvscsi, fix setting of hostStatus in pvscsi_request_cancelled - Paolo ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ef8489d45927a6d35b214365e4b39ab311b48f2a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 18:50:15 2013 +0200 scsi: avoid assertion failure on VERIFY command A verify command is not an actual read (we do not implement compare mode) and thus does not have an AIOCB attached. Do not crash in scsi_dma_complete. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 03903ffcfb5a7c75e52da97d00eb9d0bb0660f28 Author: Andreas Schwab <schwab@xxxxxxx> Date: Tue Apr 9 05:41:33 2013 +0000 linux-user: fix setgroups/getgroups for non-UID16 archs Don't assume target_id is a short. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 9ab709be595bef9956ea550a95e14e157cb5704e Author: Andreas Schwab <schwab@xxxxxxx> Date: Tue Apr 9 01:02:34 2013 +0000 linux-user: fix undefined shift in copy_to_user_fdset If TARGET_ABI_BITS is bigger than 32 we shift by more than the size of int. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit c7128c9fd58ee92cae70c7cd1d53acc529cebbbb Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Thu Mar 21 07:57:36 2013 +0000 linux-user: change do_semop to return target errno when unsuccessful do_semop() is called from two places, and one of these fails to convert return error to target errno when semop fails. This patch changes the function to always return target errno in case of an unsuccessful call. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 09dada400328d75daf79e3eca1e48e024fec148d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:47 2013 +0200 configure: remove duplicate test We already had a test to add -march=i486 when needed. Make the existing test independent of vhost-net, so that it is also used under Win32. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 15c08efebde85a564b68285a4b6999f673ce422f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:46 2013 +0200 configure: CONFIG_NO_XEN is duplicated We already define it in Makefile.target. But we need to avoid a curious double negation in order to eliminate it. Tested-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 2b6b7099fb17ab9efa51c430e348ee88d6fbcef2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:45 2013 +0200 configure: eliminate target_libs_softmmu Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f544a488e55d3c504b65b6209199a977df9b24b9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:44 2013 +0200 configure: move common libraries to config-host.mak Move -lm to the end of the line, so that it can be picked up as a dependency by pixman in the static build case. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 727e52838c709f542d4306849567bf3d8c64479e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:43 2013 +0200 configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 918fc54caff20b1810c633a63bf6d6c5499bd5dd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:42 2013 +0200 elfload: use abi_llong/ullong instead of target_llong/ullong The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 6cfd9b5251c1d03c60f9ebc95fa98670db8f3e09 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:41 2013 +0200 elfload: only give abi_long/ulong the alignment specified by the target Previously, this was done for target_long/ulong, and propagated to abi_long/ulong via a typedef. But target_long/ulong should not have any specific alignment, it is never used to access guest memory. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f8fd4fc4cd9138576cb1cec15c6ac9416e51eeb8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:40 2013 +0200 elfload: use abi_int/uint instead of target_int/uint The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 1ddd592fd3b00227a61d5cd890c51b51847a415b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:39 2013 +0200 elfload: use abi_short/ushort instead of target_short/ushort The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 86cd7b2d486b6c80df41f48dffbdcc055a85faa1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:38 2013 +0200 elfload: use tswapreg consistently in elf_core_copy_regs Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a29f998d04a515e389ec4d5aa76ba5f585f4e540 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:37 2013 +0200 elfload: fix size of registers for N32 Registers are 64-bit in size for the MIPS n32 ABI. Define target_elf_greg_t accordingly, and use the correct function to do endian swaps. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit ca98ac830f4e3a7d7729ec1ff22d54d97c86dcbd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:36 2013 +0200 elfload: fix size of ABI-dependent fields in core dumps Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32, sparc32plus). Use abi_long/ulong for those. Also, the fields of target_elf_siginfo are ints. Use tswap32 to convert them. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 5b5e30370147ce3495b7509238e88ef9a6d873ec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 17 16:26:35 2013 +0200 configure: QEMU_INCLUDES are the same for all subtargets Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a540f158db41205c3f7bad8b214f9738dc00724d Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 18 14:47:31 2013 +1000 configure/Make: Build libfdt from submodule DTC Configure to use the DTC submodule to build libfdt when no system libfdt is found. Prompt to install the DTC submodule if --enable-fdt is set but no DTC can be found. DTC has no out-of-tree build capability, so the configure will symlink the Makefile and scripts directory in the out of tree build directory and pass in all the needed DTC arguments to make out of tree build happen. Ideally we fix the DTC make to support out of tree, but did it this way to avoid commits to DTC. Signed-off-by: David Holsgrove <david.holsgrove@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 98f6360569b1fbc1d94f6c8d7808577e4e5e0100 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 18 14:46:53 2013 +1000 dtc: add submodule Add dtc submodule as a fallback for old distros. Picking version 1.3.0. as this is the most recently tagged stable version. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 79f3b12f7072d592dcddfe71dd846eab3be310ea Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 18 14:46:14 2013 +1000 configure: Put cross compile flags in EXTRA_CFLAGS The cross compile CFLAGS are needed to properly build pixman (and any other submodules). Only the EXTRA_CFLAGS set is passed to submodules not QEMU_CFLAGS, so put the cross compile flags in EXTRA_CFLAGS instead. Signed-off-by: Peter Crosthwaite peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 007e986ff2dd140348e76feb21cde1a51ce6c5b4 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun Mar 17 11:45:50 2013 +0100 vmxcap: Update according to SDM of January 2013 This adds reporting of VMCS shadowing, #VE, IA32_SMBASE, unrestricted VMWRITE and fixes the range of the MSEG revision ID. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 917367aa968fd4fef29d340e0c7ec8c608dffaab Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Tue Feb 19 23:27:20 2013 -0300 target-i386: kvm: save/restore steal time MSR Read and write steal time MSR, so that reporting is functional across migration. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 614413f7f9a88d97ab40ecabd1c7920fb288f820 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Feb 18 07:56:54 2013 +0100 vmxcap: Report APIC register emulation and RDTSCP control Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit ea4ee28399f8ffee4eed2d724c28d2d9879b22fa Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Feb 13 12:44:06 2013 +0100 vmxcap: Augment reported information Parse the Basic VMX Information MSR and add the bit for the new posted interrupts. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit f505a4d74aae6fc8bb5502a6038b5f671aa97713 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Feb 13 12:43:10 2013 +0100 vmxcap: Open MSR file in unbuffered mode Python may otherwise decide to to read larger chunks, applying the seek only on the software buffer. This will return results from the wrong MSRs. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit 1773d9ee6e7138e3956081670215e8bc0ae14828 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:30:02 2013 +0200 virtio-net: cleanup: init and exit function. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 17a0ca55657114c055cb407291c1163e09b29973 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:30:01 2013 +0200 virtio-net: cleanup: use QOM cast. As the virtio-net-pci and virtio-net-s390 are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 89334c8b6baebb1e84cd9bb6e796683e53391769 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:30:00 2013 +0200 virtio-net-ccw: switch to the new API. Here the virtio-net-ccw is modified for the new API. The device virtio-net-ccw extends virtio-ccw-device as before. It creates and connects a virtio-net-device during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 74b4fe3d79098b72813e461af565557bb5d35649 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:59 2013 +0200 virtio-net-s390: switch to the new API. Here the virtio-net-s390 is modified for the new API. The device virtio-net-s390 extends virtio-s390-device as before. It creates and connects a virtio-net-device during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e37da3945fa2fde161e1b217f937fc318c4b7639 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:58 2013 +0200 virtio-net-pci: switch to the new API. Here the virtio-net-pci is modified for the new API. The device virtio-net-pci extends virtio-pci. It creates and connects a virtio-net-device during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 17ec5a8686143da66208273d355f2eeb09807614 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:57 2013 +0200 virtio-net: add the virtio-net device. Create virtio-net-device which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a87acf7df4b31ca0896b95b86dac9698420a9ed Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Apr 11 16:29:56 2013 +0200 virtio: add two functions to VirtioDeviceClass. Recent changes need two functions to VirtioDevice. This just add them into VirtioDeviceClass. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1365690602-22729-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e6f53fd514bbdcf63a5905536ff4d0effc146742 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Apr 16 13:51:06 2013 +0200 Fix warnings suppressors to honor --disable-werror Replace #pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic error FOO by #pragma GCC diagnostic push #pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic pop Broken in commit 3f4349d, commit 092bb30, and commit c95e308. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1366113066-1340-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bf2a38d41e304ccd92191327248fd32f14ff11d2 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:21 2013 -0500 fw_cfg: add qtest test case This validates some basic characteristics of fw_cfg. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-8-git-send-email-aliguori@xxxxxxxxxx commit a875711af9518f0878e084aef00c323098b8f972 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:20 2013 -0500 i440fx-test: add test for PAM functionality This tests PAM settings for the i440fx. This test does a lot of byte MMIO which is fairly slow with qtest today. But the test does complete in under 2 seconds. We don't fully emulate PAM largely because of limitations with KVM so we #if 0 that part of the test case. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-7-git-send-email-aliguori@xxxxxxxxxx commit 9bda413c96c3c7cced25ee4509c74d71e40f094d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:19 2013 -0500 i440fx-test: add test to compare default register values This test compares all of the default register values against the spec. It turns out we deviate in quite a few places. These places are really only visible to the BIOS though which is why this hasn't created any problems. The deviation actually happens in the core PCI layer so I suspect it's not a simple fix if we really care to fix it. For now, just disable the affected checks. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-6-git-send-email-aliguori@xxxxxxxxxx commit 8a0743cf747c659a3443e722a832c8f21f1cc774 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:18 2013 -0500 libqos: add malloc support This is a very simple allocator for the PC platform. It should be possible to add backends for other platforms. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-5-git-send-email-aliguori@xxxxxxxxxx commit 234c69c5f92f18d7692e859d2784edb17a88873f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:17 2013 -0500 libqos: add fw_cfg support fw_cfg is needed to get the top of memory which is necessary for doing PCI allocation and allocating RAM for DMA. Add a PC version of fw_cfg and enough abstraction to support other platforms. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-4-git-send-email-aliguori@xxxxxxxxxx commit c4efe1cada311b9dc0df5beb71c4227ff3414aa1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:16 2013 -0500 qtest: add libqos including PCI support This includes basic PCI support for the PC platform. Enough abstraction should be present to support non-PC platforms too. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-3-git-send-email-aliguori@xxxxxxxxxx commit 8a8fd63734944bf6f7111596bd9cc9db6afb9b7c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 09:45:15 2013 -0500 qtest: don't use system command to avoid double fork Currently we waitpid on the child process we spawn off that does nothing more than system() another process. While this does not appear to be incorrect, it's wasteful and confusing so get rid of it. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1366123521-4330-2-git-send-email-aliguori@xxxxxxxxxx commit 4aead69241e010c3cda624084e3872aa9f7dcaef Author: Eric Blake <eblake@xxxxxxxxxx> Date: Tue Apr 16 15:50:41 2013 -0600 migration: reflect incoming failure to shell Management apps like libvirt don't know to pay attention to stderr unless there is a non-zero exit status. * migration.c (process_incoming_migration_co): Exit with non-zero status on failure. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Message-id: 1366149041-626-1-git-send-email-eblake@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 95e2af98d4edb59780e47da2085ea9133f6466bb Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Wed Apr 17 17:49:00 2013 +1000 qbus: remove wrong error messages The existing code shows the "Bus '%s' is full" message even if name is specified and different from bus->name (i.e. match=0). The patch excludes unnecessary error message. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Message-id: 1366184940-13516-1-git-send-email-aik@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bd5ac20325ed67eb8f1af719d76aad6ad80e5697 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 17 16:46:54 2013 +0800 chardev: remove the headers of Memory chardev driver Memory chardev driver is no longer used, and Commit: 4bf0bb8014ac2ac61b1004f5d92b2a4594d48017 has droped it but the headers, so clean it up. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Message-id: 1366188414-24214-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 20781f9c0057bc00cc74b684b3dc57730cdf83f0 Merge: e0a83fc... e9d8fbf... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Apr 17 10:14:07 2013 -0500 Merge remote-tracking branch 'bonzini/migration-writev' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/migration-writev: qemu-file: do not use stdio for qemu_fdopen iov: handle partial writes from sendmsg and recvmsg iov: reorganize iov_send_recv, part 3 iov: reorganize iov_send_recv, part 2 iov: reorganize iov_send_recv, part 1 qemu-file: drop socket_put_buffer Message-id: 1366192012-14872-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9d8fbf53a33983c81d67d18e1baa914eb16cdea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:32 2013 +0100 qemu-file: do not use stdio for qemu_fdopen This uses system calls directly for Unix file descriptors, so that the efficient writev_buffer can be used. Pay attention to the possibility of partial writes in writev. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 83f75c26e8e791311900d0e2a4cc9379abedb85c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:31 2013 +0100 iov: handle partial writes from sendmsg and recvmsg Partial writes can still happen in sendmsg and recvmsg, if a signal is received in the middle of a write. To handle this, retry the operation with a new offset/bytes pair. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f48869ad2825b640911666bb091cedb1e1d6ad5e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:30 2013 +0100 iov: reorganize iov_send_recv, part 3 "si" and "ei" are merged in a single variable. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5209d6753c90a3d6411abd0729a9cca3775dce3f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:29 2013 +0100 iov: reorganize iov_send_recv, part 2 Do not touch the "bytes" argument anymore. Instead, remember the original length of the last iovec if we touch it, and restore it afterwards. This requires undoing the changes in opposite order. The previous algorithm didn't care. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb6247a7e3e07ead908d2e7fbc8848cc2e135056 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:28 2013 +0100 iov: reorganize iov_send_recv, part 1 Once the initial part of the iov is dropped, it is not used anymore. Modify iov/iovcnt directly instead of adjusting them with the "si" variable. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 15711565f66de53c22c3a9faee04fc2092409ce4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 17:36:27 2013 +0100 qemu-file: drop socket_put_buffer It is enough to implement one of socket_writev_buffer and socket_put_buffer. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wassermann <owasserm@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e0a83fc2c1582dc8d4453849852ebe6c258b7c3a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 2 15:50:00 2013 +0200 qom: do nothing on unparent of object without parent Otherwise, device_unparent will fail to get a canonical path of the object. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364910600-3418-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2f7bd829dbaf39eb14706c3e889f28b795e050ca Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Apr 16 03:50:21 2013 +0200 qdev: Fix device_add bus assumptions Drop an unreachable fallback bus assignment to SysBus. If no ,bus= is specified, only search busses recursively for bus type if the DeviceClass has a bus_type specified. Handle resulting NULL cases. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1366077021-28882-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit acbbc036619092fcd2c882222e1be168bd972b3e Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Apr 16 15:58:16 2013 +0530 rng random backend: check for -EAGAIN errors on read Not handling EAGAIN triggers the assert qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len != -1) Aborted (core dumped) This happens when starting a guest with '-device virtio-rng-pci', issuing a 'cat /dev/hwrng' in the guest, while also doing 'cat /dev/random' on the host. Reported-by: yunpingzheng <yunzheng@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: eacda84dfaf2d99cf6d250b678be4e4d6c2088fb.1366108096.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7dda5dc82a776a39a7996020c188eb2a29187117 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 9 17:43:43 2013 +0200 migration: initialize RAM to zero Using qemu_memalign only leaves the RAM zero by chance, because libc will usually use mmap to satisfy our huge requests. But memory will not be zero when using MALLOC_PERTURB_ with a nonzero value. In the case of incoming migration, this breaks a recently-introduced invariant (commit f1c7279, migration: do not sent zero pages in bulk stage, 2013-03-26). To fix this, use mmap ourselves to get a well-aligned, always zero block for the RAM. Mmap-ed memory is easy to "trim" at the sides. This also removes the need to do something special on valgrind (see commit c2a8238a, Support running QEMU on Valgrind, 2011-10-31), thus effectively reverts that patch. Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1365522223-20153-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 86c7dba0d0ed1e9e202f77f7414ce0faf2395a90 Merge: 6f8111a... 2b2325f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:58 2013 -0500 Merge remote-tracking branch 'kraxel/usb.80' into staging # By Gerd Hoffmann (6) and Hans de Goede (1) # Via Gerd Hoffmann * kraxel/usb.80: use libusb for usb-host xhci: fix address device xhci: use slotid as device address xhci: fix portsc writes xhci: add xhci_cap_write xhci: remove leftover debug printf usb-serial: Remove double call to qemu_chr_add_handlers( NULL ) Message-id: 1366107190-30853-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6f8111a16d9cb3744a7b05726df28ee8cb6d8d30 Merge: 100c533... 75c439b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:51 2013 -0500 Merge remote-tracking branch 'spice/spice.v69' into staging # By Hans de Goede (5) and others # Via Gerd Hoffmann * spice/spice.v69: spice-qemu-char: vmc_write: Don't write more bytes then we're asked too spice-qemu-char: Remove intermediate buffer spice-qemu-char: Add watch support spice-qemu-char: Remove #ifdef-ed code for old spice-server compat virtio-console: Remove any pending watches on close virtio-console: Also throttle when less was written then requested spice: (32 bit only) fix surface cmd tracking destruction qxl: add 2000x2000 and 2048x2048 video modes qxl: add 4k + 8k resolutions Message-id: 1366106194-28826-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 100c533220d70ae9732ba63142d71d1c48688f54 Merge: 398973f... bfe528b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:43 2013 -0500 Merge remote-tracking branch 'kraxel/pixman.v11' into staging # By Gerd Hoffmann (22) and Igor Mitsyanko (2) # Via Gerd Hoffmann * kraxel/pixman.v11: (24 commits) qxl: register QemuConsole for secondary cards gtk: custom cursor support console: allow pinning displaychangelisteners to consoles console: add qemu_console_is_* xen: re-enable refresh interval reporting for xenfb console: gui timer fixes console: add GraphicHwOps console: make DisplayState private to console.c console: move gui_update+gui_setup_refresh from vl.c into console.c console: zap g_width + g_height console: simplify screendump console: give each QemuConsole its own DisplaySurface console: rename vga_hw_*, add QemuConsole param console: displaystate init revamp console: add trace events console: switch color_table_rgb to pixman_color_t console: use pixman for font rendering console: use pixman for fill+blit pixman: render vgafont glyphs into pixman images pixman: add qemu_pixman_color() ... Message-id: 1366105178-26744-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 398973fe1f92e65f39f6a26dacc07baa0da632fc Merge: 095b9c4... b21bfee... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 16 10:28:36 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Igor Mammedov (8) and others # Via Andreas Färber * afaerber/qom-cpu: target-cris: Override do_interrupt for pre-v32 CPU cores qdev: Set device's parent before calling realize() down inheritance chain cpu: Pass CPUState to *cpu_synchronize_post*() target-i386: Split out CPU creation and features parsing target-i386/cpu.c: Coding style fixes ioapic: Replace FROM_SYSBUS() with QOM type cast kvmvapic: Replace FROM_SYSBUS() with QOM type cast target-i386: Split APIC creation from initialization in x86_cpu_realizefn() target-i386: Consolidate error propagation in x86_cpu_realizefn() qdev: Add qdev property for bool type target-i386: Improve -cpu ? features output target-i386: Fix including "host" in -cpu ? output commit 2b2325ff6491224a42e1fec99b1c39fbc521c95c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 30 16:02:11 2012 +0100 use libusb for usb-host Reimplement usb-host on top of libusb. Reasons to do this: (1) Largely rewritten from scratch, nice opportunity to kill historical cruft. (2) Offload usbfs handling to libusb. (3) Have a single portable code base instead of bsd + linux variants. (4) Bring usb-host support to any platform supported by libusbx. For now this goes side-by-side to the existing code. That is only to simplify regression testing though, at the end of the day I want remove the old code and support libusb exclusively. Merge early in 1.5 cycle, remove the old code after 1.5 release or something like this. Thanks to qdev the old and new code can coexist nicely on linux. Just use "-device usb-host-linux" to use the old linux driver instead of the libusb one (which takes over the "usb-host" name). The bsd driver isn't qdev'ified so it isn't that easy for bsd. I didn't bother making it runtime switchable, so you have to rebuild qemu with --disable-libusb to get back the old code. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a67188743bc30a3ad1358b8cd0a2a3cb64c10ff9 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 15:18:52 2013 +0200 xhci: fix address device Zero-initialize the set-address dummy USBPacket, also add buffer to avoid sanity checks triggering. https://bugzilla.redhat.com/show_bug.cgi?id=929019 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit af203be36deb234550c3c8d2cbafbaef0f08ae1b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 21 10:59:05 2013 +0100 xhci: use slotid as device address Is good enougth for unique device addresses and avoids the need for any state for device addressing. Makes live migration support easier. Also makes device->slot lookups trivial. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bdfce20df113522f389b4483ffd9d5b336e3c774 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 14:55:28 2013 +0200 xhci: fix portsc writes Check for port reset first and skip everything else then. Add sanity checks for PLS updates. Add PLC notification when entering PLS_U0 state. This gets host-initiated port resume going on win8. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6d3bc22e31bcee74dc1e05a5370cabb33b7c3fda Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 11:29:14 2013 +0200 xhci: add xhci_cap_write Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 94ae9eece7c8192170a4159804e152fa32e9eacf Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Apr 5 13:56:53 2013 +0200 xhci: remove leftover debug printf Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7598b41cfa13b2469b9411eee237a5c551e0ffaf Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:25 2013 +0200 usb-serial: Remove double call to qemu_chr_add_handlers( NULL ) usb-serial has a qdev chardev property, and hw/qdev-properties-system.c already contains: static void release_chr(Object *obj, const char *name, void *opaque) { DeviceState *dev = DEVICE(obj); Property *prop = opaque; CharDriverState **ptr = qdev_get_prop_ptr(dev, prop); CharDriverState *chr = *ptr; if (chr) { qemu_chr_add_handlers(chr, NULL, NULL, NULL, NULL); qemu_chr_fe_release(chr); } } So doing the qemu_chr_add_handlers(s->cs, NULL, NULL, NULL, NULL); from the usb handle_destroy function too will lead to it being done twice. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 75c439bc65c07d76f5e74c734ed5432bc6114a3b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:24 2013 +0200 spice-qemu-char: vmc_write: Don't write more bytes then we're asked too This one took me eons to debug, but I've finally found it now, oh well. The usage of the MIN macro in this line: last_out = MIN(len, qemu_chr_be_can_write(scd->chr)); Causes qemu_chr_be_can_write to be called *twice*, since the MIN macro evaluates its arguments twice (bad MIN macro, bad!). And the result of the call can change between the 2 calls since the guest may have consumed some data from the virtio ringbuffer between the calls! When this happens it is possible for qemu_chr_be_can_write to return less then len in the call made for the comparision, and then to return more then len in the actual call for the return-value of MIN, after which we will end up writing len data + some extra garbage, not good. This patch fixes this by only calling qemu_chr_be_can_write once. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b010cec86b9a4a0b63162cd27e37c2d99e90ed66 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Fri Apr 5 11:30:23 2013 +0200 spice-qemu-char: Remove intermediate buffer virtio-serial's buffer is valid when it calls us, and we don't access it otherwise: vmc_read is only called in response to wakeup, or else we set datalen=0 and throttle. Then vmc_read is called back, we return 0 (not accessing the buffer) and set the timer to unthrottle. Also make datalen int and not ssize_t (to fit spice_chr_write signature). HdG: Update to apply to spice-qemu-char with new gio-channel based flowcontrol support. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ae893e5e818878caf433d716d37be9df297403fe Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:22 2013 +0200 spice-qemu-char: Add watch support Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 52fe0e75b757c7c54fd3b967c9ff70d337790195 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:21 2013 +0200 spice-qemu-char: Remove #ifdef-ed code for old spice-server compat We now require spice-server to be >= 0.12.0 so this is no longer needed. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c3d6b96ebba18d016be26ffa475feea0d81801a2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:20 2013 +0200 virtio-console: Remove any pending watches on close Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f9fb0532fb0c7155c0616614dc12ecccf93f8afb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Apr 5 11:30:19 2013 +0200 virtio-console: Also throttle when less was written then requested This is necessary so that we get properly woken up to write the rest. This patch also changes the len argument to the have_data callback, to avoid doing an unsigned signed comparison. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8bb9f51ca243551fb838a3a6a2983016ed2bbb73 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Wed Mar 13 17:58:35 2013 +0200 spice: (32 bit only) fix surface cmd tracking destruction No change for 64 bit arches, but for 32 bit previously we zeroed half the surfaces cmd array, instead of all of it. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5c74fb27f94821057c7929a8244cabe86adf2b8d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Apr 4 10:15:34 2013 +0200 qxl: add 2000x2000 and 2048x2048 video modes Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 095b9c4860b1351e4a0322e43708f39c79c1f34b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:34:50 2013 +1000 m25p80: Add debug message for no bdrv If there is no backing bdrv, let the debugging developer know about it. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 28097d02078cfb708c2034f90394936209785f2e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:34:11 2013 +1000 m25p80.c: Multiple debug verbosity levels The debug printfs on every page program/read is extremely verbose. Add a second level of debug for this. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e9711b4d52ed07b9b754f9aa10b4a8c741815d0a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:33:32 2013 +1000 m25p80: Convert guest errors to LOG_GUEST_ERROR Some of the debug printfs in m25p80 are really guest errors. Changed over to qemu_log_mask(LOG_GUEST_ERROR accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 3bec0c7d461a2f0139d60e959a80641487835d5a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:32:53 2013 +1000 m25p80: Fix debug messages. Some dodgy casts were making a mess of these msgs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 42bb9c9178ae7ac4c439172b1ae99cc29188a5c6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:28:35 2013 +1000 stream: Remove app argument hack The uint32_t *app argument doesn't exist in real hardware. It was a hack in xilinx_axidma/enet to fake the (secondary) control stream connection. Removed the argument and added the second stream to axienet/dma. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 3630ae952a17c2107db25f397233536ef874558e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:27:55 2013 +1000 xilinx_axienet/dma: Implement rx path flow control Implement flow control for the RX data path from xilinx_axienet->xilinx_axidma. On short return from axidma, then ethernet sets up the notify callback to resume transfer from where it left off. This also allows the ethernet to track whether there is an in progress transaction and return false from ethernet can_receive() as appropriate. If the DMA backs up or is disabled it waits for enablement. When the rx stream IO region is touched, the can_push() notify function is called if set. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 35e60bfdbc14ce31bba55cc82144f8a2a82ede68 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:27:16 2013 +1000 stream: Add flow control API Add basic flow control to stream. A stream slave may return short, indicating that it is not capable of accepting any more data at the present time. Polling or a callback can be used via the can_push() function to determine when the slave can receive again. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 210914e29975d17e635f9e8c1f7478c0ed7a208f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:26:37 2013 +1000 xilinx_axidma: Fix rx/tx halted bit. If there is no DMA buffer descriptor, the DMA halts, not idles. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e1500e35c22be345cd04f77fa6993770b689eaa9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:25:57 2013 +1000 xilinx_axidma: Create Proxy object for stream Create a separate child object to proxy the stream slave connection. This is setup for future work where a second stream slave connection is needed. The new child object is created at qdev init time and is linked back to the parent (the ethernet device itself) automatically. Stream slave masters differentiate which slave connection they are connected to by linking to the proxy object rather than the parent. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:25:18 2013 +1000 xilinx_axienet: Create Proxy object for stream Create a separate child object to proxy the stream slave connection. This is setup for future work where a second stream slave connection is needed. The new child object is created at qdev init time and is linked back to the parent (the ethernet device itself) automatically. Stream slave masters differentiate which slave connection they are connected to by linking to the proxy object rather than the parent. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit b19ceaad0dee6bca619ba2de19003b50e1a8cb01 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:24:39 2013 +1000 petalogix_ml605_mmu: Attach ethernet to machine Explicitly make the ethernet a child of the machine. This is needed to set and use links pre-realize. Also makes the ethernet initialization consistent with its peer DMA. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 54ff2a399fc9453fa75f9223d7d2cd912f17fb4b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:23:59 2013 +1000 petalogix_ml605_mmu: Fix machine node attachment Just attach devices straight to the root machine node, rather than the "unattached node" Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit e65436634dc4f3b43ba914b7e38fe696853da3ca Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:23:20 2013 +1000 xilinx_axidma: converted init->realize The prescribed transition from SysBusDevice::init to Device::realize. I'm going with Andreas suggestion to move the sysbus foo to Object::init for early IRQ visibility. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 897374db7db10a9c17fd4da4e089705b553b4ee1 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:22:41 2013 +1000 xilinx_axidma: Register reset properly Register the reset function as the Device::reset function rather than explicitly call it from the sysbus::init. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit cbde584f58b484a8200eb578a5ba81057488f0eb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:22:02 2013 +1000 xilinx_axidma: Defined and use type cast macro Standard QOM cast macro. Replaces usages of FROM_SYSBUS Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 42e8a283f50da698e8bff7ed36b8b39e21d70eaa Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:21:23 2013 +1000 xilinx_axidma: typedef XilinxAXIDMA struct Typedef xilinx_axidma's object state struct to shorten the repeated usages of struct XilinxAXIDMA. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit b2d9dfe94cc9a27e0b59d892ae8e3ec223ff9514 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:20:44 2013 +1000 xilinx_axienet: converted init->realize The prescribed transition from SysBusDevice::init to Device::realize. Im going with Andreas suggestion to move the sysbus foo to Object::init for early IRQ visibility. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9ee0ceb7a8e643a0db232f42ddee2ed325dd4d86 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:20:06 2013 +1000 xilinx_axienet: Register reset properly Register the reset function and the Device::reset function rather than explicitly call it from the sysbus::init. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f0e7a81c0ca122126e92a9f06b9599f04a0eaebb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:19:27 2013 +1000 xilinx_axienet: Defined and use type cast macro Standard QOM cast macro. Replaces usages of FROM_SYSBUS Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 545129e58965dcedf229dac3ed7ea1235a9838f2 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 16 10:18:47 2013 +1000 xilinx_axienet: typedef XilinxAXIEnet struct Typedef xilinx_axienets object state struct to shorten the repeated usages of struct XilinxAXIEnet. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit bfe528b9b99d52693a55f2b803039d68a97bcfb2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 16:59:58 2013 +0100 qxl: register QemuConsole for secondary cards Hook secondary qxl cards properly into the qemu console subsystem. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9697f5d2d38e5dd1e64e8e0d64436e6d44e7b1fe Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 09:11:41 2013 +0100 gtk: custom cursor support Makes gtk ui play nicely with qxl (and vmware_svga) as you can actually see your pointer now ;) Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 284d1c6b3bf4ece6278f4b9831c7192e3777290c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 15 15:45:54 2013 +0100 console: allow pinning displaychangelisteners to consoles DisplayChangeListener gets a new QemuConsole field, which can be set to non-NULL before registering. This will pin the QemuConsole, so that particular DisplayChangeListener will not follow console switches. spice+gtk (which don't support text console input anyway) are switched over to be pinned to console 0, which usually is the graphical display. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 81c0d5a66295024d0a42e3d28efcd102a32f93c3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 14 14:27:08 2013 +0100 console: add qemu_console_is_* Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit dea1b0bdd8b0bb9d76a012fd0f234ba1768a4a93 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 15:01:02 2013 +0100 xen: re-enable refresh interval reporting for xenfb xenfb informs the guest about the gui refresh interval so it can avoid pointless work. That logic was temporarely disabled for the DisplayState reorganization. Restore it now, with a proper interface for it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d4bcb199fb15f9f079ef280e7e6f9ccdfaa49ced Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 15 11:53:47 2013 +0100 qxl: add 4k + 8k resolutions Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0f7b2864d0d0c3ef2801f9214d8c510c80a220d1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 14 11:56:16 2013 +0100 console: gui timer fixes Make gui update rate adaption code in gui_update() actually work. Sprinkle in a tracepoint so you can see the code at work. Remove the update rate adaption code in vnc and make vnc simply use the generic bits instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 380cd056ec0e7fc8bbd553cdcb061d3ca612bb82 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 14:04:18 2013 +0100 console: add GraphicHwOps Pass a single GraphicHwOps struct pointer to graphic_console_init, instead of a bunch of function pointers. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 27be55872dd747c733a42a3d90864d9f59272d26 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 12:25:25 2013 +0100 console: make DisplayState private to console.c With gui_* being moved to console.c nobody outside console.c needs access to DisplayState fields any more. Make the struct private. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 98a9ad9082284df62fb5b9355dd1901639de8268 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 12:17:13 2013 +0100 console: move gui_update+gui_setup_refresh from vl.c into console.c Pure code motion, no functional changes. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 36671fbd06f31efc592c37acda3f8a75599e48e0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 13 10:14:52 2013 +0100 console: zap g_width + g_height We have a surface per QemuConsole now, so there is no need to keep track of the QemuConsole size any more as we can query the surface size directly at any time. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2c62f08ddbf3fa80dc7202eb9a2ea60ae44e2cc5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 12 14:48:31 2013 +0100 console: simplify screendump Screendumps are alot simpler as we can update non-active QemuConsoles now. So we only need to update the QemuConsole we want write out, then dump the DisplaySurface content into a ppm file. Done. No console switching needed. No special support code in the gfx card emulation needed. Zap it all. Also move ppm_save out of the vga code and next to the qmp_screendump function. For now screen dumping is limited to console #0 (like it used to be), even though it is dead simple to extend it to other consoles. I wanna finish the console cleanup before setting new qapi interfaces into stone. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> commit 321f048d248472f1e90559976bb917d869981c68 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 12 14:39:22 2013 +0100 console: give each QemuConsole its own DisplaySurface Go away from the global DisplaySurface, give one to each QemuConsole instead. With this patch applied it is possible to call graphics_hw_* functions with qemu consoles which are not the current foreground console. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1dbfa005032d4fa5d7a5242da856d3487c907431 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 12 13:44:38 2013 +0100 console: rename vga_hw_*, add QemuConsole param Add QemuConsole parameter to vga_hw_*, so the interface allows to update non-active consoles (the actual code can't handle this yet, see next patch). Passing NULL is allowed and updates the active console, like the functions do today. While touching all vga_hw_* calls anyway rename that to the functions to hardware-neutral graphics_hw_* Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 64840c66b702cc4c809c72d8ad5d26861dd7fd8d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 7 17:08:29 2013 +0100 console: displaystate init revamp We have only one DisplayState, so there is no need for the "next" linking, rip it. Also consolidate all displaystate initialization into init_displaystate(). This function is called by vl.c after creating the devices (and thus all QemuConsoles) and before initializing DisplayChangeListensers (aka gtk/sdl/vnc/spice ui). Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 437fe1061be3da49b0b05ed2f0c9c50e2255c3fe Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 7 16:04:52 2013 +0100 console: add trace events Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e27bd65a72dece59e93914d3ffa8653ce0c70511 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 8 08:43:24 2013 +0100 console: switch color_table_rgb to pixman_color_t Now that all text console rendering uses pixman we can easily switch the color tables to use pixman_color_t directly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7d6ba01c3741bc32ae252bf64a5fd3f930c2df4f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 15:44:10 2013 +0100 console: use pixman for font rendering Zap homegrown font rendering code, use pixman calls instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 68db6dc5310df9bb0d8d4ed8f5138b0c5c6415be Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 15:43:23 2013 +0100 console: use pixman for fill+blit Zap homegrown pixel shuffeling code, use pixman calls instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b762795257353760e8c69e144188ef7ab2b84c37 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 7 15:23:48 2013 +0100 pixman: render vgafont glyphs into pixman images Add helper functions to create pixman mask images for glyphs and to render these glyphs into a pixman image. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 867c538f988d326f6b447acde867e5de5a5014a0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 14:14:17 2013 +0100 pixman: add qemu_pixman_color() Helper function to map qemu colors (32bit integer + matching PixelFormat) into pixman_color_t. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit eb2f9b024d68884a3b25e63e4dbf90b67f8da236 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 11:44:21 2013 +0100 hw/vmware_vga.c: various vmware vga fixes. Hardcode depth to 32 bpp. It effectively was that way before because that is the default surface depth, this just makes it explicit in the code. Rename depth to new_depth to make it consistent with the new_width + new_height names. In theory we can make new_depth changeable (i.e. allow the guest to fill in -- say -- 16 there). In practice the guests don't try, the X-Server refuses to start if you ask it to use 16bpp depth (via DefaultDepth in the Screen section). Always return the correct rmask+gmask+bmask values for the given new_depth. Fix mode setting to also verify at new_depth to make sure we have a correct DisplaySurface, even if the current video mode happes to be 16bpp (set by vgabios via bochs vbe interface). While being at it switch over to use qemu_create_displaysurface_from, so the surface is backed by guest-visible video memory and we save a memcpy. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7a6404cd8be97d73d1fc272dda82445c19f05aa1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 09:53:35 2013 +0100 hw/vmware_vga.c: add tracepoints for mmio reads+writes Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 17866fc888445ec7d2568645df45bb47e6be01de Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Tue Mar 19 23:44:56 2013 +0400 hw/vmware_vga.c: fix screen resize bug introduced after console revamp In vmsvga display update function, a pointer to DisplaySurface must be acquired after a call to vmsvga_check_size since this function might replace current DisplaySurface with a new one. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 522fccbe71e35efc96f66cb475f778c2ce02e9fc Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Tue Mar 19 23:44:55 2013 +0400 exynos4210_fimd.c: fix display resize bug introduced after console revamp In exynos4210 display update function, we were acquiring DisplaySurface pointer before calling screen resize function, not paying attention that resize procedure can replace current DisplaySurface with newly allocated one. Right thing to do is to initialize DisplaySurface AFTER a call to resize function. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b21bfeead284cf212d88dfa25171fee122407bc2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 18 19:59:39 2013 +0100 target-cris: Override do_interrupt for pre-v32 CPU cores Instead of forwarding from cris_cpu_do_interrupt() to do_interruptv10(), override CPUClass::do_interrupt with crisv10_cpu_do_interrupt() in the newly introduced class_init functions. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a7ddba527c0b9dd32dfa7e35fa41701f990a3db4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 11 16:51:56 2013 +0200 qdev: Set device's parent before calling realize() down inheritance chain Currently device_set_realized() sets parent only after device was realized, but qdev_device_add() sets it before device is realized. Make behavior consistent and alter device_set_realized() to behave like qdev_device_add(). It will allow to set link<> properties in realize() method in classes inherited from DEVICE. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3f24a58fa7dacd82cb72393367be207b0dab16b4 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 11 16:51:41 2013 +0200 cpu: Pass CPUState to *cpu_synchronize_post*() ... so it could be called without requiring CPUArchState. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7f833247df4b68719413b5dccc5f84944f442cb3 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Apr 11 16:51:40 2013 +0200 target-i386: Split out CPU creation and features parsing Move CPU creation and features parsing into a separate cpu_x86_create() function, so that board would be able to set board-specific CPU properties before CPU is realized. Keep cpu_x86_init() for compatibility with the code that uses cpu_init() and doesn't need to modify CPU properties. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd13e08804c8c33c6021c0e27787422534d3b321 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Apr 11 17:07:23 2013 -0300 target-i386/cpu.c: Coding style fixes * Add braces to 'if' statements; * Remove last TAB character from the source. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> [AF: Changed whitespace] Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f16a69f7fce97186fd352c79201b1d0145c02d66 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:37:00 2013 +0200 ioapic: Replace FROM_SYSBUS() with QOM type cast Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f1fc3e66581f638ba72d93c1a4912cfa573dd187 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:36:59 2013 +0200 kvmvapic: Replace FROM_SYSBUS() with QOM type cast ... and define type name and type cast macro for kvmvapic according to accepted convention. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d3c64d6a1874f94246af91963927fb4d924332f1 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:36:54 2013 +0200 target-i386: Split APIC creation from initialization in x86_cpu_realizefn() When APIC is hotplugged during CPU hotplug, device_set_realized() calls device_reset() on it. And if QEMU runs in KVM mode, following call chain will fail: apic_reset_common() -> kvm_apic_vapic_base_update() -> kvm_vcpu_ioctl(cpu->kvm_fd,...) due to cpu->kvm_fd not being initialized yet. cpu->kvm_fd is initialized during qemu_init_vcpu() but x86_cpu_apic_init() can't be moved after it because kvm_init_vcpu() -> kvm_arch_reset_vcpu() relies on APIC to determine if CPU is BSP for setting initial env->mp_state. So split APIC device creation from its initialization and realize APIC after CPU is created, when it's safe to call APIC's reset method. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4dc1f449ab22bb79ea3894bd90b154c30d73573e Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Apr 5 16:36:53 2013 +0200 target-i386: Consolidate error propagation in x86_cpu_realizefn() Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 72cc5137759ce1393c9eeac81b677947d618351d Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Mar 7 17:16:18 2013 +0100 qdev: Add qdev property for bool type Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> [AF: Use new qdev_prop_set_after_realize()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 3af60be28c35257e3ad1fc6ef1c415b09bdc8545 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Feb 27 10:15:51 2013 +0100 target-i386: Improve -cpu ? features output We were missing a bunch of feature lists. Fix this by simply dumping the meta list feature_word_info. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 21ad77892d321f15325d77f6fab700864af61f49 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun Mar 24 17:01:02 2013 +0100 target-i386: Fix including "host" in -cpu ? output kvm_enabled() cannot be true at this point because accelerators are initialized much later during init. Also, hiding this makes it very hard to discover for users. Simply dump unconditionally if CONFIG_KVM is set. Add explanation for "host" CPU type. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 22773d6066a7f01a95f78c270edf9dbd2e755ac3 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Mar 31 15:31:14 2013 +0300 pci: add pci test device This device is used for kvm unit tests, currently it supports testing performance of ioeventfd. Using updated kvm unittest, here's an example output: mmio-no-eventfd:pci-mem 8796 mmio-wildcard-eventfd:pci-mem 3609 mmio-datamatch-eventfd:pci-mem 3685 portio-no-eventfd:pci-io 5287 portio-wildcard-eventfd:pci-io 1762 portio-datamatch-eventfd:pci-io 1777 Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 24a6e7f4d91e9ed5f8117ecb083431a23f8609a0 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Sun Apr 14 14:07:00 2013 +0200 virtio-balloon: fix dynamic properties. To keep compatibility with the old virtio-balloon-x, add the dynamic properties to virtio-balloon-pci and virtio-balloon-ccw. Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1365941220-8114-1-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ceb193d30fe9b1cda0dc73bddb8051659926fb9 Merge: a907cf5... c72dd2d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 17:06:04 2013 -0500 Merge remote-tracking branch 'bonzini/hw-dirs' into staging * bonzini/hw-dirs: exec: remove useless declarations from memory-internal.h memory: move core typedefs to qemu/typedefs.h include: avoid useless includes of exec/ headers sysemu: avoid proliferation of include/ subdirectories tpm: reorganize headers and split hardware part configure: fix TPM logic acpi.h: make it self contained acpi: move declarations from pc.h to acpi.h hw: Add lost ARM core again Fix failure to create q35 machine Add linux-headers to QEMU_INCLUDES arm: fix location of some include files Conflicts: configure aliguori: trivial conflict in configure output Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a907cf59d8a41ecb909ad4367cd016c7d71f8546 Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Mon Apr 15 21:28:17 2013 +0200 Allow qtest to be used together with a virtual CPU Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Message-id: 1366054097-14132-1-git-send-email-edgar.iglesias@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fe6c211781f80ef4fc246269cecbbc21981089f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Apr 15 18:34:10 2013 +0200 qdev: Fix QOM unrealize behavior Since commit 249d41720b7dfbb5951b430b9eefdbee7464f515 (qdev: Prepare "realized" property) setting realized = true would register the device's VMStateDescription, but realized = false would not unregister it. Fix that. Moving the code from unparenting also revealed that we were calling DeviceClass::init through DeviceClass::realize as interim solution but DeviceClass::exit still at unparenting time with a realized check. Make this symmetrical by implementing DeviceClass::unrealize to call it, while we're setting realized = false in the unparenting path. The only other unrealize user is mac_nvram, which can safely override it. Thus, mark DeviceClass::exit as obsolete, new devices should implement DeviceClass::unrealize instead. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1366043650-9719-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e0e367bad7170e264916cdcba4306f79f47bb95c Merge: e6b6367... 39dc85b... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 15 22:51:32 2013 +0200 Merge branch 'tcg-ppc64' of git://github.com/rth7680/qemu * 'tcg-ppc64' of git://github.com/rth7680/qemu: (33 commits) tcg-ppc64: Handle deposit of zero tcg-ppc64: Implement mulu2/muls2_i64 tcg-ppc64: Implement add2/sub2_i64 tcg-ppc64: Use getauxval for ISA detection tcg-ppc64: Implement movcond tcg-ppc64: Use ISEL for setcond tcg-ppc64: Use MFOCRF instead of MFCR tcg-ppc64: Cleanup i32 constants to tcg_out_cmp tcg-ppc64: Use TCGType throughout compares tcg-ppc64: Use I constraint for mul tcg-ppc64: Implement deposit tcg-ppc64: Handle constant inputs for some compound logicals tcg-ppc64: Implement compound logicals tcg-ppc64: Implement bswap64 tcg-ppc64: Implement bswap16 and bswap32 tcg-ppc64: Implement rotates tcg-ppc64: Streamline qemu_ld/st insn selection tcg-ppc64: Use automatic implementation of ext32u_i64 tcg-ppc64: Improve and_i64 with constant tcg-ppc64: Improve and_i32 with constant ... commit e6b636779b51c97e67694be740ee972c52460c59 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Tue Mar 19 11:20:20 2013 +0000 Add -f FMT / --format FMT arg to qemu-nbd Currently the qemu-nbd program will auto-detect the format of any disk it is given. This behaviour is known to be insecure. For example, if qemu-nbd initially exposes a 'raw' file to an unprivileged app, and that app runs 'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0' then the next time the app is started, the qemu-nbd will now detect it as a 'qcow2' file and expose /etc/shadow to the unprivileged app. The only way to avoid this is to explicitly tell qemu-nbd what disk format to use on the command line, completely disabling auto-detection. This patch adds a '-f' / '--format' arg for this purpose, mirroring what is already available via qemu-img and qemu commands. qemu-nbd --format raw -p 9000 evil.img will now always use raw, regardless of what format 'evil.img' looks like it contains Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> [Use errx, not err. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 39dc85b98561ea3de2b029f43a3a2db95c57afa3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 4 12:47:22 2013 -0700 tcg-ppc64: Handle deposit of zero The TCG optimizer does great work when inserting constants, being able to fold the open-coded deposit expansion to just an AND or an OR. Avoid a bit the regression caused by having the deposit opcode by expanding deposit of zero as an AND. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6645c147db4bb84b1b24c49be9398be22902923b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 16:20:51 2013 -0800 tcg-ppc64: Implement mulu2/muls2_i64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6c858762de60ffff80011251b5fe1ae93cbcd2c8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 14:26:52 2013 -0800 tcg-ppc64: Implement add2/sub2_i64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1e6e9aca157bb8bc4bef60374e1f584d742e7fb2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 18 09:11:15 2013 -0800 tcg-ppc64: Use getauxval for ISA detection Glibc 2.16 includes an easy way to get feature bits previously buried in /proc or the program startup auxiliary vector. Use it. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 027ffea9728704d9e23ae52baf51a1bcfbf34680 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 13:00:05 2013 -0800 tcg-ppc64: Implement movcond Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 70fac59a2ae334c5994037b45a76f8dc9f034ab5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 15:16:10 2013 -0700 tcg-ppc64: Use ISEL for setcond There are a few simple special cases that should be handled first. Break these out to subroutines to avoid code duplication. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6995a4a063d3ab3ceb21aad8c8a78f4cfc5e4140 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 15:09:52 2013 -0700 tcg-ppc64: Use MFOCRF instead of MFCR It takes half the cycles to read one CR register instead of all 8. This is a backward compatible addition to the ISA, so chips prior to Power 2.00 spec will simply continue to read the entire CR register. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 991041a4eb8895390d816375021dccfd12c81752 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 14:14:23 2013 -0700 tcg-ppc64: Cleanup i32 constants to tcg_out_cmp Nothing else in the call chain ensures that these constants don't have garbage in the high bits. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4c314da6d1b438c815533380981880fe3f49b1ac Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 14:58:27 2013 -0700 tcg-ppc64: Use TCGType throughout compares The optimization/bug being fixed is that tcg_out_cmp was not applying the right type to loading a constant, in the case it can't be implemented directly. Rather than recomputing the TCGType enum from the arch64 bool, pass around the original TCGType throughout. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ef809300fcf300a3efef479734e9456dc5b7581c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 09:45:11 2013 -0800 tcg-ppc64: Use I constraint for mul The mul_i32 pattern was loading non-16-bit constants into a register, when we can get the middle-end to do that for us. The mul_i64 pattern was not considering that MULLI takes 64-bit inputs. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 33de9ed2235f8729c36110906c6806b361f96a24 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 08:39:30 2013 -0800 tcg-ppc64: Implement deposit Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 37251b98db28ff606479f53ff59ec0724348c40b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 4 13:48:38 2013 -0800 tcg-ppc64: Handle constant inputs for some compound logicals Since we have special code to handle and/or/xor with a constant, apply the same to andc/orc/eqv with a constant. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ce1010d6e3080aae0ba597cb9cce07dbf6ec5a5a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 07:49:13 2013 -0800 tcg-ppc64: Implement compound logicals Mostly copied from the ppc32 port. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 68aebd45b1bc13828029e60d12147222ddef3259 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 21:41:54 2013 -0800 tcg-ppc64: Implement bswap64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5d221582009d942de77a538d21b09c9120929dc5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 21:16:38 2013 -0800 tcg-ppc64: Implement bswap16 and bswap32 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 313d91c778e9a2a684d5aacc09750421a6612416 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 19:24:06 2013 -0800 tcg-ppc64: Implement rotates Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 49d9870a54161b0c2cd29a8b70cf5aa6d3aed469 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 2 00:58:14 2013 -0800 tcg-ppc64: Streamline qemu_ld/st insn selection Using a table to look up insns of the right width and sign. Include support for the Power 2.06 LDBRX and STDBRX insns. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 28f2dba6dc451daf462456adc4edfeb3d911fb12 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 4 13:36:07 2013 -0500 tcg-ppc64: Use automatic implementation of ext32u_i64 The enhancements to and immediate obviate this. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 637af30c764e08763e28908d01e5f73efb5e2318 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 23:58:17 2013 -0800 tcg-ppc64: Improve and_i64 with constant Use RLDICL and RLDICR. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a9249dff4dc233f9377e7a3025aa124d8941b096 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 23:43:42 2013 -0800 tcg-ppc64: Improve and_i32 with constant Use RLWINM Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dce74c57bbf9839e72a2f83e3d994d4dd86f93c6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 20:22:05 2013 -0800 tcg-ppc64: Tidy or and xor patterns. Handle constants in common code; we'll want to reuse that later. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 148bdd23738a2919dda101908f9cfd94f253ef66 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Apr 4 07:30:20 2013 -0700 tcg-ppc64: Allow constant first argument to sub Using SUBFIC for 16-bit signed constants. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ee924fa6b36330fb2d7c383df6436fcac77e1f23 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 16:17:17 2013 -0800 tcg-ppc64: Improve constant add and sub ops. Improve constant addition -- previously we'd emit useless addi with 0. Use new constraints to force the driver to pull full 64-bit constants into a register. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3d582c6179c853cf27e3c7a19575b6c9b94bd154 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 16:51:53 2013 -0800 tcg-ppc64: Rearrange integer constant constraints We'll need a zero, and Z makes more sense for that. Make sure we have a full compliment of signed and unsigned 16 and 32-bit tests. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 421233a1469123cc51ddd19849f7db4b6bd380e7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 15:52:49 2013 -0800 tcg-ppc64: Cleanup tcg_out_movi The test for using movi32 was sub-optimal for TCG_TYPE_I32, comparing a signed 32-bit quantity against an unsigned 32-bit quantity. When possible, use addi+oris for 32-bit unsigned constants. Otherwise, standardize on addi+oris+ori instead of addis+ori+rldicl. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 752c1fdb6d3e7cc03157af213837f3b081b03858 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Apr 2 11:13:28 2013 -0700 tcg-ppc64: Fix setcond_i32 We weren't ignoring the high 32 bits during a NE comparison. Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2fd8eddcab144d29f9f58c842ad7a7fd65147394 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 16:08:50 2013 -0800 tcg-ppc64: Introduce and use TAI and SAI Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5e916c287e023c57f05689f908cc4579a6b53245 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:19:05 2013 -0800 tcg-ppc64: Introduce and use tcg_out_shri64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0a9564b964f2fec444cd422343bc1cc370c60dee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:12:14 2013 -0800 tcg-ppc64: Introduce and use tcg_out_shli64 Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6e5e06024ff722057db928ce5da0b0de64768bc8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:06:30 2013 -0800 tcg-ppc64: Introduce and use tcg_out_ext32u Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 9e555b735c8c0077bcf88ae92d6a0a26c38b437e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 15:00:45 2013 -0800 tcg-ppc64: Introduce and use tcg_out_rlw Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit aceac8d68537b96aa2ef8e8ba246bfaf179975dd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Feb 1 14:48:37 2013 -0800 tcg-ppc64: Use TCGReg everywhere Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 66d4f6a32bf5aa0e3e20c1da11ecc75f8b566899 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 31 11:16:21 2013 -0800 disas: Disassemble all ppc insns for the host Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c72dd2d04bd28f7ec6b073316270258684ba5fc3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 18:26:41 2013 +0200 exec: remove useless declarations from memory-internal.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b421d9c6aba0ba3338c00b56cf45edbc150c42f3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 9 11:10:27 2013 +0200 memory: move core typedefs to qemu/typedefs.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0bc3cd624f1d59456cad769bb07e84066a2ddaf9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 17:29:59 2013 +0200 include: avoid useless includes of exec/ headers Headers in include/exec/ are for the deepest innards of QEMU, they should almost never be included directly. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dccfcd0e5f8f37360ebda11ccc4dab164c04d5a3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 16:55:25 2013 +0200 sysemu: avoid proliferation of include/ subdirectories Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bdee56f5466a724f043e6cfcfcf69866cc48cc94 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 2 18:28:41 2013 +0200 tpm: reorganize headers and split hardware part The TPM subsystem does not have a full front-end/back-end separation. The sole available backend, tpm_passthrough, depends on the data structures of the sole available frontend, tpm_tis. However, we can at least try to split the user interface (tpm.c) from the implementation (hw/tpm). The patches makes tpm.c not include tpm_int.h, which is shared between tpm_tis.c and tpm_passthrough.c; instead it moves more stuff to tpm_backend.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0ca5aa4f4c4a8bcc73988dd52a536241d35e5223 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 10 15:23:27 2013 +0200 qemu-char: another io_add_watch_poll fix After attaching the source, we have to remove the reference we hold to it, because we do not hold anymore a pointer to the source. If we do not do this, removing the source will not finalize it and will not drop the "real" I/O watch source. This showed up when backporting the new flow control patches to older versions of QEMU that still used select. The whole select then failed with EBADF (poll instead will reporting POLLNVAL on a single pollfd) and QEMU froze. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365600207-21685-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5990ff46759d918309dc10409a7d7ee83467642 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:36 2013 +0200 virtio-serial: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 76017fd2ea9bbd24850deb0bf665ef65c920d7f3 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:35 2013 +0200 virtio-serial: cleanup: use QOM casts. As the virtio-serial-pci and virtio-serial-s390 are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 34b95b2c647e6e66adcf877d06ea8b7911d31e80 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:34 2013 +0200 virtio-serial: cleanup: init and exit functions. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6acf69cd4fcc089f6c2415912431c04e096b5d5e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:33 2013 +0200 virtio-serial-ccw: switch to the new API. Here the virtio-serial-ccw is modified for the new API. The device virtio-serial-ccw extends virtio-ccw-device as before. It creates and connects a virtio-serial during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 55169140020c431bae446280858bd25e1e54f366 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:32 2013 +0200 virtio-serial-s390: switch to the new API. Here the virtio-serial-s390 is modified for the new API. The device virtio-serial-s390 extends virtio-s390-device as before. It creates and connects a virtio-serial during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7f7464afdb9f6f792de080ca4b3c520168513ad Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:31 2013 +0200 virtio-serial-pci: switch to the new API. Here the virtio-serial-pci is modified for the new API. The device virtio-serial-pci extends virtio-pci. It creates and connects a virtio-serial during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2cd2b016a145c57204ab629d2876b7e0a931ab12 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 14:53:30 2013 +0200 virtio-serial: add the virtio-serial device. Create virtio-serial which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1365512016-21944-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f574fa8b0700bd5a3a400dbdc3bd514eaf53e005 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Apr 9 12:04:48 2013 +0200 virtio: fix broken aliases. This fix the broken aliases, by renaming the devices. So: * virtio-blk => virtio-blk-device. * virtio-balloon => virtio-balloon-device. * virtio-scsi => virtio-scsi-device. All virtio-*-pci, virtio-*-s390, virtio-*-ccw didn't change. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1365501888-14602-1-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9fd02979d7f0fc58519f0119120797cba2a9fe70 Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Date: Mon Apr 8 23:08:13 2013 +0200 Update Makefile to actually install the new efi-enabled nic roms that are used by default. Commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f made a switch use the efi-enabled nic roms by default. This patch updates the Makefile to install the roms so they can actually be used. Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Message-id: 1365455293-7084-1-git-send-email-linux@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3718c7f0914c39d048a00f609baa4f47f7fc727f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 15 11:12:50 2013 +0300 acpi.h: make it self contained Headers shouldn't assume another header is included, pull in everything necessary. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Message-id: 20130415081250.GA7374@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 97ebbab0e324831dff47dbfa4bed55808cb3ec74 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 16:14:48 2013 +0200 nbd: set TCP_NODELAY Disable the Nagle algorithm to reduce latency. Note this means we must also use TCP_CORK when sending header followed by payload to avoid fragmenting lots of little packets. The previous patch took care of that. Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Tested-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0fcece25c0b1b79b39d1dff5c2c55b88feae7eef Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 16:14:47 2013 +0200 nbd: use TCP_CORK in nbd_co_send_request() Use TCP_CORK to defer packet transmission until both the header and the payload have been written. Suggested-by: Nick Thomas <nick@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6760c47aa42ce30efdd12c132f73c8749c575995 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 16:14:46 2013 +0200 nbd: unlock mutex in nbd_co_send_request() error path Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b1ca31d7ce648a10e3513bb4b5e7f89a8702aec7 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Apr 15 13:54:07 2013 +0200 target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR The operands for MAQ_SA_W.PHL/MAQ_SA_W.PHR must in specified format. Otherwise, the results are unpredictable. Once the operands were corrected in the tests (part of this change), a bug in mipsdsp_mul_q15_q15 became visible. This change corrects the tests for MAQ_SA_W.PHL/MAQ_SA_W.PHR and fixes sign-related issue in mipsdsp_mul_q15_q15. It also removes unnecessary comment. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> commit e3d142d073d02f0a3a4aad79eb838c15b6f99c01 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 12 16:37:52 2013 +0100 fpu: Correct edgecase in float64_muladd In handling float64_muladd, if we end up doing a subtraction of the product and c, and the 128 bit result of this subtraction happens to have its most significant bit in bit 63, we weren't handling this correctly when attempting to normalize to put the most significant bit into bit 126. We would end up doing a right shift by a negative number (undefined behaviour in C) so at best we would return an incorrect result to the guest. MSB in bit 63 has to be handled as a special case separately from MSB in 0..62 and MSB in 63..126. (MSB in 127 is not possible.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 3b8acc11d3f60792f9f716f2a93c258e729af980 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 18 16:37:50 2013 +0100 configure: fix TPM logic A non-native i386 or x86_64 emulator should not have TPM passthrough support, since the TPM is only present for those hosts. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e53339cf7cf90cf5c7a6bca64d0e7c0956f53a66 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 15 11:12:50 2013 +0300 acpi.h: make it self contained Headers shouldn't assume another header is included, pull in everything necessary. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0445259ba686f9ddf395f700c7d5b1ac400a451c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Apr 15 09:19:22 2013 +0300 acpi: move declarations from pc.h to acpi.h Functions defined in acpi/ should be declared in acpi.h Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 174d5d990c7b08e75677402a71c834b000171c94 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Apr 14 22:52:50 2013 +0200 hw: Add lost ARM core again Commit 0434e30afb6175212389811e0b28b948eb3c1e40 accidentally removed the compilation of arm11mpcore.c. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35b2028f47eef4e20752f94f7cff650d828bfaee Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Wed Apr 10 16:43:09 2013 +0800 Fix failure to create q35 machine This is a regression introduced by c0907c9e6417c. How to reproduce: $ qemu-system-x86_64 -nodefaults -vnc :0 -M q35 qemu-system-x86_64: Unknown device 'q35-pcihost' for default sysbus Aborted (core dumped) Tested-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd123245b98fd6e13d829878f25b30a9417f4bfc Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Wed Apr 10 10:29:47 2013 +0200 Add linux-headers to QEMU_INCLUDES virtio/dataplane/vring.c requires the Linux headers and is built for all targets. So we need to add the corresponding include to QEMU_INCLUDES to avoid that outdated distribution headers are used. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bd2be1500337f0349f70802e4d8d43f5aca61477 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Apr 9 15:26:55 2013 +0100 arm: fix location of some include files The recent rearrangement of include files had some minor errors: devices.h is not ARM specific and should not be in arm/ arm.h should be in arm/ Move these two headers to correct this. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit db08dc213ba87d16c34c235f5c83f70f0239f023 Merge: c530b14... dc7588c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 08:02:41 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: rbd: add an asynchronous flush iotests: Add 'check -ssh' option to test Secure Shell block device. block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk. block: Add support for Secure Shell (ssh) block device. ide: refuse WIN_READ_NATIVE_MAX on empty device qemu-iotests: filter QEMU_PROG in 051.out qemu-iotests: Add test for -drive options qemu-iotests: A few more bdrv_pread/pwrite tests block: Introduce bdrv_pwritev() for qcow2_save_vmstate savevm: Implement block_writev_buffer() block: Introduce bdrv_writev_vmstate Conflicts: savevm.c aliguori: add f->pos parameter to writev_buffer(). Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c530b1423b86f1589c49bccb460a75cb87322562 Merge: b25ce10... c85a128... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 07:49:21 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Michal Novotny (2) and Eric Blake (1) # Via Luiz Capitulino * luiz/queue/qmp: qapi: use valid JSON in schema Revert "New QMP command query-cpu-max and HMP command cpu_max" New cpu-max field in query-machines QMP command output Message-id: 1365775103-18737-1-git-send-email-lcapitulino@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b25ce104a2ea690d77b1803cc829fee3142b310d Merge: e2ec3f9... 4d11724... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 15 07:46:39 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Paolo Bonzini # Via Juan Quintela * quintela/migration.next: migration: simplify writev vs. non-writev logic migration: drop is_write complications migration: use a single I/O operation when writev_buffer is not defined migration: set f->is_write and flush in add_to_iovec Message-id: 1365512961-15623-1-git-send-email-quintela@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dc7588c1eb3008bda53dde1d6b890cd299758155 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Mar 29 13:03:23 2013 -0700 rbd: add an asynchronous flush The existing bdrv_co_flush_to_disk implementation uses rbd_flush(), which is sychronous and causes the main qemu thread to block until it is complete. This results in unresponsiveness and extra latency for the guest. Fix this by using an asynchronous version of flush. This was added to librbd with a special #define to indicate its presence, since it will be backported to stable versions. Thus, there is no need to check the version of librbd. Implement this as bdrv_aio_flush, since it matches other aio functions in the rbd block driver, and leave out bdrv_co_flush_to_disk when the asynchronous version is available. Reported-by: Oliver Francke <oliver@xxxxxxxx> Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 342809e807ecb55551e579942f535966251cbe27 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Apr 9 15:30:55 2013 +0100 iotests: Add 'check -ssh' option to test Secure Shell block device. Note in order to run these tests on ssh, you must be running a local ssh daemon, and that daemon must accept loopback connections, and ssh-agent has to be set up to allow logins on the local daemon. In other words, the following command should just work without demanding any passphrase: ssh localhost Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9a2d462e7bfba36597ccbd3774ba3bb1bd4c54d8 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Apr 9 15:30:54 2013 +0100 block: ssh: Use libssh2_sftp_fsync (if supported by libssh2) to flush to disk. libssh2_sftp_fsync is an extension to libssh2 to support fsync(2) over sftp, which is itself an extension of OpenSSH. If both libssh2 and the ssh daemon support it, this will allow bdrv_flush_to_disk to commit changes through to disk on the remote server. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0a12ec87a513b31eb3b6e035d30649e483322270 Author: Richard W.M. Jones <rjones@xxxxxxxxxx> Date: Tue Apr 9 15:30:53 2013 +0100 block: Add support for Secure Shell (ssh) block device. qemu-system-x86_64 -drive file=ssh://hostname/some/image QEMU will ssh into 'hostname' and open '/some/image' which is made available as a standard block device. You can specify a username (ssh://user@host/...) and/or a port number (ssh://host:port/...). You can also use an alternate syntax using properties (file.user, file.host, file.port, file.path). Current limitations: - Authentication must be done without passwords or passphrases, using ssh-agent. Other authentication methods are not supported. - Uses a single connection, instead of concurrent AIO with multiple SSH connections. This is implemented using libssh2 on the client side. The server just requires a regular ssh daemon with sftp-server support. Most ssh daemons on Unix/Linux systems will work out of the box. Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit aad64f3193cbdc3741d10afa0237b6833e46e94e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:51:01 2013 +0200 ide: refuse WIN_READ_NATIVE_MAX on empty device What is the highest addressable sector on an empty CD-ROM? Nothing is addressable so produce an error. This patch prevents a divide-by-zero in ide_set_sector() since s->sectors and s->heads would be 0. Not to mention that a sector=-1 argument would be nonsense. Note that WIN_READ_NATIVE_MAX can be triggered using hdparm -N 1024 /dev/cdrom. The LBA bit will be set to 1 though, so the only easy way to go down the ide_set_sector() CHS code path which divides by zero is to comment out the s->select & 0x40 case for testing. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> commit c09b437b5fab487edd924e09d1732062d7dcf093 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Apr 15 10:15:17 2013 +0200 qemu-iotests: filter QEMU_PROG in 051.out Filter the name of the QEMU executable so the output can be diffed no matter what QEMU_PROG is (e.g. qemu-system-x86_64). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 47e5df2146e8b6cd1c093720461928e66f824222 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 9 15:56:13 2013 +0200 qemu-iotests: Add test for -drive options Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cf07aecf955453de7570c66fa0e582c83f2aac4c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:56 2013 +0200 qemu-iotests: A few more bdrv_pread/pwrite tests Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8d3b1a2d0b34a95800c482e1414c63f469ac4973 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:55 2013 +0200 block: Introduce bdrv_pwritev() for qcow2_save_vmstate Directly pass the QEMUIOVector on instead of linearising it. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 05fcc84888cfabec2267851415b66395a73a0f5f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:54 2013 +0200 savevm: Implement block_writev_buffer() Instead of breaking up RAM state into many small chunks, pass the iovec to the block layer for better performance. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cf8074b3825f7229a20c60e679511592bde41340 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 21:27:53 2013 +0200 block: Introduce bdrv_writev_vmstate Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 41cb62c2d9a5a2668165fdd6f195f54ad30e5396 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 2 16:52:25 2013 +0300 kvm: support non datamatch ioeventfd Adding restrictions just adds code. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 44c3f8f7c77ff24edbd4e682c12a8f1f50a20ae9 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 2 00:54:45 2013 +0300 kvm: support any size for pio eventfd Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 500ffd4a29bda2109ab07fadc0f767473dab6010 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Apr 2 00:05:21 2013 +0300 kvm: remove unused APIs There are only used internally now, move them out of header and out of stub. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e2ec3f976803b360c70d9ae2ba13852fa5d11665 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:21 2013 +0200 qjson: to_json() case QTYPE_QSTRING is buggy, rewrite Known bugs in to_json(): * A start byte for a three-byte sequence followed by less than two continuation bytes is split into one-byte sequences. * Start bytes for sequences longer than three bytes get misinterpreted as start bytes for three-byte sequences. Continuation bytes beyond byte three become one-byte sequences. This means all characters outside the BMP are decoded incorrectly. * One-byte sequences with the MSB are put into the JSON string verbatim when char is unsigned, producing invalid UTF-8. When char is signed, they're replaced by "\\uFFFF" instead. This includes \xFE, \xFF, and stray continuation bytes. * Overlong sequences are happily accepted, unless screwed up by the bugs above. * Likewise, sequences encoding surrogate code points or noncharacters. * Unlike other control characters, ASCII DEL is not escaped. Except in overlong encodings. My rewrite fixes them as follows: * Malformed UTF-8 sequences are replaced. Except the overlong encoding \xC0\x80 of U+0000 is still accepted. Permits embedding NUL characters in C strings. This trick is known as "Modified UTF-8". * Sequences encoding code points beyond Unicode range are replaced. * Sequences encoding code points beyond the BMP produce a surrogate pair. * Sequences encoding surrogate code points are replaced. * Sequences encoding noncharacters are replaced. * ASCII DEL is now always escaped. The replacement character is U+FFFD. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1d50c8e947180174acb02bad9ff95e0aee6249ea Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:20 2013 +0200 check-qjson: Test noncharacters other than U+FFFE, U+FFFF in strings Test cases cover the two noncharacters in the BMP. Add tests for the other 64 noncharacters. Three existing test cases involve noncharacters U+FFFF and U+10FFFF. Instead of deleting them as now duplicates, adjust them to use U+FFFC and U+10FFFFD. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d6244e2ce48b353402eff271d382ee6fd47ce166 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:19 2013 +0200 check-qjson: Improve a few comments, delete bogus ones Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cb2744ea343d8cb96bab0389f6b7d6e1a3ddf6c1 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Apr 11 18:07:18 2013 +0200 unicode: New mod_utf8_codepoint() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 75312e745ad1b672cbabdc3022f6e7c8eff69b00 Merge: d640045... 0727b86... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 14:31:54 2013 +0200 Merge branch 'mingw' of git://qemu.weilnetz.de/qemu * 'mingw' of git://qemu.weilnetz.de/qemu: qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 Release SMP restriction on Windows Ensure good ordering of memory instruction in cpu_exec Check effective suspension of TCG thread commit d640045a3ede028293b83e57e9ae1ce4f81044b8 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:31 2013 +0200 target-i386: add AES-NI instructions Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 5d6f5cdd8ae3a67a07012b4f3fcb5db7a6117766 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:31 2013 +0200 aes: make Td[0-5] and Te[0-5] tables non static Remove static attribute to Td[0-5] and Te[0-5] tables so that they can be used outside of aes.c. Change their type from u32 to uint32_t, to keep the u32 udef local to aes.c. Prefix them with AES_ so that they do not conflict with other symbols. Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 753d9b82c5a18182294980f4fc1081d7926aae83 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 aes: move aes.h from include/block to include/qemu Move aes.h from include/block to include/qemu to show it can be reused by other subsystems. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 309b4de122c387e0f75624307fcd9896be7ec8fe Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 disas/i386.c: disassemble aes-ni instructions Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 target-i386: enable PCLMULQDQ on Westmere CPU The PCLMULQDQ instruction has been introduced on the Westmere CPU. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e71827bc0ed50edb31bee6050bc96b3bd1e0c055 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 target-i386: add pclmulqdq instruction Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 8dbd3fc37593c81a04a62cb4266ba9127de4498a Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 31 12:58:30 2013 +0200 disas/i386.c: disassemble pclmulqdq instruction Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2f493fee18a62104caddfabaa2712b076528cede Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Apr 9 16:51:24 2013 +0200 sh7750: Change cpu field type to SuperHCPU This brings us a step closer to QOM'ified SH7750 SoC and fixes b350ab75 (target-sh4: Move PVR/PRR/CVR into SuperHCPUClass) assuming SuperHCPU type for SUPERH_CPU_GET_CLASS(). Fix Coding Style issues while at it (indentation, braces). Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 06f3ed26983a04df74729d748a7b05400d8f3386 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Apr 9 16:51:23 2013 +0200 shix: Catch CPU initialization errors Print an error message as done for the r2d machine and exit. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 396a14a3be17edbcdf33ad2c94d6e1069464f9e0 Merge: 0a9c234... c30d1ae... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 13:50:34 2013 +0200 Merge branch 'trivial-patches' of git://github.com/stefanha/qemu * 'trivial-patches' of git://github.com/stefanha/qemu: cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC) Typo, spelling and grammatical fixes linux-user: pass correct host flags to eventfd2 call target-moxie: Fix VMState registration commit 0a9c2341de2e735166084538d000ed80182ff404 Merge: 4b7b054... ee79c35... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 13:50:06 2013 +0200 Merge branch 'tci' of git://qemu.weilnetz.de/qemu * 'tci' of git://qemu.weilnetz.de/qemu: tci: Make tcg temporaries local to tcg_qemu_tb_exec tci: Delete unused tb_ret_addr tci: Avoid code before declarations tci: Use a local variable for env tci: Use 32-bit signed offsets to loads/stores commit 4b7b05468289531dae80ec81d0f08021ed92f123 Merge: 93b48c2... b879f30... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Apr 13 13:49:20 2013 +0200 Merge branch 'tcg-s390' of git://github.com/rth7680/qemu * 'tcg-s390' of git://github.com/rth7680/qemu: tcg-s390: Fix merge error in tgen_brcond tcg-s390: Use all 20 bits of the offset in tcg_out_mem tcg-s390: Use load-address for addition tcg-s390: Cleanup argument shuffling fixme in softmmu code tcg-s390: Use risbgz for andi tcg-s390: Remove constraint letters for and tcg-s390: Implement deposit opcodes tcg-s390: Implement movcond opcodes tcg-s390: Implement mulu2_i64 opcode tcg-s390: Implement add2/sub2 opcodes tcg-s390: Remove useless preprocessor conditions tcg-s390: Properly allocate a stack frame. tcg-s390: Fix movi commit 0727b867542eea7fedfd2c53568e9782627fd3bd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Feb 20 14:43:31 2013 +0100 qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 These are needed for any of the Win32 alarm timer implementations. They are not tied to mmtimer exclusively. Jacob tested this patch with both mmtimer and Win32 timers. Cc: qemu-stable@xxxxxxxxxx Tested-by: Jacob Kroon <jacob.kroon@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit 1046127d1fcc69359b3f5a44de08e6c5b16c90bc Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Apr 9 18:06:55 2013 +0200 Release SMP restriction on Windows The previous patches make QEMU SMP safe on Windows, we can now release the restriction. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit ec9bd89fa48147e1d16e078217513c1235f9132a Author: Olivier Hainque <hainque@xxxxxxxxxxx> Date: Tue Apr 9 18:06:54 2013 +0200 Ensure good ordering of memory instruction in cpu_exec The IO thread, when it senses cpu_single_env == 0, expects exit_request to be checked later on. A compiler scheduling constraint is not strong enough to ensure this on modern architecture. A memory fence is needed as well. Signed-off-by: Olivier Hainque <hainque@xxxxxxxxxxx> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit ed9164a3549f93204d6b096136cda2ce54e9f03a Author: Olivier Hainque <hainque@xxxxxxxxxxx> Date: Tue Apr 9 18:06:53 2013 +0200 Check effective suspension of TCG thread On multi-core systems, SuspendThread does not guaranty immediate thread suspension. We add busy loop to wait for effective thread suspension after call to ThreadSuspend(). Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> commit c85a128480a3d05d2002728c449a32e32663e7de Author: Eric Blake <eblake@xxxxxxxxxx> Date: Wed Apr 10 13:12:44 2013 -0600 qapi: use valid JSON in schema * qapi-schema.json: JSON doesn't allow trailing commas. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 315f9e1a8f596a37853bbed4647954029f9350db Author: Michal Novotny <minovotn@xxxxxxxxxx> Date: Tue Apr 9 16:23:39 2013 +0200 Revert "New QMP command query-cpu-max and HMP command cpu_max" This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked by Luiz. The patch has been obsoleted by extending MachineInfo structure by cpu-max field. Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c72e768836d78c9d844428b541f7d27d54e7653d Author: Michal Novotny <minovotn@xxxxxxxxxx> Date: Mon Apr 8 18:21:02 2013 +0200 New cpu-max field in query-machines QMP command output Alter the query-machines QMP command to output information about maximum number of CPUs for each machine type with default value set to 1 in case the number of max_cpus is not set. Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit c30d1aea1478cd55e8cfdf866afa39cd00bb4ea1 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Apr 11 21:21:46 2013 +0100 cpu-exec: Allow "-d exec" in non-debug builds (drop CONFIG_DEBUG_EXEC) The CONFIG_DEBUG_EXEC define compiles out a single qemu_log_mask() call, which is a pretty trivial cost even for something in the main cpu_exec() loop. Having this be conditionally defined means that '-d exec' on a non-debug build will silently do nothing. Drop the define and the configure machinery that sets it, in favour of just always allowing this log option to be enabled at runtime. As a concession to the mainloopiness, we use qemu_loglevel_mask()+qemu_log() rather than qemu_log_mask() to avoid the function call overhead. Note that DEBUG_DISAS is always defined, so removing the '|| defined(CONFIG_DEBUG_EXEC)' from those conditionals makes no behavioural change for that logging. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e03ba136377ff0038276ba493473127338c68ebc Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Apr 9 12:48:19 2013 +0100 Typo, spelling and grammatical fixes Minor fixes to documentation and code comments. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5947c697ce71898015ae1c6ac5d23d1ecc388552 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx> Date: Mon Apr 8 20:26:10 2013 +0200 linux-user: pass correct host flags to eventfd2 call This change makes conversion of TARGET_O_NONBLOCK and TARGET_O_CLOEXEC flags to host flags before calling eventfd for TARGET_NR_eventfd2. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 183543cdb68a0f2e1ff1c68d37338037dcc9d6c5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 8 16:51:46 2013 +0100 target-moxie: Fix VMState registration Register the CPU VMState in the correct way, via cpu_class_set_vmsd(), rather than doing it in two different wrong ways (once by providing cpu_save and cpu_load functions, and once by setting the vmsd field in DeviceClass). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ee79c356ffe18eea90ea4bbde2057cebe6bb654f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:55 2013 +0000 tci: Make tcg temporaries local to tcg_qemu_tb_exec We're moving away from the temporaries stored in env. Make sure we can differentiate between temp stores and possibly bogus stores for extra call arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way of the parameter passing registers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 4699ca6dbf335b0c38e291a530c6ad85e599253d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:54 2013 +0000 tci: Delete unused tb_ret_addr Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit dea8fde8b8cb1ab14e15308aadbf88eeccd4e873 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:53 2013 +0000 tci: Avoid code before declarations This only valid with c99 extensions enabled, and easy to avoid. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 7648746844a7775566ada1db1c117943aaf64b83 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:52 2013 +0000 tci: Use a local variable for env Since we have total conversion away from global AREG0, we do not need a global variable named "env". Retain that name as the function parameter inside the interpreter. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 03fc0548b70393b0c8d43703591a9e34fb8e3123 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 28 05:37:51 2013 +0000 tci: Use 32-bit signed offsets to loads/stores Since the change to tcg_exit_req, the first insn of every TB is a load with a negative offset from env. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off by: Stefan Weil <sw@xxxxxxxxxxx> commit 4d1172472cdf28a444321ca8b165ce7326eb919e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:57 2013 +0200 migration: simplify writev vs. non-writev logic Check f->iovcnt in add_to_iovec, f->buf_index in qemu_put_buffer/byte. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d9658c4732a88efc42ab43bda69ae9f62559205b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:56 2013 +0200 migration: drop is_write complications The same QEMUFile is never used for both read and write. Simplify the logic to simply look for presence or absence of the right ops. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7ce51f1b8157a2aa6bd3945bba9904442d3c3cdd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:55 2013 +0200 migration: use a single I/O operation when writev_buffer is not defined The recent patches to use vectored I/O for RAM migration caused a regression in savevm speed. To restore previous performance, add data to the buffer in qemu_put_buffer_async whenever writev_buffer is not available in the QEMUFile. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit af74db72d33e4776d7d1430b57d0bf065a6f03df Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 13:29:54 2013 +0200 migration: set f->is_write and flush in add_to_iovec Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 93b48c201eb6c0404d15550a0eaa3c0f7937e35e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 9 10:22:35 2013 +0200 virtio-9p: Fix virtio-9p no longer building after hw-dirs branch merge Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1365495755-10902-1-git-send-email-hdegoede@xxxxxxxxxx Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 47b5264eb3e1cd2825e48d28fd0d1b239ed53974 Merge: 1f8010f... 47b43a1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 13:12:32 2013 -0500 Merge remote-tracking branch 'bonzini/hw-dirs' into staging # By Paolo Bonzini # Via Paolo Bonzini * bonzini/hw-dirs: (35 commits) hw: move private headers to hw/ subdirectories. MAINTAINERS: update for source code movement hw: move last file to hw/arm/ hw: move hw/kvm/ to hw/i386/kvm hw: move ARM CPU cores to hw/cpu/, configure with default-configs/ hw: move other devices to hw/misc/, configure with default-configs/ hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/ hw: move GPIO interfaces to hw/gpio/, configure with default-configs/ hw: move interrupt controllers to hw/intc/, configure with default-configs/ hw: move DMA controllers to hw/dma/, configure with default-configs/ hw: move VFIO and ivshmem to hw/misc/ hw: move PCI bridges to hw/pci-* or hw/ARCH hw: move SD/MMC devices to hw/sd/, configure with default-configs/ hw: move timer devices to hw/timer/, configure with default-configs/ hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ hw: move char devices to hw/char/, configure via default-configs/ hw: move more files to hw/xen/ hw: move SCSI controllers to hw/scsi/, configure via default-configs/ hw: move SSI controllers to hw/ssi/, configure via default-configs/ hw: move I2C controllers to hw/i2c/, configure via default-configs/ ... Message-id: 1365442249-18259-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1f8010f0790b53e5a75dbbd3e14868759ac00e6c Merge: 7c2acc7... 389dd80... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 13:12:25 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Dmitry Fleytman # Via Stefan Hajnoczi * stefanha/net: vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped vmxnet3: iPXE compatibility fixes Message-id: 1365435829-23535-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 47b43a1f414c5b3eb9eb7502d0b0be0d134259ba Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 18 17:36:02 2013 +0100 hw: move private headers to hw/ subdirectories. Many headers are used only in a single directory. These can be kept in hw/. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8d8b636d28a97af7bf43c3267d07f87b9530939a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:19:30 2013 +0100 MAINTAINERS: update for source code movement Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit aacf8895e13c3763ce6d30a4e673ebcc6326d9ff Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 18:49:23 2013 +0100 hw: move last file to hw/arm/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 54976b75fb159ca175636b7fef1cd08130cb662f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move hw/kvm/ to hw/i386/kvm Peter requested the KVM GIC to be in hw/intc. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0434e30afb6175212389811e0b28b948eb3c1e40 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move ARM CPU cores to hw/cpu/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e28bee8ee654b81f4688a505e56ade0692174b5c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 3 18:06:08 2013 +0200 hw: move other devices to hw/misc/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 914e29d28052dbe5a4f41b71eaf8c7bb19ac0929 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5193899a5a7de923c77cbc4e5019e5009294245e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:36:44 2013 +0100 hw: move GPIO interfaces to hw/gpio/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7702e47c21e9e7c9962a25de03caa999ea4cd2ea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 16:12:12 2013 +0100 hw: move interrupt controllers to hw/intc/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d2c0bd845847820e4abd99638aa2e9b90611a5bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:54:35 2013 +0100 hw: move DMA controllers to hw/dma/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ba25df88cc004dffad908b54a71ad8510551e6d2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:41:36 2013 +0100 hw: move VFIO and ivshmem to hw/misc/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c0907c9e6417cb959dfd9ef6873221536ec91351 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:06:20 2013 +0100 hw: move PCI bridges to hw/pci-* or hw/ARCH Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8ac5c6510b609c123d6b394b2de16462ac7c395f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:54:35 2013 +0100 hw: move SD/MMC devices to hw/sd/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3bd884511f8dc44a01e32878b2972443a16db70d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:38:25 2013 +0100 hw: move timer devices to hw/timer/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 47934d0aadc075b05ce2d9e8a44fa6a46edd1afa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:13:04 2013 +0100 hw: move ISA bridges and devices to hw/isa/, configure with default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9944d320016914912133b348b6fbbb18c7417035 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:35:34 2013 +0100 hw: move char devices to hw/char/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80b4ecc86dd5ccd779f96c8bd11feb031d327614 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:25:08 2013 +0100 hw: move more files to hw/xen/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53a5500244a9d38505174bac56d81a8be2979f39 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:39:38 2013 +0100 hw: move SCSI controllers to hw/scsi/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 31e17060829f26292d4095c93e3408d740ce6f3d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:20:08 2013 +0100 hw: move SSI controllers to hw/ssi/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53ed424e09f555598f7af286787a76d9c397e812 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 13:07:03 2013 +0100 hw: move I2C controllers to hw/i2c/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:59:04 2013 +0100 hw: move display devices to hw/display/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 34b8f63ea1aa0941f11c6c032f8e1716269a0449 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:55:19 2013 +0100 hw: move audio devices to hw/audio/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7b2478956a1aece1c79ece8dec250ed91c09903b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:55:04 2013 +0100 hw: move block devices to hw/block/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d7e35d4a8495bfb3aa0dfd6319fcc499f43a175c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:33:56 2013 +0100 hw: move NICs to hw/net/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0ddfaf7fe4c8453446730328bf348b7c6438e4f8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:30:44 2013 +0100 hw: move MC146818RTC to hw/timer/, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a100107d5612ba568c817f22c628b2c9eeb431bf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:27:44 2013 +0100 hw: move watchdogs to hw/watchdog, configure via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ddf2bcfc63e7c73cc37f870599ee61f9204bde66 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 14:46:43 2013 +0100 hw: make all of hw/pci/ configurable via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit aaa4d1df2e18e7b3aa996836a6256eab13d4267a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:23:23 2013 +0100 hw: make all of hw/usb/ configurable via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9a1179dc864ae71dec212c5da482451bcd4a4fcb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:22:39 2013 +0100 hw: make all of hw/ide/ configurable via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6e7907468fd05b8a641a715ebb110fc1903a604e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:42:31 2013 +0100 hw: move virtio devices to hw/ subdirectories Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 49ab747f668f421138d5b40d83fa279c4c5e278d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 1 13:59:19 2013 +0100 hw: move target-independent files to subdirectories This patch tackles all files that are compiled once, moving them to subdirectories of hw/. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ce3b494cb504f96992f2d37ebc8f56deed202b06 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 18:54:12 2013 +0100 moxie: configure with default-configs file Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1fd6bb44ed7ddd875e0d37d17685621f1ef27823 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 11:59:48 2013 +0100 hw: make subdirectories for devices Prepare the new directory structure. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0d09e41a51aa0752b1ce525ce084f7cd210e461b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 17:06:20 2013 +0100 hw: move headers to include/ Many of these should be cleaned up with proper qdev-/QOM-ification. Right now there are many catch-all headers in include/hw/ARCH depending on cpu.h, and this makes it necessary to compile these files per-target. However, fixing this does not belong in these patches. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bb585a784e9ad69207315d694e7dad2c422f6baa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Apr 3 17:53:21 2013 +0200 build: enable using $(CONFIG_FOO) on the rhs of config files Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7c2acc7062fe863cb71ff5849bb121deafe8df4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 8 12:11:27 2013 +0100 configure: Don't fall back to gthread coroutine backend The gthread coroutine backend is broken and does not produce a working QEMU; it is only useful for some very limited debugging situations. Clean up the backend selection logic in configure so that it now runs "if on windows use windows; else prefer ucontext; else sigaltstack". To do this we refactor the configure code to separate out "test whether we have a working ucontext", "pick a default if user didn't specify" and "validate that user didn't specify something invalid", rather than having all three of these run together. We also simplify the Makefile logic so it just links in the backend the configure script selects. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1365419487-19867-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 76ad07a4938aac69cb12bfdf52c3bf612c85e4df Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Apr 8 12:11:26 2013 +0100 configure: Provide and use convenience error reporting function Provide a convenience function for reporting an error and exiting, and update various places in the configure script to use it. This allows us to be a little more consistent about how format our error messages and makes the calling code shorter. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365419487-19867-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1e885b25275fb6763eb947b1e53b2d6911b967a8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Apr 8 15:03:15 2013 +0200 qemu-char: really fix behavior on can_read = 0 I misread the glib manual, g_source_remove does not let you re-attach the source later. This behavior (called "blocking" the source in glib) is present in glib's source code, but private and not available outside glib; hence, we have to resort to re-creating the source every time. In fact, g_source_remove and g_source_destroy are the same thing, except g_source_destroy is O(1) while g_source_remove scans a potentially very long list of GSources in the current main loop. Ugh. Better use g_source_destroy explicitly, and leave "tags" to those dummies who cannot track their pointers' lifetimes. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365426195-12596-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9a7cfee1280cc70ba0db2eb528ea3e5a072c80e Merge: 2a7a239... ce7f7cc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 10:37:06 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-4-2-13' into staging # By Laszlo Ersek (2) and others # Via Michael Roth * mdroth/qga-pull-4-2-13: qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows qga schema: document generic QERR_UNSUPPORTED qga schema: mark optional GuestLogicalProcessor.can-offline with #optional qga: add windows implementation for guest-set-time qga: add windows implementation for guest-get-time commit 2a7a239ff09aa87cc3682a976c7a57d9ea1321d7 Merge: 9196dd4... aa1c9e9... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 8 10:36:40 2013 -0500 Merge remote-tracking branch 'kraxel/usb.79' into staging # By Gerd Hoffmann (7) and Hans de Goede (3) # Via Gerd Hoffmann * kraxel/usb.79: usb-tablet: Don't claim wakeup capability for USB-2 version usb: update docs for bus name change usb-hub: report status changes only once usb-hub: limit chain length xhci: zap unused name field xhci: remove unimplemented printfs xhci: remove leftover debug printf xhci: fix numintrs sanity checks usb-redir: Add flow control support usb-redir: Fix crash on migration with no client connected commit 389dd80795c646c914ab3c4366c9409e309f0e4f Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Thu Mar 28 10:53:30 2013 +0200 vmxnet3: const_cpu_to_le64 wrapping for feature bits dropped Byte swap is redundant because shared memory reading functions already swap bytes when required Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3e948fd38556f872f40ac588ec9008c099010007 Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Thu Mar 28 10:53:29 2013 +0200 vmxnet3: iPXE compatibility fixes iPXE vmxnet3 driver makes a few assumptions regarding device operation that were missed during testing with Linux and Windows drivers. This patch adds following logic: 1. Additional GET commands processing added 2. Max number of RX chunks should be set to 1 when driver passes 0 via corresponding shared memory field 3. Enforecement for max chunks number added Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9196dd411d580c27f85daa209ff9a501d719ebc0 Merge: 893986f... 32aea75... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 6 12:53:54 2013 +0000 Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm: hw/nand.c: Fix nand erase operation cadence_uart: Flush queued characters on reset pl330: Don't inhibit ES bits on INTEN pflash_cfi01: Implement migration support pflash_cfi01: Drop unused 'bypass' field hw/arm_gic_common: Use vmstate struct rather than save/load functions arm_gic: Fix sizes of state fields in preparation for vmstate support vmstate: Add support for two dimensional arrays hw/onenand.c: fix migration of dynamically allocated buffer "otp" hw/sd.c: fix migration of dynamically allocated buffer "buf" vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro hw/arm_mptimer: Save the timer state pl050: Don't send always-constant is_mouse field hw/arm/nseries: don't print to stdout or stderr commit b879f3084650410709051202e0e834b903b0858c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Apr 5 14:10:28 2013 -0400 tcg-s390: Fix merge error in tgen_brcond When the TCG condition codes were re-organized last year, we failed to update all of the "old-style" tests for unsigned. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 78c9f7c5b09408b4cac69a4fee97a118c8a89f6c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 14:37:42 2013 -0400 tcg-s390: Use all 20 bits of the offset in tcg_out_mem This can save one insn, if the constant has any bits in 32-63 set, but no bits in 21-31 set. It never results in more insns. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0db921e6d8660a2491c173a2821e30924018d4bb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 14:23:26 2013 -0400 tcg-s390: Use load-address for addition Since we're always in 64-bit mode, load address performs a full 64-bit add. Use that for 3-address addition, as well as for larger constant addends when we lack extended-immediates facility. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 65a62a753c90611d07497a586e0343fe8f7154cf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 13:04:26 2013 -0400 tcg-s390: Cleanup argument shuffling fixme in softmmu code Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f0bffc27304ddaad255538da851d52ebb59e020d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 12:28:22 2013 -0400 tcg-s390: Use risbgz for andi This is immediately usable by the tlb lookup code. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 07ff798313a8263a9e50d3411631538cb263d129 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 11:47:54 2013 -0400 tcg-s390: Remove constraint letters for and Since we have a free temporary and can always just load the constant, we ought to do so, rather than spending the same effort constraining the const. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d5690ea43322b487071aa22e51f005a542b015d1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Mar 27 09:30:58 2013 -0400 tcg-s390: Implement deposit opcodes Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 96a9f093f8d71bc672e68da100e6a449ada75638 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 17:28:52 2013 -0400 tcg-s390: Implement movcond opcodes Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 36017dc68aa8c345d10ad7ba7bc3dba580f3f035 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 16:50:29 2013 -0400 tcg-s390: Implement mulu2_i64 opcode Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3790b9180a070eab619438dc0fd83de33ec8cbbd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 16:41:45 2013 -0400 tcg-s390: Implement add2/sub2 opcodes Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a01fc30da4d4b6f16889429518eeefe382bc4d42 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 26 16:39:50 2013 -0400 tcg-s390: Remove useless preprocessor conditions We only support 64-bit code generation for s390x. Don't clutter the code with ifdefs that suggest otherwise. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a4924e8bb533fb537d82a463b6465d80adaea0f5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 25 20:54:30 2013 -0700 tcg-s390: Properly allocate a stack frame. Set TCG_TARGET_CALL_STACK_OFFSET properly for the abi. Allocate the standard TCG_STATIC_CALL_ARGS_SIZE. And while we're at it, allocate space for CPU_TEMP_BUF_NLONGS. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a22971f99f4846a0947f35548b7f3f76159339f0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Mar 25 13:45:32 2013 -0700 tcg-s390: Fix movi The code to load the high 64 bits assumed that the insn used to load the low 64 bits zero-extended. Enforce that. commit 893986fe94eb229f2317f50fac0e35e068eb66ba Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 08:46:00 2013 -0500 main-loop: drop the BQL if the I/O appears to be spinning The char-flow refactoring introduced a busy-wait that depended on an action from the VCPU thread. However, the VCPU thread could never take that action because the busy-wait starved the VCPU thread of the BQL because it never dropped the mutex while running select. Paolo doesn't want to drop this optimization for fear that we will stop detecting these busy waits. I'm afraid to keep this optimization even with the busy-wait fixed because I think a similar problem can occur just with heavy I/O thread load manifesting itself as VCPU pauses. As a compromise, introduce an artificial timeout after a thousand iterations but print a rate limited warning when this happens. This let's us still detect when this condition occurs without it being a fatal error. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1365169560-11012-1-git-send-email-aliguori@xxxxxxxxxx commit d185c094b404b4ff392b77d1244c0233da7d53bd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Apr 5 17:59:33 2013 +0200 qemu-char: eliminate busy waiting on can_read returning zero The character backend refactoring introduced an undesirable busy wait. The busy wait happens if can_read returns zero and there is data available on the character device's file descriptor. Then, the I/O watch will fire continuously and, with TCG, the CPU thread will never run. 1) Char backend asks front end if it can write 2) Front end says no 3) poll() finds the char backend's descriptor is available 4) Goto (1) What we really want is this (note that step 3 avoids the busy wait): 1) Char backend asks front end if it can write 2) Front end says no 3) poll() goes on without char backend's descriptor 4) Goto (1) until qemu_chr_accept_input() called 5) Char backend asks front end if it can write 6) Front end says yes 7) poll() finds the char backend's descriptor is available 8) Backend handler called After this patch, the IOWatchPoll source and the watch source are separated. The IOWatchPoll is simply a hook that runs during the prepare phase on each main loop iteration. The hook adds/removes the actual source depending on the return value from can_read. A simple reproducer is qemu-system-i386 -serial mon:stdio ... followed by banging on the terminal as much as you can. :) Without this patch, emulation will hang. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1365177573-11817-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91b53e4407ed8379d2d40f88a585e0b767681927 Merge: 54baa6f... f1922e3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 12:52:48 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Peter Crosthwaite (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: xilinx_zynq: Cleanup ssi_create_slave petalogix_ml605_mmu: Cleanup ssi_create_slave() target-s390: Fix SRNMT linux-user: Don't omit comma for strace of rt_sigaction() test-visitor-serialization: Fix some memory leaks commit 54baa6f3c07a155939a6edda6d17706a6e9ab11c Merge: 5098699... 9246ce8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 12:52:32 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-2013-04-05' into staging # By Alex Bligh (2) and Felipe Franciosi (2) # Via Stefano Stabellini * sstabellini/xen-2013-04-05: Allow xen guests to plug disks of 1 TiB or more Introduce 64 bit integer write interface to xenstore Xen PV backend: Disable use of O_DIRECT by default as it results in crashes. Xen PV backend: Move call to bdrv_new from blk_init to blk_connect commit 5098699a51756f7e8934dc035112c8f8aa2a0ec3 Merge: 150a470... c2b6ff5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 12:49:10 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (4) and Kevin Wolf (3) # Via Kevin Wolf * kwolf/for-anthony: qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount qcow2: Return real error in qcow2_update_snapshot_refcount block: clean up I/O throttling wait_time code block: drop duplicated slice extension code block: keep I/O throttling slice time constant block: fix I/O throttling accounting blind spot usb-storage: Forward serial number to scsi-disk commit c2b6ff51e4a3ad1f7ec5dbc94970e9778b31d718 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 12:57:10 2013 +0200 qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount It ignored the error code, and at least the 'goto fail' is obvious nonsense as it creates an endless loop (if the next attempt doesn't magically succeed) and leaves the in-memory L1 table in big-endian instead of converting it back. In error cases, there's no point in writing an updated L1 table, so skip this part for them. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c2bc78b6a975ea2dcd7eee9f0dce22cc060cdcdc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Apr 5 12:51:31 2013 +0200 qcow2: Return real error in qcow2_update_snapshot_refcount This fixes the error message triggered by the following script: cat > /tmp/blkdebug.cfg <<EOF [inject-error] event = "cluster_free" errno = "28" immediately = "off" EOF $qemu_img create -f qcow2 test.qcow2 10G $qemu_img snapshot -c snap test.qcow2 $qemu_img snapshot -d snap blkdebug:/tmp/blkdebug.cfg:test.qcow2 Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0775437fafc5c733564645a22f75490770bf41f7 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:22 2013 +0200 block: clean up I/O throttling wait_time code The wait_time variable is in seconds. Reflect this in a comment and use NANOSECONDS_PER_SECOND instead of BLOCK_IO_SLICE_TIME * 10 (which happens to have the right value). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e660fb8b3ccc94652774d5895d122c0f13aecb89 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:21 2013 +0200 block: drop duplicated slice extension code The current slice is extended when an I/O request exceeds the limit. There is no need to extend the slice every time we check a request. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ae29d6c64bd8d55873a2cb1df50ae4321b497447 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:20 2013 +0200 block: keep I/O throttling slice time constant It is not necessary to adjust the slice time at runtime. We already extend the current slice in order to carry over accounting into the next slice. Changing the actual slice time value introduces oscillations. The guest may experience large changes in throughput or IOPS from one moment to the next when slice times are adjusted. Reported-by: Benoît Canet <benoit@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5905fbc9c94ccd744c1b249472eafcc2d827548a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Apr 5 11:32:19 2013 +0200 block: fix I/O throttling accounting blind spot I/O throttling relies on bdrv_acct_done() which is called when a request completes. This leaves a blind spot since we only charge for completed requests, not submitted requests. For example, if there is 1 operation remaining in this time slice the guest could submit 3 operations and they will all be submitted successfully since they don't actually get accounted for until they complete. Originally we probably thought this is okay since the requests will be accounted when the time slice is extended. In practice it causes fluctuations since the guest can exceed its I/O limit and it will be punished for this later on. Account for I/O upon submission so that I/O limits are enforced properly. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-By: Benoit Canet <benoit@xxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 76534da749ceb3b4c13ec09b173bcf6d6c2e36d4 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Apr 3 12:41:46 2013 +0200 usb-storage: Forward serial number to scsi-disk usb-storage takes care to fetch the USB serial number from -drive options, but it neglected to pass its own 'serial' property to the scsi-disk it creates. With this patch, the 'serial' qdev property and the 'serial' option in -drive behave the same and correctly apply the serial number on both USB and SCSI level. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 32aea752f47f30c00878dcc323ac4debf0c9e645 Author: Wendy Liang <wendy.liang@xxxxxxxxxx> Date: Wed Apr 3 15:33:08 2013 +1000 hw/nand.c: Fix nand erase operation Usually, nand erase operation has only 2 or 3 address cycles. We need to mask s->addr to zero unset stale high-order bytes in the nand address before using it as the erase address. This fixes the NAND erase operation in Linux. [PC: Generalised to work for any number of address cycles rather than just 3] Signed-off-by: Wendy Liang <jliang@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1364967188-26711-1-git-send-email-peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1db8b5efe0c2b5000e50691eea61264a615f43de Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Apr 3 14:52:21 2013 +1000 cadence_uart: Flush queued characters on reset Reset can be used to empty the rx-fifo. As the fifo full condition is used to return false from can_receive, queued rx data should be flushed on reset accordingly. Cc: Wendy Liang <jliang@xxxxxxxxxx> Cc: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Message-id: 494c1e005e225c915d295ddfd75d992ad2dabc3c.1364964526.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit fd7f8a99f3b08640a7fe2b2f3c3e6b68068b4983 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Apr 2 17:59:29 2013 +0000 pl330: Don't inhibit ES bits on INTEN This if-else logic inhibits setting of the event status (ES) bits when interrupts are enabled. This is incorrect. ES should be set regardless on INTEN state. INTEN only inhibits the signalling of events to PL330 threads, not setting of the ES register. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9246ce881128df2a69178779c1ef33c83df3c70d Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx> Date: Fri Apr 5 15:47:59 2013 +0000 Allow xen guests to plug disks of 1 TiB or more The current xen backend driver implementation uses int64_t variables to store the size of the corresponding backend disk/file. It also uses an int64_t variable to store the block size of that image. When writing the number of sectors (file_size/block_size) to xenstore, however, it passes these values as 32 bit signed integers. This will cause an overflow for any disk of 1 TiB or more. This patch changes the xen backend driver to use a 64 bit integer write xenstore function. Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 10bb3c623478117aee5117c312736f10833decc2 Author: Felipe Franciosi <felipe.franciosi@xxxxxxxxxx> Date: Fri Apr 5 15:37:32 2013 +0000 Introduce 64 bit integer write interface to xenstore The current implementation of xen_backend only provides 32 bit integer functions to write to xenstore. This patch adds two functions that allow writing 64 bit integers (one generic function and another for the backend only). This patch also fixes the size of the char arrays used to represent these integers as strings (originally 32 bytes, however no more than 12 bytes are needed for 32 bit integers and no more than 21 bytes are needed for 64 bit integers). Signed-off-by: Felipe Franciosi <felipe@xxxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit c1a88ad1f4ac994cd70695bf08141d161e21533e Author: Alex Bligh <alex@xxxxxxxxxxx> Date: Fri Apr 5 15:45:15 2013 +0000 Xen PV backend: Disable use of O_DIRECT by default as it results in crashes. Due to what is almost certainly a kernel bug, writes with O_DIRECT may continue to reference the page after the write has been marked as completed, particularly in the case of TCP retransmit. In other scenarios, this "merely" risks data corruption on the write, but with Xen pages from domU are only transiently mapped into dom0's memory, resulting in kernel panics when they are subsequently accessed. This brings PV devices in line with emulated devices. Removing O_DIRECT is safe as barrier operations are now correctly passed through. See: http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html for more details. Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 86f425db3b1c4b6c4a2927eaec35627f9ab2e703 Author: Alex Bligh <alex@xxxxxxxxxxx> Date: Fri Apr 5 15:45:10 2013 +0000 Xen PV backend: Move call to bdrv_new from blk_init to blk_connect This commit delays the point at which bdrv_new (and hence blk_open on the underlying device) is called from blk_init to blk_connect. This ensures that in an inbound live migrate, the block device is not opened until it has been closed at the other end. This is in preparation for supporting devices with open/close consistency without using O_DIRECT. This commit does NOT itself change O_DIRECT semantics. Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit d8d24fb78cf21205bf672d85231712dc1f0bbb39 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:18:00 2013 +0100 pflash_cfi01: Implement migration support Add a vmstate to pflash_cfi01, so that it can be live migrated. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363717469-30980-3-git-send-email-peter.maydell@xxxxxxxxxx commit 5d79b80b335c5f65f148d1bb1672d9d534ace73b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:18:00 2013 +0100 pflash_cfi01: Drop unused 'bypass' field For pflash_cfi01 the 'bypass' field is set to zero and never changes, so remove it (it is a leftover from pflash_cfi02, where bypass is implemented). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363717469-30980-2-git-send-email-peter.maydell@xxxxxxxxxx commit 2e19a7035a8e721f32610c8d22223ab748c4232f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:18:00 2013 +0100 hw/arm_gic_common: Use vmstate struct rather than save/load functions Update the GIC save/restore to use vmstate rather than hand-rolled save/load functions. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 1363975375-3166-4-git-send-email-peter.maydell@xxxxxxxxxx commit c3037774be5329e584d4d709b9df7e1799bba215 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 arm_gic: Fix sizes of state fields in preparation for vmstate support In preparation for switching to vmstate for migration support, fix the sizes of various GIC state fields. In particular, we replace all the bitfields (which VMState can't deal with) with straightforward uint8_t values which we do bit operations on. (The bitfields made more sense when NCPU was set differently in different situations, but we now always model at the architectural limit of 8.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363975375-3166-3-git-send-email-peter.maydell@xxxxxxxxxx commit bd7f92e59e7f40ddaeda40e55f7818c8121ecf1a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 vmstate: Add support for two dimensional arrays Add support for migrating two dimensional arrays, by defining a set of new macros VMSTATE_*_2DARRAY paralleling the existing VMSTATE_*_ARRAY macros. 2D arrays are handled the same for actual state serialization; the only difference is that the type check has to change for a 2D array. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 1363975375-3166-2-git-send-email-peter.maydell@xxxxxxxxxx commit b79269b78d0182fa7f4e23b779010145d0b4eaea Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 hw/onenand.c: fix migration of dynamically allocated buffer "otp" VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state, not for buffers allocated dynamically. Change to VMSTATE_BUFFER_POINTER_UNSAFE macro, which will do migration right. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1362923278-4080-4-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5f00679ee98b1643ff652bbf982dffe1b432596e Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri Apr 5 16:17:59 2013 +0100 hw/sd.c: fix migration of dynamically allocated buffer "buf" VMSTATE_BUFFER_UNSAFE should be used for buffers inlined in device state, not for buffers allocated dynamically. Change to VMSTATE_BUFFER_POINTER_UNSAFE macro, which will do migration right. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Michael Walle <michael@xxxxxxxx> Message-id: 1362923278-4080-3-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8070568b9aa8d93b3729ab7e9ca0ef8a6351d2bd Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro Macro could be used to migrate a dynamically allocated buffer of known size. Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1362923278-4080-2-git-send-email-i.mitsyanko@xxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 28092a23e6e2cb8298c1381f4f046842ffd376eb Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 hw/arm_mptimer: Save the timer state Add a missing VMSTATE_TIMER() entry to the arm_mptimer vmstate description; this omission meant that we would probably hang on reload when the timer failed to fire. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1363967348-3044-1-git-send-email-peter.maydell@xxxxxxxxxx commit e8945b4f2a65fc2872cc31a5141e136fd27d0af8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 pl050: Don't send always-constant is_mouse field The is_mouse field of the pl050 state structure is constant (it tracks whether this is a 'pl050_keyboard' or 'pl050_mouse'), so there's no need to include it in the VMState structure. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363628480-29306-1-git-send-email-peter.maydell@xxxxxxxxxx commit 591f73f642a5f3c822c3efaae8d83a174371a4f5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Apr 5 16:17:58 2013 +0100 hw/arm/nseries: don't print to stdout or stderr Remove various bits of printing to stdout or stderr from the nseries code, replacing it with a qemu log message where there's an appropriate log category, and just dropping the output for some of the more debug-like printing. In particular, this will get rid of the 'mipid_reset' message you currently get from 'make check'. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363368565-24546-1-git-send-email-peter.maydell@xxxxxxxxxx commit 150a470b64c548b7539ea47526f345f15ebac355 Merge: d05ef16... 4bf0bb8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Apr 5 08:55:14 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Luiz Capitulino # Via Luiz Capitulino * luiz/queue/qmp: chardev: drop the Memory chardev driver hmp: human-monitor-command: stop using the Memory chardev driver Monitor: Make output buffer dynamic qstring: add qstring_get_length() commit f1922e36e267eae0c9d70e8660830e081878bdfc Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 4 11:04:12 2013 +1000 xilinx_zynq: Cleanup ssi_create_slave With the recent m25p80 cleanup there is no need to use ssi_create_slave_no_init() anymore. Just use ssi_create_slave(). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e641080fdc1e81290564e1e9ec4fe7637011fa82 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Apr 4 11:04:11 2013 +1000 petalogix_ml605_mmu: Cleanup ssi_create_slave() With the recent m25p80 cleanup there is no need to use ssi_create_slave_no_init() anymore. Just use ssi_create_slave(). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5b90a86629dcc075be294524696e6199266f72ad Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Mar 30 10:03:25 2013 -0700 target-s390: Fix SRNMT Fallthough into abort = oops. Cc: qemu-trivial@xxxxxxxxxx Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4bf0bb8014ac2ac61b1004f5d92b2a4594d48017 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Apr 2 15:29:29 2013 -0400 chardev: drop the Memory chardev driver It's not used anymore since the last commit. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 48c043d0d1835c64b571c484a9f229fe6d220287 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Apr 2 15:07:33 2013 -0400 hmp: human-monitor-command: stop using the Memory chardev driver The Memory chardev driver was added because, as the Monitor's output buffer was static, we needed a way to accumulate the output of an HMP commmand when ran by human-monitor-command. However, the Monitor's output buffer is now dynamic, so it's possible for the human-monitor-command to use it instead of the Memory chardev driver. This commit does that change, but there are two important observations about it: 1. We need a way to signal to the Monitor that it shouldn't call chardev functions when flushing its output. This is done by adding a new flag to the Monitor object called skip_flush (which is set to true by qmp_human_monitor_command()) 2. The current code has buffered semantics: QMP clients will only see a command's output if it flushes its output with a new-line character. This commit changes this to unbuffered, which means that QMP clients will see a command's output whenever the command prints anything. I don't think this will matter in practice though, as I believe all HMP commands print the new-line character anyway. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e1f2641b5926d20f63d36f0de45206be774da8da Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Mar 25 13:52:26 2013 -0400 Monitor: Make output buffer dynamic Commit f628926bb423fa8a7e0b114511400ea9df38b76a changed monitor_flush() to retry on qemu_chr_fe_write() errors. However, the Monitor's output buffer can keep growing while the retry is not issued and this can cause the buffer to overflow. To reproduce this issue, just start qemu and type on the Monitor: (qemu) ? This will cause an assertion to trig. To fix this problem this commit makes the Monitor buffer dynamic, which means that it can grow as much as needed. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 54d49ac99227aff646ac940abfab3417f5cb1693 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Mar 25 13:46:37 2013 -0400 qstring: add qstring_get_length() Long overdue. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit abe20840166e6f04d3ab60f8d53a2ff5907bd942 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Mar 28 14:33:24 2013 +0000 linux-user: Don't omit comma for strace of rt_sigaction() Pass the 'last' parameter of print_signal() through to print_raw_param(); this fixes a problem where we weren't printing the comma separator for strace of rt_sigaction() when the signal was an unnamed (ie realtime) one: 6856 rt_sigaction(230xf6fff870,0xf6fff8fc) = 0 Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2bd01ac1e238c76e201ba21f314cec46437d2c5a Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 28 11:18:40 2013 -0400 test-visitor-serialization: Fix some memory leaks This patch fixes some of the memory leaks in test-visitor-serialization but not all of them. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d05ef160453e98546a4197496dc8a3cb2defac53 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Thu Apr 4 20:37:53 2013 -0400 Allow clock_gettime() monotonic clock to be utilized on more OS's Allow the clock_gettime() code using monotonic clock to be utilized on more POSIX compliannt OS's. This started as a fix for OpenBSD which was listed in one function as part of the previous hard coded list of OS's for the functions to support but not in the other. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 20130405003748.GH884@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c5a98cf333997616147a161ef4e4cf71bb9bd00a Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:22 2013 +0100 pc_acpi_init(): don't bail as soon as failing to find default DSDT Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-11-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3a4a4697aacdd58b77f8bca6f2c0ce307b213506 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:21 2013 +0100 Introduce IO_APIC_DEFAULT_ADDRESS for 0xfec00000 Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-10-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dab8623430926a8c55a149c22b2b8e2edb786ae3 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:20 2013 +0100 extract/unify the constant 0xfee00000 as APIC_DEFAULT_ADDRESS A common dependency of the constant's current users: - hw/apic_common.c - hw/i386/kvmvapic.c - target-i386/cpu.c is "target-i386/cpu.h". Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-9-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 23084327dc5c2f42e8a1c3e39ec565e344c7f52e Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:19 2013 +0100 like acpi_table_install(), acpi_table_add() should propagate Errors Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-8-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e980f2bf0a39cb524259bb70084e0f75b92c8f39 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:18 2013 +0100 acpi_table_add(): extract and reimplement internals The new function acpi_table_install() installs any blob the caller passes in. In the next patches this function will be promoted from helper role to extern. Reimplementing the logic should make it easier to understand. It also removes a buffer overflow when has_header && cumulative_file_size < ACPI_TABLE_HDR_SIZE - ACPI_TABLE_PFX_SIZE (In that case the g_realloc() call in the read() loop used to shrink the "acpi_tables" array, causing an out-of-bounds read access when copying the header out of "acpi_tables".) The new code isn't more daring alignment-wise than its predecessor: "acpi_table_header" is packed, and the uint32_t fields are at offsets 6, 26, and 34. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-7-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0c764a9dfc0d480c21f325480aa2e69581841858 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:17 2013 +0100 acpi_table_add(): accept QemuOpts and parse it with OptsVisitor As one consequence, strtok() -- which modifies its argument -- is replaced with g_strsplit(). Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-6-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8ccbad5c7b61c46c1b69b8089b8965cd69c0a8de Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:16 2013 +0100 qapi schema: add AcpiTableOptions Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-5-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 445d9cae371960671c1d762330d0d498c352dd3c Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:15 2013 +0100 acpi_table_add(): report fatal errors through an internal Error object The upcoming changes will need a cleanup section at the end of the function, plus OptsVisitor reports errors via Error. For now keep channeling any Errors to stderr. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-4-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cb88a4ea79193cdbfb9b27bf9deb36c88ec9b6dc Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:14 2013 +0100 change element type from "char" to "unsigned char" in ACPI table data The data is binary, not textual. Also, acpi_table_add() abuses the "char *f" pointer -- which normally points to file names to load -- to poke into the table. Introduce "char unsigned *table_start" for that purpose. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-3-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4d8b3c6302fe50e9192854d8affda883e078fd4d Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Mar 21 00:23:13 2013 +0100 strip some whitespace Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1363821803-3380-2-git-send-email-lersek@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9936159ff601562a7bb16b5b9c7713e6cec9559 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 27 20:29:41 2013 +0100 ipoctal232: Convert to use chardev properties directly Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx> Message-id: 1364412581-3672-4-git-send-email-hdegoede@xxxxxxxxxx Cc: Alberto Garcia <agarcia@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 456d60692310e7ac25cf822cc1e98192ad636ece Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 27 20:29:40 2013 +0100 qemu-char: Call fe_claim / fe_release when not using qdev chr properties chardev-frontends need to explictly check, increase and decrement the avail_connections "property" of the chardev when they are not using a qdev-chardev-property for the chardev. This fixes things like: qemu-kvm -chardev stdio,id=foo -device isa-serial,chardev=foo \ -mon chardev=foo Working, where they should fail. Most of the changes here are due to old hardware emulation code which is using serial_hds directly rather then a qdev-chardev-property. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364412581-3672-3-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44c473decd4de5559487430f876de53c607b1e9d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 27 20:29:39 2013 +0100 qemu-char: Add qemu_chr_fe_claim / _release helper functions Add qemu_chr_fe_claim / _release helper functions for properly dealing with avail_connections. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364412581-3672-2-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4dbb9ed3263e0f48282a2fc3d05099ba63e5b0e2 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Apr 3 14:04:09 2013 +1000 xilinx_axienet: pump events as appropriate When the conditions blocking receiving are cleared, check for buffered rx packets. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit bd4a47330ed5b9661205dd4ac2023e452b856bf9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 2 11:28:25 2013 +0200 po: Update German translation Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a23da65924fffc6390f74e75afd33f5300091b4e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Apr 2 11:28:24 2013 +0200 po/Makefile: Fix dependency for %.mo Otherwise make will refuse to build updated .po files. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ec3960148f95dd90e94511a6a64838bc3f474bcc Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Feb 22 22:57:52 2013 +0800 help: add docs for missing 'queues' option of tap Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1361545072-30426-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 560e63965232e37d1916a447125cf91c18a96930 Author: Bruce Rogers <brogers@xxxxxxxx> Date: Tue Apr 2 12:41:40 2013 -0600 acpi: initialize s4_val used in s4 shutdown While investigating why a 32 bit Windows 2003 guest wasn't able to successfully perform a shutdown /h, it was discovered that commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 inadvertently dropped the initialization of the s4_val used to handle s4 shutdown. Initialize the value as before. Signed-off-by: Bruce Rogers <brogers@xxxxxxxx> Message-id: 1364928100-487-1-git-send-email-brogers@xxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a509d632c877f7b5fa07368879b8ae5919a6d345 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Apr 2 17:48:12 2013 -0300 target-i386: Check for host features before filter_features_for_kvm() commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f broke "-cpu ..,enforce", as it has moved kvm_check_features_against_host() after the filter_features_for_kvm() call. filter_features_for_kvm() removes all features not supported by the host, so this effectively made kvm_check_features_against_host() impossible to fail. This patch changes the call so we check for host feature support before filtering the feature bits. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Message-id: 1364935692-24004-1-git-send-email-ehabkost@xxxxxxxxxx Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8243b0464b247ff460178a15f1fe306ef9c70b49 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Apr 2 22:14:51 2013 +0200 tpm: Fix several compiler warnings (redefined data types) Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1364933691-21197-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eabb21aac9665097676b97fa3e053ae2982eba1e Merge: 162cbbd... 044d4e1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Apr 3 15:05:52 2013 -0500 Merge remote-tracking branch 'sstabellini/xen-2013-04-03' into staging # By Hanweidong (1) and Stefano Stabellini (1) # Via Stefano Stabellini * sstabellini/xen-2013-04-03: xen-mapcache: pass the right size argument to test_bits xen-mapcache: replace last_address_index with a last_entry pointer commit 044d4e1aae539bd4214175bd9591b3de7986cf18 Author: Hanweidong <hanweidong@xxxxxxxxxx> Date: Tue Apr 2 13:22:41 2013 +0000 xen-mapcache: pass the right size argument to test_bits Compute the correct size for test_bits(). qemu_get_ram_ptr() and qemu_safe_ram_ptr() will call xen_map_cache() with size is 0 if the requested address is in the RAM. Then xen_map_cache() will pass the size 0 to test_bits() for checking if the corresponding pfn was mapped in cache. But test_bits() will always return 1 when size is 0 without any bit testing. Actually, for this case, test_bits should check one bit. So this patch introduced a __test_bit_size which is greater than 0 and a multiple of XC_PAGE_SIZE, then test_bits can work correctly with __test_bit_size >> XC_PAGE_SHIFT as its size. Signed-off-by: Zhenguo Wang <wangzhenguo@xxxxxxxxxx> Signed-off-by: Weidong Han <hanweidong@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit e2deee3ea6136b6189e8cfd26379420b9a398d96 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Apr 2 13:23:40 2013 +0000 xen-mapcache: replace last_address_index with a last_entry pointer Replace last_address_index and last_address_vaddr with a single pointer to the last MapCacheEntry used. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit aa1c9e971e80d25b92908dce3dec7c38b49480ea Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Apr 2 19:15:05 2013 +0200 usb-tablet: Don't claim wakeup capability for USB-2 version Our ehci code does not implement wakeup support, so claiming support for it with usb-tablet in USB-2 mode causes all tablet events to get lost. http://bugzilla.redhat.com/show_bug.cgi?id=929068 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f9618633a86cc74b33f178f05154d4edbc08c0fc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Apr 2 12:15:24 2013 +0200 usb: update docs for bus name change At some point the default usb bus name changed from 'usb.0' to 'usb-bus.0' (probably as part of the qom conversion). Update the usb documentation accordingly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a309ee6e0a256f690760abfba44fceaa52a7c2f3 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 12:40:11 2013 +0100 usb-hub: report status changes only once Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c24e4aac3bd7dd6591e26b77985e5d3915ecbe4b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 11:40:02 2013 +0100 usb-hub: limit chain length USB supports up to 5 hubs chained. Catch attempts to chain more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4b7b2afae773f00c785724261079ef211fd6021b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Mar 21 10:55:53 2013 +0100 xhci: zap unused name field Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0ab966cfcc7000baa2e7ef6df7771e73a2eb8a88 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 12:49:42 2013 +0100 xhci: remove unimplemented printfs Replace them with a tracepoint, so they don't spam stderr by default. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 61803996def82a05d8634dd9087f1712d04863fc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 20 11:42:51 2013 +0100 xhci: remove leftover debug printf Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c94a7c6979cafa7a71f32b35e0ff71ed00c61a89 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 09:18:20 2013 +0100 xhci: fix numintrs sanity checks Make sure numintrs is a power of two, msi requires this. https://bugzilla.redhat.com/show_bug.cgi?id=918035 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c874ea97b9d0d079e9d65ef033b95afef0ed6532 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 19 14:54:38 2013 +0100 usb-redir: Add flow control support Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3713e1485e6eace7d48b9c790602cfd92c616e5f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Mar 15 11:52:37 2013 +0100 usb-redir: Fix crash on migration with no client connected If no client is connected on the src side, then we won't receive a parser during migrate, in this case usbredir_post_load() should be a nop, rather then to try to derefefence the NULL dev->parser pointer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 162cbbd1736de2bca43fdefa7e98c54a361ee60d Merge: 9d4563c... 9b938c7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 2 14:07:35 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Stefan Hajnoczi # Via Luiz Capitulino * luiz/queue/qmp: chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors qemu-socket: set passed fd non-blocking in socket_connect() net: ensure "socket" backend uses non-blocking fds oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() commit 9d4563c415683e4d06c84a46e8d178a680fdcb7b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Apr 2 17:57:56 2013 +0200 configure: remove unset variables These variables have not been set for a long time. Do not include them in config-host.mak. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364918276-11866-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9b938c7262e403f5467110609cb20ef1ae6e9df2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:46 2013 +0100 chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors When we receive a file descriptor over a UNIX domain socket the O_NONBLOCK flag is preserved. Clear the O_NONBLOCK flag and rely on QEMU file descriptor users like migration, SPICE, VNC, block layer, and others to set non-blocking only when necessary. This change ensures we don't accidentally expose O_NONBLOCK in the QMP API. QMP clients should not need to get the non-blocking state "correct". A recent real-world example was when libvirt passed a non-blocking TCP socket for migration where we expected a blocking socket. The source QEMU produced a corrupted migration stream since its code did not cope with non-blocking sockets. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 1a751ebfbb2d7a696b889d8208cb5ffc83c090b1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:45 2013 +0100 qemu-socket: set passed fd non-blocking in socket_connect() socket_connect() sets non-blocking on TCP or UNIX domain sockets if a callback function is passed. Do the same for file descriptor passing, otherwise we could unexpectedly be using a blocking file descriptor. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit fc13fa00eaff6797c67abc9b0f748b346f238986 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:44 2013 +0100 net: ensure "socket" backend uses non-blocking fds There are several code paths in net_init_socket() depending on how the socket is created: file descriptor passing, UDP multicast, TCP, or UDP. Some of these support both listen and connect. Not all code paths set the socket to non-blocking. This patch addresses the file descriptor passing and UDP cases which were missing socket_set_nonblock(fd) calls. I considered moving socket_set_nonblock(fd) to a central location but it turns out the code paths are different enough to require non-blocking at different places. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit f9e8cacc5557e4372401da74141f833fcacda038 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Mar 27 10:10:43 2013 +0100 oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets. Rename to qemu_set_nonblock() just like qemu_set_cloexec(). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit ce7f7cc2715145eadf1ac45a5dae63f535fc8bbf Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Mar 22 16:31:07 2013 -0400 qemu-ga: ga_get_fd_handle(): abort if fd_counter overflows Today we reset fd_counter if it wraps, but it's better to abort() instead, as fd_counter should never reach INT64_MAX. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> *fixed typo: s/resonable/reasonable/ Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9481ecd737b91d507baf347287c62efe6760784f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Fri Mar 15 19:07:51 2013 +0100 qga schema: document generic QERR_UNSUPPORTED Part of the wording was shamelessly stolen from Michael Roth's email. Suggested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c964c9e0985e71527bac47c8351008c3dc18c1b8 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Fri Mar 15 19:07:50 2013 +0100 qga schema: mark optional GuestLogicalProcessor.can-offline with #optional Suggested-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b8f954fea019801370954fe85c32df49edf6397d Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 15 17:29:05 2013 +0800 qga: add windows implementation for guest-set-time Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 3f2a6087de291dc96a2c4975139da27649cf32ff Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 15 17:29:04 2013 +0800 qga: add windows implementation for guest-get-time Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit c707582b78d01d81fe4e470fd812334be145882d Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 26 10:24:06 2013 +0800 VMXNET3: initialize rx_ridx to eliminate compile warning Gcc report "hw/vmxnet3.c:972: error: â??rx_ridxâ?? may be used uninitialized in this function", so fix it. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Message-id: 1364264646-27542-1-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1ee58290d7cc2c6b1231fd701987c1753ad9ae3 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Mar 27 11:36:14 2013 -0500 qdev: only send deleted event if device was realized Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364402174-16580-1-git-send-email-aliguori@xxxxxxxxxx commit 8f0605cc9caacbcc647a6df9ae541ed2da4b9bb0 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 28 07:26:21 2013 -0400 QOM-ify the TPM support QOM-ified the TPM support with much code borrowed from the rng implementation. All other TPM related code moves will be provided in a subsequent patch. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Message-id: 1364469981.24703.1.camel@d941e-10 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 684a096eafbe37ab6c9a1fdb5e0185f04098b166 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 29 11:39:50 2013 -0500 qemu-char: rewrite io_channel_send_all and drop the '_all' suffix The current code is oddly written and have equally odd semantics. Despite the '_all' suffix, upon EAGAIN the result will be a partial write but instead of returning the partial write, we return EAGAIN. Change the behavior to write as much as we can until we get an EAGAIN returning a partial write if we do. Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364575190-731-1-git-send-email-aliguori@xxxxxxxxxx commit d819cdccffe08f6e12b4c2dec8f4aa381f0cd687 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Mar 30 15:21:40 2013 +0100 ui/gtk: Set QEMU window icon The QEMU icon which is already used for SDL is now also loaded by GTK. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1364653300-26813-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 77cfd14c9f5742136e7968aee5c305e50b8891ac Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:06 2013 +0200 po: add French translation Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-6-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9b6926e4e3cc102fb434fd16917a1044119eadd3 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:05 2013 +0200 po: update existing translation files Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-5-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1b33b354b43c8a3cc176bd4d7a021a1eac423ebc Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:04 2013 +0200 po/Makefile: correctly pass QEMU version Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-4-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f84756554e32d97db3aa949db1dd58c7eea62375 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:03 2013 +0200 po/Makefile: simplify In the hope we get more translations, we should not have to modify po/Makefile for each of them. Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-3-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d8da9ee847799b8d7de4679d4de17d66d4dedb56 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Mon Apr 1 19:12:02 2013 +0200 gtk: make more messages translatable Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1364836326-8707-2-git-send-email-aurelien@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4690579e9bafa0a2a49d7b12dae905279a552cd6 Author: Amos Kong <akong@xxxxxxxxxx> Date: Wed Mar 20 18:16:34 2013 +0800 append the terminating '\0' to bootorder string Problem was introduced in commit c8a6ae8b. The last terminating '\0' was lost, use the right length 5 ("HALT\0"). Reported-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1363774594-21001-1-git-send-email-akong@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a130c6b2b1b9c45836a51e90c847baedcb3125d3 Merge: 5d45de9... 6dcfdba... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Apr 2 08:12:16 2013 -0500 Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20130401.0' into staging vfio-pci pull request 20130401 # gpg: Signature made Mon 01 Apr 2013 02:40:45 PM CDT using RSA key ID 3BB08B22 # gpg: Can't check signature: public key not found # By Alex Williamson # Via Alex Williamson * awilliam/tags/vfio-pci-for-qemu-20130401.0: vfio: cleanup includes vfio: Add bootindex support vfio-pci: Move devices to D0 on reset vfio-pci: Add extra debugging qemu vfio-pci: Graphics device quirks qemu vfio-pci: Add support for VGA MMIO and I/O port access vfio-pci: Add PCIe capability mangling based on bus type vfio-pci: Generalize PCI config mangling linux-headers: Update to v3.9-rc2 commit 5d45de9796539f95eb6b1201588362981f8cb2d4 Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> Date: Thu Mar 28 22:59:03 2013 +0100 microblaze: Add support for the sleep insn Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> commit 6dcfdbad69aa510bc87b4a2585a597e028ca4eaa Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:35:40 2013 -0600 vfio: cleanup includes Starting to get messy, put the back in alphabetical order. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit c29029dd8829827ef8af3a6fb18f9df929ffc6b7 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:35:24 2013 -0600 vfio: Add bootindex support Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit ba66181828a5e5b0bbc117c4e999ca559a87456e Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:35:08 2013 -0600 vfio-pci: Move devices to D0 on reset Guests may leave devices in a low power state at reboot, but we expect devices to be woken up for the next boot. Make this happen. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 82ca891283a08cddd659b534592fe00f2159bc74 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:34:56 2013 -0600 vfio-pci: Add extra debugging Often when debugging it's useful to be able to disable bypass paths so no interactions with the device are missed. Add some extra debug options to do this. Also add device info on read/write BAR accesses, which is useful when debugging more than one assigned device. A couple DPRINTFs also had redundant "vfio:" prefixes. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 7076eabcbf38d514ecd47c8190d3d162573ceacc Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:34:40 2013 -0600 qemu vfio-pci: Graphics device quirks Graphics cards have a number of different backdoors. Some of these are alternative ways to get PCI BAR addresses, some of them are complete mirrors of PCI config space available through MMIO and I/O port access. These quirks cover a number of ATI Radeon and Nvidia devices. On the ATI/AMD side, this should enable HD5450 and HD7850 and hopefully a host of devices around those generations. For Nvidia, my card selection is much more dated. A 8400gs works well with both the Window shipped driver and the Nvidia downloaded driver. A 7300le works as well, with the caveat that generating the Window experience index with the Nvidia driver causes the card to reset several times before generating a BSOD. An NVS 290 card seems to run well with the shipped Windows driver, but generates a BSOD with the Nvidia driver. All of the Nvidia devices work with the Linux Nvidia proprietary driver and nouveau, the HD5450 works with either radeon or fglrx, HD7850 works with vesa and fglrx (not supported by radeon). Extremely limited 3D testing. Device reset is also an issue with graphics. It's unfortunately very common that the devices offer no means to reset the card or doesn't seem effective. Nvidia devices are pretty good about being able to get the device to a working state through the VGA BIOS init, Radeon devices less so, and often require a host reboot. Work remains to be done here. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit f15689c7e4422d5453ae45628df5b83a53e518ed Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 13:33:44 2013 -0600 qemu vfio-pci: Add support for VGA MMIO and I/O port access Most VGA cards need some kind of quirk to fully operate since they hide backdoors to get to other registers outside of PCI config space within the registers, but this provides the base infrastructure. If we could identity map PCI resources for assigned devices we would need a lot fewer quirks. To enable this, use a kernel side vfio-pci driver that incorporates VGA support (v3.9), and use the -vga none option and add the x-vga=on option for the vfio-pci device. The "x-" denotes this as an experimental feature. You may also need to use a cached copy of the VGA BIOS for your device, passing it to vfio-pci using the romfile= option. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 96adc5c7c2178d02f0db2db368ba3e4aacef931a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 11:50:04 2013 -0600 vfio-pci: Add PCIe capability mangling based on bus type Windows seems to pay particular interest to the PCIe header type of devices and will fail to load drivers if we attach Endpoint devices or Legacy Endpoint devices to the Root Complex. We can use pci_bus_is_express and pci_bus_is_root to determine the bus type and mangle the type appropriately: * Legacy PCI * No change, capability is unmodified for compatibility. * PCI Express * Integrated Root Complex Endpoint -> Endpoint * PCI Express Root Complex * Endpoint -> Integrated Root Complex Endpoint * Legacy Endpoint -> none, capability hidden We also take this opportunity to explicitly limit supported devices to Endpoints, Legacy Endpoints, and Root Complex Integrated Endpoints. We don't currently have support for other types and users often cause themselves problems by assigning them. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 4b5d5e87c7ab2e979a2cad6c8e01bcae55b85f1c Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 11:50:04 2013 -0600 vfio-pci: Generalize PCI config mangling Kernel-side vfio virtualizes all of config space, but some parts are unique to Qemu. For instance we may or may not expose the ROM BAR, Qemu manages MSI/MSIX, and Qemu manages the multi-function bit so that single function devices can appear as multi-function and vica versa. Generalize this into a bitmap of Qemu emulated bits. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 010ca0b3fb9bebd6ad53c1db0266dd7b39f700c7 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Apr 1 11:50:04 2013 -0600 linux-headers: Update to v3.9-rc2 Unedited scripts/update-linux-headers.sh run against v3.9-rc2 tag Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 174d4d215fb49b4d43196e62f22c2533431b260e Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sun Mar 24 01:52:07 2013 +0100 tcg/mips: Implement muls2_i32 Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c334a3880c02d1d8299ed54057e3fffd99ad2048 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: SSE4.2: use clz32/ctz32 instead of reinventing the wheel Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 83f7dc28ca7cb422f88caf3923bf078abb4e4dea Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: enable SSE4.1 and SSE4.2 in TCG mode Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e4eba27e29114842978234a44c92b2a945a6b46d Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions with "Masked(-)" polarity valids can equals to -1 if the reg/mem string is empty. Change the expression to have an empty xor mask in that case. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 75c9527e190231fbc2fd8470e132f360e70206be Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:02 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal ordered" mode The inner loop should only change the current bit of the result, instead of the whole result. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit b27a6cacb73ca006c6995ca5c3db7347333ba7f4 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions in "Equal each" mode pcmpXstrX instructions in "Equal each" mode force both invalid element pair to true. It means (upper - MAX(valids, validd)) bits should be set to 1, not (upper - MAX(valids, validd) + 1). Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 649ad05ed4133d3a48d43881aa9351c024d9cdc1 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstrX instructions in "Ranges" mode Fix the order of the of the comparisons to match the "Intel 64 and IA-32 Architectures Software Developer's Manual". Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2b8d7e9d728fe2b7c8ffb9859368fb2b5c0bf833 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstrm instructions pcmpXstrm instructions returns their result in the XMM0 register and not in the first operand. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 93e3c0ae69ae73d7f04ac378c5df6e98c7faa6dd Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpXstri instructions ffs1 returns the first bit set to one starting counting from the most significant bit. pcmpXstri returns the most significant bit set to one, starting counting from the least significant bit. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit da5156cd9a62274839d6fa685cc52614886cc722 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.2: fix pcmpgtq instruction The "Intel 64 and IA-32 Architectures Software Developer's Manual" (at least recent versions) clearly says that the comparison is signed. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 34c6addd4b22583e7b408c0d1452eab753cbfb62 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 26 19:56:01 2013 +0100 target-i386: SSE4.1: fix pinsrb instruction gen_op_mov_TN_reg() loads the value in cpu_T[0], so this temporary should be used instead of cpu_tmp0. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c7b4c36714a442ae5abd26de293cb5e967be6e12 Merge: e63d28d7... b0d62a3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Apr 1 10:36:09 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Dunrong Huang (1) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: hw/tcx: Remove unused 'addr' field and the property that sets it hw/i386/pc: format load_linux function configure: show debug-info option in --help output commit e63d28d7dbfcec81214aecc9ff0aaee46e87aa44 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:23 2013 +0000 sysbus: Remove sysbus_add_memory and sysbus_del_memory Remove the sysbus_add_memory and sysbus_del_memory functions. These are trivial wrappers for mapping a memory region into the system memory space, and have no users now. Sysbus devices should never map their own memory regions anyway; the correct API for mapping an mmio region is for the creator of the device to use sysbus_mmio_map. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363358063-23973-6-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c31bc98e3bcf52fe1cd4b9b7a70869330eae80ea Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Mar 28 18:43:04 2013 +0000 hw/milkymist-softusb: set buffer in softusb_read_{dmem, pmem} error path Make sure we set the buffer to something in the softusb_read_{dmem,pmem} error paths, since the caller will use the buffer unconditionally. (Newer gcc is smart enough to spot this and complain about 'may be used uninitialized'.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1364496184-11994-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c34e120554c31d45bdfbac08a5c1d9ef92a62020 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:22 2013 +0000 milkymist-softusb: Don't map RAM memory regions in the device itself Don't map the pmem and dmem RAM memory regions in the milkymist-softusb device itself. Instead just expose them as sysbus mmio regions which the device creator can map appropriately. This allows us to drop the pmem_base and dmem_base properties. Instead of going via cpu_physical_memory_read/_write when the device wants to access the RAMs, we just keep a host pointer to the memory and use that. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Message-id: 1363358063-23973-5-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 20cf850c6ac5bf1ef13de1da93a5c8b5ea28b304 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:21 2013 +0000 milkymist-minimac2: Just expose buffers as a sysbus mmio region Just expose the register buffers memory as a standard sysbus mmio region which the creator of the device can map, rather than providing a qdev property which the creator has to set to the base address and then doing the mapping in the device's own init function. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Message-id: 1363358063-23973-4-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a86f200aeb66a4f402b22241a5d8360f02bfc090 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:20 2013 +0000 musicpal: qdevify musicpal-misc Make musicpal-misc into its own (trivial) qdev device, so we can get rid of the abuse of sysbus_add_memory(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363358063-23973-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 14:34:19 2013 +0000 sysbus: make SysBusDeviceClass::init optional Make the SysBusDeviceClass::init optional, for devices which genuinely don't need to do anything here. In particular, simple devices which can do all their initialization in their instance_init method don't need either a DeviceClass::realize or SysBusDeviceClass::init method. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1363358063-23973-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5357406415571b3f03d05b60a143afdea2b9b1b9 Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Date: Sun Mar 31 09:35:53 2013 +0800 target-moxie: set do_interrupt to a target-specific helper function The value of "do_interrupt" member of CPUClass shoule be set to a target-specific function, or it will lead to a segfault like below: $ moxie-softmmu/qemu-system-moxie -M moxiesim Segmentation fault Cc: Anthony Green <green@xxxxxxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Cc: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Signed-of-by: Anthony Green <green@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5e3a0f418c4d57399778cee0b55aebfb663b6425 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Mar 29 18:20:20 2013 +0100 w32: Fix build with older gcc (unresolved symbol) The cross i586-mingw32msvc-gcc 4.4.4 from Debian Squeeze does not support __sync_val_compare_and_swap by default. Using -march=i686 fixes that and should also result in better code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e06335b9515f0508f33846e58b2028dfa4fc9983 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Mar 24 09:04:48 2013 +0100 target-moxie: Fix pointer-to-integer conversion (MinGW-w64) The type cast must use tcg_target_long instead of long. This makes a difference for hosts where sizeof(long) != sizeof(void *). Cc: Anthony Green <green@xxxxxxxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9721215126a8ef46abd2e762efd6aa5ff6b92b9 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Feb 23 00:40:39 2013 +0000 piix_pci: Fix C99 comments Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361580039-4459-4-git-send-email-dwmw2@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d93a8a435cbd7f874ef71d4da5677c5f88d8435a Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Feb 23 00:40:38 2013 +0000 piix_pci: Use DEVICE() and ISA_BUS() Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361580039-4459-3-git-send-email-dwmw2@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 57a0f0c651a63d3e1e02d74e5c59d2648037b087 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Feb 23 00:40:37 2013 +0000 piix_pci: Clean up i440FX object handling Define and use I440FX_PCI_DEVICE() instead of using DO_UPCAST(). Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361580039-4459-2-git-send-email-dwmw2@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 226ecabfbd410c7b2041385ea4b6f083a09ce8a2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Mar 22 17:57:48 2013 +0100 qemu-bridge-helper: force usage of a very high MAC address for the bridge Linux uses the lowest enslaved MAC address as the MAC address of the bridge. Set MAC address to a high value so that it does not affect the MAC address of the bridge. Changing the MAC address of the bridge could cause a few seconds of network downtime. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1363971468-21154-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2900af5969c8d54d48872cd707a4a0e71e6fa57e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:15 2013 +0100 virtio-balloon: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c96caced3ffd9e5a078f3f5b5d373a40faf7dc3a Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:14 2013 +0100 virtio-balloon: cleanup: QOM casts. As the virtio-balloon-pci is switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5c7d0962f60498c3f11d402e1c857cb9d5d8568d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:13 2013 +0100 virtio-balloon: cleanup: init and exit function. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 30bff6a0f1d12742475a980708cfa82be56a881f Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:12 2013 +0100 virtio-balloon-ccw: switch to the new API. Here the virtio-balloon-ccw is modified for the new API. The device virtio-balloon-ccw extends virtio-ccw-device as before. It creates and connects a virtio-balloon during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e378e88dfc2dec2a60a856dd478a4edfbc88efd0 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:11 2013 +0100 virtio-balloon-pci: switch to the new API. Here the virtio-balloon-pci is modified for the new API. The device virtio-balloon-pci extends virtio-pci. It creates and connects a virtio-balloon during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1ab461b534b34838d1b21c056ab37413f54fefa6 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Wed Mar 27 10:49:10 2013 +0100 virtio-balloon: add the virtio-balloon device. Create virtio-balloon which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1364377755-15508-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fde245ca7ea790495db370cd260259595dbdf874 Merge: 837df37... 5d186eb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 28 12:57:37 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (22) and Peter Lieven (1) # Via Stefan Hajnoczi * stefanha/block: (23 commits) block: Fix direct use of protocols as driver for bdrv_open() qcow2: Gather clusters in a looping loop qcow2: Move cluster gathering to a non-looping loop qcow2: Allow requests with multiple l2metas qcow2: Use byte granularity in qcow2_alloc_cluster_offset() qcow2: Prepare handle_alloc/copied() for byte granularity qcow2: handle_copied(): Implement non-zero host_offset qcow2: handle_copied(): Get rid of keep_clusters parameter qcow2: handle_copied(): Get rid of nb_clusters parameter qcow2: Factor out handle_copied() qcow2: Clean up handle_alloc() qcow2: Finalise interface of handle_alloc() qcow2: handle_alloc(): Get rid of keep_clusters parameter qcow2: handle_alloc(): Get rid of nb_clusters parameter qcow2: Factor out handle_alloc() qcow2: Decouple cluster allocation from cluster reuse code qcow2: Change handle_dependency to byte granularity qcow2: Improve check for overlapping allocations qcow2: Handle dependencies earlier qcow2: Remove bogus unlock of s->lock ... commit 837df37e881e14ffdb05c2b912b2ad30b851c9d3 Merge: e280ff5... 7e86600... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 28 12:57:32 2013 -0500 Merge remote-tracking branch 'stefanha/tracing' into staging # By LluÃs Vilanova (7) and others # Via Stefan Hajnoczi * stefanha/tracing: vl: add runstate_set tracepoint .gitignore: rename trace/generated-tracers.dtrace .gitignore: add trace/generated-events.[ch] trace: rebuild generated-events.o when configuration changes trace: [stderr] Port to generic event information and new control interface trace: [simple] Port to generic event information and new control interface trace: [default] Port to generic event information and new control interface trace: [monitor] Use new event control interface trace: Provide a detailed event control interface trace: Provide a generic tracing event descriptor trace: [tracetool] Explicitly identify public backends commit 7e8660032cd21c1bdc4160b8fab7deec62e1aa12 Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Mar 22 17:26:59 2013 +0900 vl: add runstate_set tracepoint This patch enables us to know RunState transition. It will be userful for investigation when the trouble occured in special event such like live migration, shutdown, suspend, and so on. Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a46b24fd5dfd6814bafa65e51d8da86ce8eef7f5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Mar 8 16:10:12 2013 +0100 .gitignore: rename trace/generated-tracers.dtrace For a while the file was called trace/generated-tracers-dtrace.dtrace but today it's called trace/generated-tracers.dtrace. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 878e63e6c568d4eb147d1adde297325f3aa28c51 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Mar 8 16:10:11 2013 +0100 .gitignore: add trace/generated-events.[ch] Don't display autogenerated files in git-status(1). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a7373b1f61d106ef5c9710eb56e942f513dc512d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Mar 8 15:52:15 2013 +0100 trace: rebuild generated-events.o when configuration changes Make sure to rebuild generated-events.o when ./configure options change. This prevents linker errors when a stale generated-events.o gets linked with code compiled against fresh headers. For example, try building with ./configure --enable-trace-backend=stderr followed by ./configure --enable-trace-backend=dtrace. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c6f18b9195b4251f32b6ac8e149b449354c1c93b Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:48:00 2013 +0100 trace: [stderr] Port to generic event information and new control interface Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 60481e210d1f5f9e97d4d5db82b9afb8d3df7acf Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:55 2013 +0100 trace: [simple] Port to generic event information and new control interface The backend is forced to dump event numbers using 64 bits, as TraceEventID is an enum. Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fd068a953ccb54a00e7b1cf2d8961498c7d74bd4 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:49 2013 +0100 trace: [default] Port to generic event information and new control interface Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ca285c3fca7c3d2b77b133e82f7a3592ccc7f5d3 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:43 2013 +0100 trace: [monitor] Use new event control interface Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b1bae816c4c0743e37ee9e797a503610c34e3073 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:38 2013 +0100 trace: Provide a detailed event control interface This interface decouples event obtaining from interaction. Events can be obtained through three different methods: * identifier * name * simple wildcard pattern Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 45be2f5d0dcdd314cd0c70a11220e5e09a44d654 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:32 2013 +0100 trace: Provide a generic tracing event descriptor Uses tracetool to generate a backend-independent tracing event description (struct TraceEvent). The values for such structure are generated with the non-public "events" backend ("events-c" frontend). The generation of the defines to check if an event is statically enabled is also moved to the "events" backend ("events-h" frontend). Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 93fba1618ddbbef8bedd8d684cf356586c94bbb1 Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Tue Mar 5 14:47:26 2013 +0100 trace: [tracetool] Explicitly identify public backends Public backends are those printed by "--list-backends" and thus considered valid by the configure script. Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5d186eb03eb37b257e29a4731ca484362d5fc4e4 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 27 17:28:18 2013 +0100 block: Fix direct use of protocols as driver for bdrv_open() bdrv_open_common() implements direct use of protocols by copying the pre-opened BlockDriverStates to bs using bdrv_swap(). It did however first set some fields in bs, which end up in file after the swap. When bdrv_open() destroys file, it appears to be open, and because it isn't, qemu could segfault while trying to close it. Reorder the operations to return immediately in such cases so that file is correctly detected as closed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ecdd5333ab9ed3f2b848066aaaef02c027b25e36 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 27 11:43:49 2013 +0100 qcow2: Gather clusters in a looping loop Instead of just checking once in exactly this order if there are dependendies, non-COW clusters and new allocation, this starts looping around these. This way we can, for example, gather non-COW clusters after new allocations as long as the host cluster offsets stay contiguous. Once handle_dependencies() is extended so that COW areas of in-flight allocations can be overwritten, this allows to continue with gathering other clusters (we wouldn't be able to do that without this change because we would have missed a possible second dependency in one of the next clusters). This means that in the typical sequential write case, we can combine the COW overwrite of one cluster with the allocation of the next cluster as soon as something like Delayed COW gets actually implemented. It is only by avoiding splitting requests this way that Delayed COW actually starts improving performance noticably. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c3b32d25620c26e26fd590c198ec6d9cf91da57 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:12 2013 +0100 qcow2: Move cluster gathering to a non-looping loop This patch is mainly to separate the indentation change from the semantic changes. All that really changes here is that everything moves into a while loop, all 'goto done' become 'break' and at the end of the loop a new 'break is inserted. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 88c6588c5165da1526f735ed850861c5b74670bd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:11 2013 +0100 qcow2: Allow requests with multiple l2metas Instead of expecting a single l2meta, have a list of them. This allows to still have a single I/O request for the guest data, even though multiple l2meta may be needed in order to describe both a COW overwrite and a new cluster allocation (typical sequential write case). Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 710c2496d8cecc92568d439a3cf9d5874b3a55e2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:10 2013 +0100 qcow2: Use byte granularity in qcow2_alloc_cluster_offset() This gets rid of the nb_clusters and keep_clusters and the associated complicated calculations. Just advance the number of bytes that have been processed and everything is fine. This patch advances the variables even after the last operation even though they aren't used any more afterwards to make things look more uniform. A later patch will turn the whole thing into a loop and then it actually starts making sense. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 411d62b04b4cd2d3a6cea310689dbafa2479bc28 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:09 2013 +0100 qcow2: Prepare handle_alloc/copied() for byte granularity This makes handle_alloc() and handle_copied() return byte-granularity host offsets instead of returning always the cluster start. This is required so that qcow2_alloc_cluster_offset() can stop aligning everything to cluster boundaries. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e62daaf67958e8274547ddac87cb0a177a869216 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:08 2013 +0100 qcow2: handle_copied(): Implement non-zero host_offset Look only for clusters that start at a given physical offset. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c53ede9f6d8f0de7939eea676c1398c4073ff35e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:07 2013 +0100 qcow2: handle_copied(): Get rid of keep_clusters parameter Now *bytes is used to return the length of the area that can be written to without performing an allocation or COW. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit acb0467f8df7e9dbc8bbcb9a2e1e8cfe17f79691 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:06 2013 +0100 qcow2: handle_copied(): Get rid of nb_clusters parameter handle_copied() uses its bytes parameter now to determine how many clusters it should try to find. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0af729ec007ea4d103a2e3f3fc5db522610a2290 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:05 2013 +0100 qcow2: Factor out handle_copied() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 83baa9a4719b42bc28d525fa28af643523cc2bf3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:04 2013 +0100 qcow2: Clean up handle_alloc() Things can be simplified a bit now. No semantic changes. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c37f4cd71d99b7658d238bd8399048fc6e506958 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:03 2013 +0100 qcow2: Finalise interface of handle_alloc() The interface works completely on a byte granularity now and duplicated parameters are removed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3b8e2e260c8cee63c9253718983a6682dc2771d7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:02 2013 +0100 qcow2: handle_alloc(): Get rid of keep_clusters parameter handle_alloc() is now called with the offset at which the actual new allocation starts instead of the offset at which the whole write request starts, part of which may already be processed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f5bc63509471299176066d5f63bb8ff2e15af279 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:01 2013 +0100 qcow2: handle_alloc(): Get rid of nb_clusters parameter We already communicate the same information in *bytes. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 10f0ed8b2f0d3e9f0476b6f00868dd13b524066a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:50:00 2013 +0100 qcow2: Factor out handle_alloc() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 037689d8969c493d39153fd920ad81e161b0d55c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:59 2013 +0100 qcow2: Decouple cluster allocation from cluster reuse code This moves some code that prepares the allocation of new clusters to where the actual allocation happens. This is the minimum required to be able to move it to a separate function in the next patch. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 65eb2e35c07632eb5d26f15a57461e321bacb883 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:58 2013 +0100 qcow2: Change handle_dependency to byte granularity This is a more precise description of what really constitutes a dependency. The behaviour doesn't change at this point because the COW area of the old request is still aligned to cluster boundaries and therefore an overlap is detected wheneven the requests touch any part of the same cluster. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d9d74f4177af59bec23baa480d640709f56df0aa Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:57 2013 +0100 qcow2: Improve check for overlapping allocations The old code detected an overlapping allocation even when the allocations didn't actually overlap, but were only adjacent. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 17a71e58238138c3f02be7e9f5dc8de5d72a9a9d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:56 2013 +0100 qcow2: Handle dependencies earlier Handling overlapping allocations isn't just a detail of cluster allocation. It is rather one of three ways to get the host cluster offset for a write request: 1. If a request overlaps an in-flight allocations, the cluster offset can be taken from there (this is what handle_dependencies will evolve into) or the request must just wait until the allocation has completed. Accessing the L2 is not valid in this case, it has outdated information. 2. Outside overlapping areas, check the clusters that can be written to as they are, with no COW involved. 3. If a COW is required, allocate new clusters Changing the code to reflect this doesn't change the behaviour because overlaps cannot exist for clusters that are kept in step 2. It does however make it easier for later patches to work on clusters that belong to an allocation that is still in flight. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ee6439e27d15c528fde6d9da1e4c238a23b6b7a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:55 2013 +0100 qcow2: Remove bogus unlock of s->lock The unlock wakes up the next coroutine, but the currently running coroutine will lock it again before it yields, so this doesn't make a lot of sense. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c349ca4bb2dbca53c15147d283ea9f6c94376c6c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:54 2013 +0100 qcow2: Fix "total clusters" number in bdrv_check This should be based on the virtual disk size, not on the size of the image. Interesting observation: With some VM state stored in the image file, percentages higher than 100% are possible, even though snapshots themselves are ignored. This is a qcow2 bug to be fixed another day: The VM state should be discarded in the active L2 tables after completing the snapshot creation. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6f74928192e8e8a16f64b6208171eb13af890bbc Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 26 17:49:53 2013 +0100 qemu-iotests: More concurrent allocation scenarios Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 142c6b1a89c3af769fbab6a22f51eefa7a3b0330 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Mar 21 13:07:10 2013 +0100 vl.c: call bdrv_init_with_whitelist() before cmdline parsing commit 4d454574 "qemu-option: move standard option definitions out of qemu-config.c" broke support for commandline option groups that where registered during bdrv_init(). In particular support for -iscsi options was broken since that commit. Fix by moving the bdrv_init_with_whitelist() before command line argument parsing. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b0d62a3d8e1ea9eccd246829a03e2d23f0982431 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 26 12:35:09 2013 +0000 hw/tcx: Remove unused 'addr' field and the property that sets it Remove the 'addr' field from TCXState (since it is completely unused), also the qdev property which sets it. This seems to be a relic from many years past; devices don't need to know where they are mapped. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0f9d76e5a9a396a2209761265ba6d98ce89b6a32 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Mar 26 16:43:19 2013 +0800 hw/i386/pc: format load_linux function Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9941afdef4fc898ed1588468095d1e36574427a1 Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Date: Sun Mar 24 15:05:27 2013 +0800 configure: show debug-info option in --help output "--enable-debug-info" and "--disable-debug-info" were not shown in --help output. Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e280ff5e9159ed227a117339c1157143627cab96 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:08:03 2013 +0100 spice-qemu-char: Drop hackish vmc_register on spice_chr_write Now that the core takes care of fe_open tracking we no longer need this hack. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-12-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc6b815d9e34778aa7fbe785ecfa0b216c96f576 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Tue Mar 26 11:08:02 2013 +0100 virtio-serial: propagate guest_connected to the port on post_load When migrating a host with with a spice agent running the mouse becomes non operational after the migration due to the agent state being inconsistent between the guest and the client. After migration the spicevmc backend on the destination has never been notified of the (non 0) guest_connected state. Virtio-serial holds this state information and migrates it, this patch properly propagates this information to virtio-console and through that to interested chardev backends. rhbz #725965 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-11-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b2c1394af13b46a72cd27ff580cdd1d9bb1e8934 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:08:01 2013 +0100 virtio-serial: Consolidate guest_open/guest_close into set_guest_connected Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-10-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a59bcd31c91397f8c67b6902e7716d626c5070e6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:08:00 2013 +0100 qemu-char: add_handlers: Don't re-send the be_open event on unregister Resending the be_open event only is useful when a frontend is registering, not when it is unregistering. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-9-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 85d91e3295f3af21e4d4a19f1f6691c0bf2ed10c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:59 2013 +0100 qemu-char: Move incrementing of avail_connections to qdev-properties-system The decrement of avail_connections is done in qdev-properties-system move the increment there too for proper balancing of the calls. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-8-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 574b711a92db094a2d4e7ca707f3b34437a64246 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:58 2013 +0100 qemu-char: Consolidate guest_close/guest_open into a set_fe_open callback Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-7-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e25daa87ac98c9070365b42dcfc070e47fca934 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:57 2013 +0100 qemu-char: Cleanup: consolidate fe_open/fe_close into fe_set_open Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-6-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 190832289fe670f764fb277e4dcaf00f94ca6553 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:56 2013 +0100 qemu-char: Automatically do fe_open / fe_close on qemu_chr_add_handlers Most frontends can't really determine if the guest actually has the frontend side open. So lets automatically generate fe_open / fe_close as soon as a frontend becomes ready (as signalled by calling qemu_chr_add_handlers) / becomes non ready (as signalled by setting all handlers to NULL). And allow frontends which can actually determine if the guest is listening to opt-out of this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-5-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c0c4bd2cfae0fb83696000f1bfc355f22e2b41cb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:55 2013 +0100 qemu-char: Add fe_open tracking Add tracking of the fe_open state to struct CharDriverState. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-4-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fee204fd46016c168ca4d404d04e2c06b8b34770 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:54 2013 +0100 qemu-char: Rename qemu_chr_generic_open to qemu_chr_be_generic_open To better reflect that it is for handling a backend being opened. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-3-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 16665b943b23e953220df257e7e04e669aa384d5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Mar 26 11:07:53 2013 +0100 qemu-char: Rename opened to be_open Rename the opened variable to be_open to reflect that it contains the opened state of the backend. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Message-id: 1364292483-16564-2-git-send-email-hdegoede@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 99835e00849369bab726a4dc4ceed1f6f9ed967c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 27 14:34:32 2013 +0100 compiler: fix warning with GCC 4.8.0 GCC 4.8.0 introduces a new warning: block/qcow2-snapshot.c: In function 'qcow2_write_snapshotsâ??: block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253' locally defined but not used [-Werror=unused-local-typedefs] QEMU_BUILD_BUG_ON(offsetof(QCowHeader, snapshots_offset) != ^ cc1: all warnings being treated as errors (Caret diagnostics aren't perfect yet with macros... :)) Work around it with __attribute__((unused)). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364391272-1128-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 404e7a4f4af753bd2aef649adf79e7434fb6dc31 Merge: 18501ae... 6214e73... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 16:16:43 2013 -0500 Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,pci,qom Work by Alex to support VGA assignment, pci and virtio fixes by Stefan, Jason and myself, and a new qmp event for hotplug support by myself. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Alex Williamson (13) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: (23 commits) pcie: Add endpoint capability initialization wrapper roms: switch oldnoconfig to olddefconfig pcie: Mangle types to match topology pci: Create and use API to determine root buses pci: Create pci_bus_is_express helper pci: Q35, Root Ports, and Switches create PCI Express buses pci: Allow PCI bus creation interfaces to specify the type of bus pci: Move PCI and PCIE type defines pci: Create and register a new PCI Express TypeInfo exec: assert that RAMBlock size is non-zero pci: refuse empty ROM files pci_bridge: Remove duplicate IRQ swizzle function pci_bridge: Use a default map_irq function pci: Fix INTx routing notifier recursion pci_bridge: drop formatting from source pci_bridge: factor out common code pci: Teach PCI Bridges about VGA routing pci: Add PCI VGA helpers virtio-pci: guest notifier mask without non-irqfd virtio-net: remove layout assumptions for mq ctrl ... commit 6214e73cc5b75a4f8d89a70d71727edfa47a81b3 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Mar 19 12:11:24 2013 -0600 pcie: Add endpoint capability initialization wrapper Fix the awkward API of mangling the caller specified PCIe type and just provide an interface to initialize an endpoint device. This will pick either a regular endpoint or integrated endpoint based on the bus and return pcie_cap_init to doing exactly what is asked. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Mar 21 14:04:21 2013 +0200 roms: switch oldnoconfig to olddefconfig When a new option is added that qemu does not know about, the prudent thing is to use the default not force it to "no". Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit eb28cb1bb0cb156aef7e613395af403bba0e7f30 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:35 2013 -0600 pcie: Mangle types to match topology Windows will fail to start drivers for devices with an Endpoint type PCIe capability attached to a Root Complex (code 10 - Device cannot start). The proper type for such a device is Root Complex Integrated Endpoint. Devices don't care which they are, so do this conversion automatically. This allows the Windows driver to load for nec-usb-xhci when attached to pcie.0 of a q35 machine. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0889464a5050c25611d08ca33d8447796c88c7f7 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:29 2013 -0600 pci: Create and use API to determine root buses Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 8c0bf9e24242c89c1abbd708c714dd2a89febbd2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:23 2013 -0600 pci: Create pci_bus_is_express helper For testing the bus type. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit afb661eb902f4ad1456d57b31cdd02f0b4aac33f Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:17 2013 -0600 pci: Q35, Root Ports, and Switches create PCI Express buses Convert q35, ioh3420, xio3130_upstream, and xio3130_downstream to use the new TYPE_PCIE_BUS. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 60a0e44320cc2601236450fbe95d952830192a1d Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:11 2013 -0600 pci: Allow PCI bus creation interfaces to specify the type of bus No change to any types. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit cf09458d644934976aa64e88bb41ef9a4cc2766a Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:01:05 2013 -0600 pci: Move PCI and PCIE type defines Move these so that we can reference them from a more common header instead of including pci_bus.h everywhere. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 3a861c466cee46fed042d76100fa0fd9644f3091 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 14 16:00:59 2013 -0600 pci: Create and register a new PCI Express TypeInfo This will allow us to differentiate Express and Legacy buses. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 49cd9ac6a1929467e2df5783a5183fc7708ec3ff Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 11 10:20:21 2013 +0100 exec: assert that RAMBlock size is non-zero find_ram_offset() does not handle size=0 gracefully. It hands out the same RAMBlock offset multiple times, leading to obscure failures later on. Add an assert to warn early if something is incorrectly allocating a zero size RAMBlock. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 8c7f3dd05e4f1ee90000c89e428e69ae2e6bd691 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 11 10:20:20 2013 +0100 pci: refuse empty ROM files A zero size ROM file is invalid and should produce a warning. Attempting to use a zero size file ends up hitting an assertion qemu_ram_set_idstr() because RAMBlocks with duplicate addresses are allocated - due to zero size the allocator doesn't increment the next available RAMBlock offset. Also convert __FUNCTION__ to __func__ while we're touching this code. There are no other __FUNCTION__ instances in pci.c anymore. Reported-by: Milos Ivanovic <milosivanovic@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ea7cfed68bb4f26fc65b078ab735a4097e9b4fe2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 7 16:17:00 2013 -0700 pci_bridge: Remove duplicate IRQ swizzle function pci_bridge_dev_map_irq_fn() is identical to pci_swizzle_map_irq_fn(), which is now the default for all PCI bridges. We can therefore remove this function and the pci_bridge_map_irq() call that used it. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 659fefeed36a4b58191595cebab2dbc003788d90 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 7 16:16:54 2013 -0700 pci_bridge: Use a default map_irq function The PCI bridge spec defines a default swizzle for translating INTx IRQs from secondary bus to primary. Use this by default for any bridge that doesn't set a function. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e5368f0da75c1c668e85398aa930be2f4273e684 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Mar 7 11:29:19 2013 -0700 pci: Fix INTx routing notifier recursion For some reason we recurse to fire the INTx routing notifier for each child of a bus, for each possible device of a bus. That means that if we add a root port, the notifier gets called for that bridge 256 times. If we add an upstream switch behind that root port, 256^2. But of course we need a downstream switch, 256^3. This starts to be noticeable. Stop the insanity. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 600d05b9aa4b4d23775fc17968dd6b581928001d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 4 11:31:21 2013 +0200 pci_bridge: drop formatting from source We use the same formatting for all files, it doesn't make sense to have formatting directives only in pci bridge header. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 45eb768c706d3a5fbe55224c589e8b4e252781d9 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 4 11:23:49 2013 +0200 pci_bridge: factor out common code Reuse common code in pcie_port, override the hardwired-to-0 bits per PCI Express spec. No functional change but makes the code easier to follow. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit ba7d8515c1e929baccea9f53d06d131fd2b007a1 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Sun Mar 3 10:21:32 2013 -0700 pci: Teach PCI Bridges about VGA routing Each PCI Bridge has a set of implied VGA regions that are enabled when the VGA bit is set in the bridge control register. This allows VGA devices behind bridges. Unfortunately with VGA Enable, which we formerly allowed but didn't back, comes along some required VGA baggage. VGA Palette Snooping is required, along with VGA 16-bit decoding. We don't yet have support for palette snooping. We also don't have support for 10-bit VGA aliases, the default mode, but we enable the register, even on root ports, to avoid confusing guests. Fortunately there's likely nothing from this century that requires these features, so the missing bits are noted with TODOs. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e01fd687185444944b0b5b0f8c739ae4b33eb029 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Sun Mar 3 10:21:26 2013 -0700 pci: Add PCI VGA helpers Allow devices to register VGA memory regions for handling PCI spec defined VGA I/O port and MMIO areas. PCI will attach these to the bus address spaces and enable them according to the device command register value. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a38b2c49bfd3f1cfc2aadd08cd049af16a342b1e Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Mar 13 21:37:08 2013 +0200 virtio-pci: guest notifier mask without non-irqfd non-irqfd setups are currently broken with vhost: we start up masked and nothing unmasks the interrupts. Fix by using mask notifiers, same as the irqfd path. Sharing irqchip/non irqchip code is always a good thing, in this case it will help non irqchip benefit from backend masking optimization. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit f8f7c533e20d1681feeb665109301151bdb739b4 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Mar 6 13:50:27 2013 +0800 virtio-net: remove layout assumptions for mq ctrl Following commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a (virtio-net: remove layout assumptions for ctrl vq), this patch makes multiqueue ctrl handling not rely on the layout of descriptors. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 15054fce2df8592dec70bba23faf126f0f372f81 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 11 15:11:04 2013 +0200 qmp: add path to device_deleted event Add QOM path to device deleted event. It now becomes useful to report it for devices which don't have an ID assigned. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit e998fa8df828ef68ea540a12917d10b4d335c1dd Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Mar 18 21:01:37 2013 +0200 qom: call class destructor before unparent It seems more logical to have destruction flow start with the subclass and move up to the base class. This ensures object has a valid canonical path when destructor is called. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 18501ae6e825d8da72369fd091018ef71071bd87 Merge: fad5593... 500f006... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 13:38:00 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Peter Lieven (9) and others # Via Juan Quintela * quintela/migration.next: (22 commits) Use qemu_put_buffer_async for guest memory pages Add qemu_put_buffer_async Use writev ops if available Store the data to send also in iovec Update bytes_xfer in qemu_put_byte Add socket_writev_buffer function Add QemuFileWritevBuffer QemuFileOps migration: use XBZRLE only after bulk stage migration: do not search dirty pages in bulk stage migration: do not sent zero pages in bulk stage migration: add an indicator for bulk state of ram migration migration: search for zero instead of dup pages bitops: unroll while loop in find_next_bit() buffer_is_zero: use vector optimizations if possible cutils: add a function to find non-zero content in a buffer move vector definitions to qemu-common.h savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32 savevm: Add VMSTATE_FLOAT64 helpers savevm: Add VMSTATE_UINTTL_EQUAL helper ... commit fad5593ca646010d3cb83f7926d78dd30c20c610 Merge: 0fbf01f... b57ed9b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 13:34:38 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Queue sanity check for notify hypercall. commit b57ed9bf075e33cdd2f9eb545ff555301dd57221 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Mar 26 17:32:44 2013 +0100 virtio-ccw: Queue sanity check for notify hypercall. Verify that the virtio-ccw notify hypercall passed a reasonable value for queue. Cc: qemu-stable@xxxxxxxxxx Reported-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 0fbf01fe911e84c588be41636570f46f597113d6 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 10:04:43 2013 -0500 qtest: use synchronous I/O for char device Peter reported that rtc-test would periodically hang. It turns out this was due to an EAGAIN occurring on qemu_chr_fe_write. Instead of heavily refactoring qtest, just use a synchronous version of the write operation for qemu_chr_fe_write to address this problem. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cd18720a294bd7244ffda719677dd9c737317b67 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 10:04:17 2013 -0500 char: introduce a blocking version of qemu_chr_fe_write Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e769bdc26ded6d7681cddd9f67c5f87a4b5ba53c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 25 13:15:14 2013 +0000 hw/qdev: Abort rather than ignoring errors adding device properties Instead of ignoring any errors that occur when adding properties to a new device in device_initfn(), check for them and abort if any occur. The most likely cause is accidentally adding a duplicate property, which is a programming error by the device author. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364217314-7400-3-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 54852b03711f06c5f24af72de583346922176947 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 25 13:15:13 2013 +0000 qom: Detect attempts to add a property that already exists Detect attempts to add a property to an object if one of that name already exists, and report them as errors. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1364217314-7400-2-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b000dfbd42e8aac9af66ae0ed787ef1021bea29f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 25 13:40:44 2013 +0000 hw/qdev-properties.c: Improve diagnostic for setting property after realize Now we have error_setg() we can improve the error message emitted if you attempt to set a property of a device after the device is realized (the previous message was "permission denied" which was not very informative). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1364218844-7509-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c19f806e01ba5c4a4d4fac80b76841512ed4a11e Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:20 2013 +0100 virtio-scsi: cleanup: remove qdev field. The qdev field is no longer needed. Just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-11-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 763684befd34461371c2d2188655b69e4d93a5db Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:19 2013 +0100 virtio-scsi: cleanup: init and exit functions. This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-10-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0ac8e139274245320b1c56f6e9ec9318c2da963a Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:18 2013 +0100 virtio-scsi: cleanup: use QOM casts. As the virtio-scsi-pci and virtio-scsi-s390 are switched to the new API, we can use QOM casts. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-9-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c908ea1052f8c6391c2d321693220130846f703c Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:17 2013 +0100 virtio-scsi-ccw: switch to new API Here the virtio-scsi-ccw is modified for the new API. The device virtio-scsi-ccw extends virtio-ccw-device as before. It creates and connects a virtio-scsi during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9ef13d8f1956b086f4bcb1d70cd5ff96e5faa2cb Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:16 2013 +0100 virtio-scsi-s390: switch to the new API. Here the virtio-scsi-s390 is modified for the new API. The device virtio-scsi-s390 extends virtio-s390-device as before. It creates and connects a virtio-scsi during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc7b90a010719612344c4a78be7819841e76b7ec Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:15 2013 +0100 virtio-scsi-pci: switch to new API. Here the virtio-scsi-pci is modified for the new API. The device virtio-scsi-pci extends virtio-pci. It creates and connects a virtio-scsi during the init. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ab1dfdd50a7c852e4921935250c22f486c5b8a4 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:14 2013 +0100 virtio-scsi: add the virtio-scsi device. Create virtio-scsi which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4bfeb18a454bd71c406683fb473375e02c724b00 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:13 2013 +0100 virtio-scsi: moving host_features from properties to transport properties. host_features field is part of the transport device. So move all the host_features related properties into transport device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 22219527f4272f5199a581bbd3950e9ba96bbc75 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:12 2013 +0100 virtio-scsi: allocate cmd_vqs array separately. Allocate/Free the cmd_vqs array separately to have a fixed size device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 394e2e4c59294f2c5da58d2970693667218c7cf3 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Thu Mar 21 15:15:11 2013 +0100 virtio-scsi: don't use pointer for configuration. The configuration field must not be a pointer as it will be used for virtio-scsi properties. So *conf is replaced by conf. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Tested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Message-id: 1363875320-7985-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2fd1a053e3696738d7499733df0feb1efd0d97e0 Merge: dcadaa9... 4d70043... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 26 09:25:45 2013 -0500 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Corey Bryant (2) and others # Via Luiz Capitulino * luiz/queue/qmp: New QMP command query-cpu-max and HMP command cpu_max qmp: fix handling of boolean values in qmp-shell QMP: TPM QMP and man page documentation updates QMP: Remove duplicate TPM type from query-tpm commit 500f0061d628b52220038939728f0d7aee634468 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:03 2013 +0200 Use qemu_put_buffer_async for guest memory pages This will remove an unneeded copy of guest memory pages. For the page header and device state we still copy the data to the static buffer the other option is to allocate the memory on demand which is more expensive. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6181ec245529e0d40ac669fe3044eef3a9e19610 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:02 2013 +0200 Add qemu_put_buffer_async This allows us to add a buffer to the iovec to send without copying it into the static buffer, the buffer will be sent later when qemu_fflush is called. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit cb88aa88d7e96cd12328915b33bf4a1bc054aa3f Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:01 2013 +0200 Use writev ops if available Update qemu_fflush and stdio_close to use writev ops if they are available Use the buffers stored in the iovec. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b3ea2bdb792f6d961ba3adf45cf1f0c63c61e09d Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:48:00 2013 +0200 Store the data to send also in iovec All data is still copied into the static buffer. Adjacent iovecs are coalesced so we send one big buffer instead of many small buffers. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7d8a30bb98e89c203b3d2289ab0638c38bbeb7c1 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:47:59 2013 +0200 Update bytes_xfer in qemu_put_byte Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 28085f7b4d06970efa004257fcef013caf495a08 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:47:58 2013 +0200 Add socket_writev_buffer function Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d913829f0fd8451abcb1fd9d6dfce5586d9d7e10 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Fri Mar 22 16:47:57 2013 +0200 Add QemuFileWritevBuffer QemuFileOps This will allow us to write an iovec Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5cc11c46cf187c7d5306b68e730ec0d372cd7ef0 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:39 2013 +0100 migration: use XBZRLE only after bulk stage at the beginning of migration all pages are marked dirty and in the first round a bulk migration of all pages is performed. currently all these pages are copied to the page cache regardless of whether they are frequently updated or not. this doesn't make sense since most of these pages are never transferred again. this patch changes the XBZRLE transfer to only be used after the bulk stage has been completed. that means a page is added to the page cache the second time it is transferred and XBZRLE can benefit from the third time of transfer. since the page cache is likely smaller than the number of pages it's also likely that in the second round the page is missing in the cache due to collisions in the bulk phase. on the other hand a lot of unnecessary mallocs, memdups and frees are saved. the following results have been taken earlier while executing the test program from docs/xbzrle.txt. (+) with the patch and (-) without. (thanks to Eric Blake for reformatting and comments) + total time: 22185 milliseconds - total time: 22410 milliseconds Shaved 0.3 seconds, better than 1%! + downtime: 29 milliseconds - downtime: 21 milliseconds Not sure why downtime seemed worse, but probably not the end of the world. + transferred ram: 706034 kbytes - transferred ram: 721318 kbytes Fewer bytes sent - good. + remaining ram: 0 kbytes - remaining ram: 0 kbytes + total ram: 1057216 kbytes - total ram: 1057216 kbytes + duplicate: 108556 pages - duplicate: 105553 pages + normal: 175146 pages - normal: 179589 pages + normal bytes: 700584 kbytes - normal bytes: 718356 kbytes Fewer normal bytes... + cache size: 67108864 bytes - cache size: 67108864 bytes + xbzrle transferred: 3127 kbytes - xbzrle transferred: 630 kbytes ...and more compressed pages sent - good. + xbzrle pages: 117811 pages - xbzrle pages: 21527 pages + xbzrle cache miss: 18750 - xbzrle cache miss: 179589 And very good improvement on the cache miss rate. + xbzrle overflow : 0 - xbzrle overflow : 0 Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 70c8652bf3c1fea79b7b68864e86926715c49261 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:38 2013 +0100 migration: do not search dirty pages in bulk stage avoid searching for dirty pages just increment the page offset. all pages are dirty anyway. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f1c72795af573b24a7da5eb52375c9aba8a37972 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:37 2013 +0100 migration: do not sent zero pages in bulk stage during bulk stage of ram migration if a page is a zero page do not send it at all. the memory at the destination reads as zero anyway. even if there is an madvise with QEMU_MADV_DONTNEED at the target upon receipt of a zero page I have observed that the target starts swapping if the memory is overcommitted. it seems that the pages are dropped asynchronously. this patch also updates QMP to return the number of skipped pages in MigrationStats. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 78d07ae7ac74bcc7f79aeefbaff17fb142f44b4d Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:36 2013 +0100 migration: add an indicator for bulk state of ram migration the first round of ram transfer is special since all pages are dirty and thus all memory pages are transferred to the target. this patch adds a boolean variable to track this stage. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3edcd7e6ebae3ef0ac178eed5f4225803159562d Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:35 2013 +0100 migration: search for zero instead of dup pages virtually all dup pages are zero pages. remove the special is_dup_page() function and use the optimized buffer_find_nonzero_offset() function instead. here buffer_find_nonzero_offset() is used directly to avoid the unnecssary additional checks in buffer_is_zero(). raw performace gain checking 1 GByte zeroed memory over is_dup_page() is approx. 10-12% with SSE2 and 8-10% with unsigned long arithmedtic. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 49f676a00ab540fac1d2008be26434cf85607722 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:34 2013 +0100 bitops: unroll while loop in find_next_bit() this patch adopts the loop unrolling idea of bitmap_is_zero() to speed up the skipping of large areas with zeros in find_next_bit(). this routine is extensively used to find dirty pages in live migration. testing only the find_next_bit performance on a zeroed bitfield the loop onrolling decreased executing time by approx. 50% on x86_64. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 56ded708ec38e4cb75a7c7357480ca34c0dc6875 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:33 2013 +0100 buffer_is_zero: use vector optimizations if possible performance gain on SSE2 is approx. 20-25%. altivec is not tested. performance for unsigned long arithmetic is unchanged. Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 41a259bd2b1796ddabdae600ee539269a7ddb6a5 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:32 2013 +0100 cutils: add a function to find non-zero content in a buffer this adds buffer_find_nonzero_offset() which is a SSE2/Altivec optimized function that searches for non-zero content in a buffer. the function starts full unrolling only after the first few chunks have been checked one by one. analyzing real memory page data has revealed that non-zero pages are non-zero within the first 256-512 bits in most cases. as this function is also heavily used to check for zero memory pages this tweak has been made to avoid the high setup costs of the fully unrolled check for non-zero pages. due to the optimizations used in the function there are restrictions on buffer address and search length. the function can_use_buffer_find_nonzero_content() can be used to check if the function can be used safely. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit c61ca00ada744eb24825be2ba4d6ba8fe3a870a4 Author: Peter Lieven <pl@xxxxxxx> Date: Tue Mar 26 10:58:30 2013 +0100 move vector definitions to qemu-common.h vector optimizations will now be used at various places not just in is_dup_page() in arch_init.c Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 377e2cb96b76c2b0023c1acc7230bf3a9e9f9f40 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:04 2013 +1100 savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition The VMSTATE_BUFFER_MULTIPLY macro is misnamed - it actually specifies a variably sized buffer with VMS_VBUFFER, so should be named VMSTATE_VBUFFER_MULTIPLY. This patch fixes this (the macro had no current users under either name). In addition, unlike the other VMSTATE_VBUFFER variants, this macro did not specify VMS_POINTER. This patch fixes this bug as well. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 8474a9dd6757be064bf4b35f422b4640d1cca0a5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:03 2013 +1100 savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32 Currently the savevm code contains a VMSTATE_STRUCT_VARRAY_POINTER_INT32 helper (a variably sized array with the number of elements in an int32_t), but not VMSTATE_STRUCT_VARRAY_POINTER_UINT32 (... with the number of elements in a uint32_t). This patch (trivially) fixes the deficiency. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 213945e4d753b5f214468ff746d65fa76e21dbd1 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:02 2013 +1100 savevm: Add VMSTATE_FLOAT64 helpers The current savevm code includes VMSTATE helpers for a number of commonly used data types, but not for the float64 type used by the internal floating point emulation code. This patch fixes the deficiency. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d58f5598342ffebe6c6278d8b90792060fca4792 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:01 2013 +1100 savevm: Add VMSTATE_UINTTL_EQUAL helper This adds an _EQUAL VMSTATE helper for target_ulongs, defined in terms of VMSTATE_UINT32_EQUAL or VMSTATE_UINT64_EQUAL as appropriate. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e344b8a16de429ada3d9126f26e2a96d71348356 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 14:06:00 2013 +1100 savevm: Add VMSTATE_UINT64_EQUAL helpers The savevm code already includes a number of *_EQUAL helpers which act as sanity checks verifying that the configuration of the saved state matches that of the machine we're loading into to work. Variants already exist for 8 bit 16 bit and 32 bit integers, but not 64 bit integers. This patch fills that hole, adding a UINT64 version. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 817c60457f41e8643b612d451b3737433e9c7e0a Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Feb 11 15:11:10 2013 +0100 migration: Improve QMP documentation Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c Author: Michal Novotny <minovotn@xxxxxxxxxx> Date: Mon Mar 25 17:31:33 2013 +0100 New QMP command query-cpu-max and HMP command cpu_max These commands return the maximum number of CPUs supported by the currently running emulator instance, as defined in its QEMUMachine struct. Signed-off-by: Michal Novotny <minovotn@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e5ecec7bad7b679aa11ab788424bc0e1705be15b Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Mar 25 15:48:46 2013 +0100 qmp: fix handling of boolean values in qmp-shell qmp-shell converts only integer arguments and the rest is assumed to be strings which are faithfully sent as quoted strings by json. But QEMU refuses to accept qmp command with boolean argument whose value is escaped as string. Fix it by special-casing true/false keywords and store value as corresponding boolean. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 28c4fa32bd76268320d44db5d82e0d18fbc7c864 Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 20 12:34:49 2013 -0400 QMP: TPM QMP and man page documentation updates Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 88ca7bcff1806594c80782ad19ba50db47086b23 Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 20 12:34:48 2013 -0400 QMP: Remove duplicate TPM type from query-tpm Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit dcadaa9b40d6019ac18d6fd7763d43048ef79218 Merge: 4b5805d... d32fcad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 13:14:26 2013 -0500 Merge remote-tracking branch 'stefanha/net' into staging # By Dmitry Fleytman (5) and others # Via Stefan Hajnoczi * stefanha/net: net: increase buffer size to accommodate Jumbo frame pkts VMXNET3 device implementation Packet abstraction for VMWARE network devices Common definitions for VMWARE devices net: iovec checksum calculator Checksum-related utility functions net: use socket_set_nodelay() for -netdev socket commit 4b5805de49edec5a81fe810bb612317de6545a38 Merge: d2f38a0... ea804ca... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 13:14:20 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Liu Yuan (1) and Stefan Weil (1) # Via Stefan Hajnoczi * stefanha/block: block: Add options QDict to bdrv_file_open() prototypes (fix MinGW build) rbd: fix compile error commit d2f38a0acb0a1c5b7ab7621a32d603d08d513bea Merge: d63c947... 0099cd4... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 13:13:53 2013 -0500 Merge remote-tracking branch 'kraxel/ipxe.3' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/ipxe.3: ipxe: update binaries ipxe: disable two second timeout commit d63c9477e0cc303492325880dc9977f4096d895d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 25 10:23:56 2013 -0500 glib: add a compatibility interface for g_timeout_add_seconds Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6db253caf84203c9fb106b539072699fdd4730fe Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Sun Mar 24 19:10:02 2013 +0100 gtk: Release modifier when graphic console loses keyboard focus This solves, e.g., sticky ALT when selecting a GTK menu, switching to a different window or selecting a different virtual console. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Message-id: 514F417A.6010908@xxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d32fcad366e5f45d33dab2ee4de0e5729439680b Author: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx> Date: Mon Mar 18 11:43:44 2013 -0700 net: increase buffer size to accommodate Jumbo frame pkts Socket buffer sizes were hard-coded to 4K for VDE and socket netdevs. Bump this up to 68K (ala tap netdev) to handle maximum GSO packet size (64k) plus plenty of room for the ethernet and virtio_net headers. Originally, ran into this limitation when using -netdev UDP sockets to connect VM-to-VM, where VM interface is configure with MTU=9000. (Using virtio_net NIC model). Test is simple: ping -M do -s 8500 <target>. This test will attempt to ping with unfragmented packet of given size. Without patch, size is limited to < 4K (minus protocol hdrs). With patch, ping test works with pkt size up to 9000 (again, minus protocol hdrs). v2: per Stefan, increase buf size to (4096+65536) as done in tap and apply to vde and socket netdevs. v1: increase buf size to 12K just for -netdev UDP sockets Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 786fd2b0f87baded8c9e55307b99719eea3e016e Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:06 2013 +0200 VMXNET3 device implementation Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e263cd49c73c595af0917c83dc004234660e0c71 Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:05 2013 +0200 Packet abstraction for VMWARE network devices Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 75020a7021513ad4cbad2aa5f6de5d390016f099 Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:04 2013 +0200 Common definitions for VMWARE devices Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 84026301694b98dd08272e613da3497b17023d5c Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:03 2013 +0200 net: iovec checksum calculator Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5acf5ea4bc1535657692c509092caddec3d719ff Author: Dmitry Fleytman <dmitry@xxxxxxxxxx> Date: Sat Mar 9 11:21:02 2013 +0200 Checksum-related utility functions net_checksum_add_cont() checksum calculation for scattered data with odd chunk sizes net_raw_checksum() checksum calculation for a buffer Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx> Signed-off-by: Yan Vugenfirer <yan@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 20048d0a12b1080f688ff9b82696134df1aa3607 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 27 15:05:47 2013 +0100 net: use socket_set_nodelay() for -netdev socket Reduce -netdev socket latency by disabling the Nagle algorithm on SOCK_STREAM sockets in net/socket.c. Since we are tunelling Ethernet over TCP we shouldn't artificially delay outgoing packets, let the guest decide packet scheduling. I already get sub-millisecond -netdev socket ping times on localhost, so there was no measurable difference in my testing. This won't hurt though and may improve remote socket performance. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx> Reviewed-by: Daniel P. Berrange <berrange@xxxxxxxxxx> commit ea804cadf867a0521b9069193db339d041a40689 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Mar 24 08:08:36 2013 +0100 block: Add options QDict to bdrv_file_open() prototypes (fix MinGW build) The new parameter is unused yet. This part was missing in commit 787e4a8500020695eb391e2f1cc4767ee071d441. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d43731c75830dc63ae94282d84208a5652095bb7 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Sun Mar 24 15:41:15 2013 +0800 rbd: fix compile error Commit 787e4a85 [block: Add options QDict to bdrv_file_open() prototypes] didn't update rbd.c accordingly. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0099cd43ecf07710a608db5ca0945758514a14c2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 09:13:18 2013 +0100 ipxe: update binaries Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 95ca557d5cfc1ef69ba9708ded552f389afe643d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 25 09:07:40 2013 +0100 ipxe: disable two second timeout Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit fe6344a05fba26e16863fefcb823242e579b0991 Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Sun Mar 24 00:43:38 2013 -0400 Remove device_tree.o from hw/moxie/Makefile.objs. Here's a fix for the build problem identified by Aurelien Jarno here: http://lists.gnu.org/archive/html/qemu-devel/2013-03/msg04177.html Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2d497542e1ee66598be8bb7ce6a4606d664417ac Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 09:13:33 2013 -0700 tcg-optimize: Fold sub r,0,x to neg r,x Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4980ef9e3e12be3b4ef9092abc2d5a665199b422 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 19 12:11:56 2013 -0700 target-i386: Don't modify env->eflags around cpu_dump_state We can compute the value in cpu_dump_state anyway, and gratuitous modifications to eflags creates heisenbugs. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c53de1a2896ccc9ab18bb9c2f1a2f7b93629b564 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 19 09:40:53 2013 -0700 target-i386: Fix flags computation for ADOX When starting from CC_OP_DYNAMIC, and issuing adox before adcx, a typo used the wrong value for the resulting CC_OP. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Reported-by: Torbjorn Granlund <tg@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d15a9c2390889623a681b4d0bc56371b4d25893c Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:25 2013 -0400 Add top level changes for moxie Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a360d965821870fa1dbb3effdf7436b715ad3358 Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:24 2013 -0400 Add sample moxie system Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bd86a88eedf3fd4ff55664cfabea7d6400e5fbda Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:23 2013 -0400 Add moxie disassembler Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 525bd324c282c68ff95e389acd647ae115fd003c Author: Anthony Green <green@xxxxxxxxxxxxxx> Date: Mon Mar 18 15:49:22 2013 -0400 Add moxie target code Signed-off-by: Anthony Green <green@xxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f7c61bf8fc1b05613b49d1dd2300d1a1fbc927de Merge: d76bb73... b1e5fff... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 23 14:23:26 2013 +0000 Merge branch 'for-upstream' of git://github.com/mwalle/qemu * 'for-upstream' of git://github.com/mwalle/qemu: configure: rename OpenGL feature to GLX configure: proper OpenGL/GLX probe target-lm32: use HELPER() macro target-lm32: flush tlb after clearing env target-lm32: remove dead code target-lm32: fix cmpgui and cmpgeui opcodes tests: tcg: lm32: add more test cases target-lm32: don't log cpu state in translation lm32_uart: fix receive buffering milkymist-uart: fix receive buffering lm32-dis: fix NULL pointer dereference target-lm32: fix debug memory access commit d76bb73549fcac07524aea5135280ea533a94fd6 Merge: 52ae646... 9ca3f7f... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Fri Mar 22 21:43:57 2013 +0100 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: (58 commits) target-ppc: Use NARROW_MODE macro for tlbie target-ppc: Use NARROW_MODE macro for addresses target-ppc: Use NARROW_MODE macro for comparisons target-ppc: Use NARROW_MODE macro for branches target-ppc: Fix add and subf carry generation in narrow mode target-ppc: Use QOM method dispatch for MMU fault handling target-ppc: Move ppc tlb_fill implementation into mmu_helper.c target-ppc: Split user only code out of mmu_helper.c mmu-hash64: Implement Virtual Page Class Key Protection mmu-hash*: Merge translate and fault handling functions mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for get_phys_page_debug() mmu-hash*: Correctly mask RPN from hash PTE mmu-hash*: Clean up real address calculation mmu-hash*: Clean up PTE flags update mmu-hash64: Factor SLB N bit into permissions bits mmu-hash*: Clean up permission checking mmu-hash32: Remove nx from context structure mmu-hash*: Don't update PTE flags when permission is denied mmu-hash32: Don't look up page tables on BAT permission error mmu-hash32: Cleanup BAT lookup ... commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f Author: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx> Date: Fri Mar 22 21:50:17 2013 +0900 tcg: Fix occasional TCG broken problem when ldst optimization enabled is_tcg_gen_code() checks the upper limit of TCG generated code range wrong, so that TCG could get broken occasionally only when CONFIG_QEMU_LDST_OPTIMIZATION enabled. The reason is code_gen_buffer_max_size does not cover the upper range up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size should be modified to code_gen_buffer_size. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 3f08ffb4a4741d147634761dc053ed386243a0de Merge: cecd77a... 681e7ad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 22 13:08:01 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Kevin Wolf (12) and Peter Lieven (2) # Via Kevin Wolf * kwolf/for-anthony: nbd: Check against invalid option combinations nbd: Use default port if only host is specified block: Allow omitting the file name when using driver-specific options block: Make find_image_format safe with NULL filename block: Rename variable to avoid shadowing block: Introduce .bdrv_parse_filename callback nbd: Accept -drive options for the network connection nbd: Remove unused functions nbd: Keep hostname and port separate qemu-socket: Make socket_optslist public block: Pass bdrv_file_open() options to block drivers block: Add options QDict to bdrv_file_open() prototypes block: complete all IOs before resizing a device Revert "block: complete all IOs before .bdrv_truncate" commit cecd77ae6df060bbe8f0eea6691112097e680a52 Merge: f930820... 01ed1d5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 22 13:05:57 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By liguang (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: qdev: remove redundant abort() gitignore: ignore more files Use proper term in TCG README serial: Fix debug format strings Fix typos and misspellings Advertise --libdir in configure --help output memory: fix a bug of detection of memory region collision MinGW: Replace setsockopt by qemu_setsocketopt commit f9308207040dc4a1484cee459bedaec03645b935 Merge: afed260... fe42d7f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 22 13:05:50 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Cornelia Huck # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw, s390-virtio: Use generic virtio-blk macro. s390-virtio, virtio-ccw: Add config_wce for virtio-blk. virtio-ccw: Add missing blk chs properties. commit 681e7ad024d80123a1ae8e35f86fb1a7f03b1bc9 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 20 19:23:23 2013 +0100 nbd: Check against invalid option combinations A file name may only specified if no host or socket path is specified. The latter two may not appear at the same time either. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit bebbf7fa9c6235022ecd15f8f934d27e5ccab63a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:56:05 2013 +0100 nbd: Use default port if only host is specified The URL method already takes care to apply the default port when none is specfied. Directly specifying driver-specific options required the port number until now. Allow leaving it out and apply the default. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit c2ad1b0c465a9ea8375eaff14bbd85705c673f73 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:40:51 2013 +0100 block: Allow omitting the file name when using driver-specific options After this patch, using -drive with an empty file name continues to open the file if driver-specific options are used. If no driver-specific options are specified, the semantics stay as it was: It defines a drive without an inserted medium. In order to achieve this, bdrv_open() must be made safe to work with a NULL filename parameter. The assumption that is made is that only block drivers which implement bdrv_parse_filename() support using driver specific options and could therefore work without a filename. These drivers must make sure to cope with NULL in their implementation of .bdrv_open() (this is only NBD for now). For all other drivers, the block layer code will make sure to error out before calling into their code - they can't possibly work without a filename. Now an NBD connection can be opened like this: qemu-system-x86_64 -drive file.driver=nbd,file.port=1234,file.host=::1 Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f5866fa438bff586f215c137dc71edb4e0770536 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:20:27 2013 +0100 block: Make find_image_format safe with NULL filename In order to achieve this, the .bdrv_probe callbacks of all drivers must cope with this. The DMG driver is the only one that bases its decision on the filename and it needs to be changed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 08b392e1510b21d8c9bfa8a50525fae31014a2e2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 16:17:44 2013 +0100 block: Rename variable to avoid shadowing bdrv_open() uses two different variables called options. Rename one of them to avoid confusion and to allow the outer one to be accessed everywhere. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 6963a30d82413bea36c7545137b090b284cc2b18 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 18:47:22 2013 +0100 block: Introduce .bdrv_parse_filename callback If a driver needs structured data and not just a string, it can provide a .bdrv_parse_filename callback now that parses the command line string into separate options. Keeping this separate from .bdrv_open_filename ensures that the preferred way of directly specifying the options always works as well if parsing the string works. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f53a1febcd9d887149ac1429880a3f2fdb2c117f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Mar 7 16:15:11 2013 +0100 nbd: Accept -drive options for the network connection The existing parsers for the file name now parse everything into the bdrv_open() options QDict. Instead of using these parsers, you can now directly specify the options on the command line, like this: qemu-system-x86_64 -drive file=nbd:,file.port=1234,file.host=::1 Clearly the file=... part could use further improvement, but it's a start. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 197a4859b914559489f41b63fd71ea4bfda17c3d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 16:46:38 2013 +0100 nbd: Remove unused functions Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f17c90bed11a6e277614b5a5d16434004f24d572 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 11:55:29 2013 +0100 nbd: Keep hostname and port separate The NBD block supports an URL syntax, for which a URL parser returns separate hostname and port fields. It also supports the traditional qemu syntax encoded in a filename. Until now, after parsing the URL to get each piece of information, a new string is built to be fed to socket functions. Instead of building a string in the URL case that is immediately parsed again, parse the string in both cases and use the QemuOpts interface to qemu-sockets.c. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit e62be8888a83aa0ab7f50eeb954deb2ec4e7201d Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 17:14:24 2013 +0100 qemu-socket: Make socket_optslist public Allow other users to create the QemuOpts needed for inet_connect_opts(). Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 707ff8282b66bb9471e253fe5f17b74576d36825 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 6 12:20:31 2013 +0100 block: Pass bdrv_file_open() options to block drivers Specify -drive file.option=... on the command line to pass the option to the protocol instead of the format driver. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 787e4a8500020695eb391e2f1cc4767ee071d441 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Mar 6 11:52:48 2013 +0100 block: Add options QDict to bdrv_file_open() prototypes The new parameter is unused yet. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 92b7a08d64e5e3129fa885f9d180e5bddcb76b42 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Mar 11 11:04:24 2013 +0100 block: complete all IOs before resizing a device this patch ensures that all pending IOs are completed before a device is resized. this is especially important if a device is shrinked as it the bdrv_check_request() result is invalidated. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5c916681ae2383f0425bb8a3680ade9d055f5dfe Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Mar 11 11:03:28 2013 +0100 Revert "block: complete all IOs before .bdrv_truncate" brdv_truncate() is also called from readv/writev commands on self- growing file based storage. this will result in requests waiting for theirselves to complete. This reverts commit 9a665b2b8640e464f0a778216fc2dca8d02acf33. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 01ed1d527c59356e6c4c9d54b5710a3c9e78ce4e Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri Mar 22 16:44:14 2013 +0800 qdev: remove redundant abort() Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 082369e62c5bbaba89f173c2b803bc24115bb111 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Fri Mar 22 16:44:13 2013 +0800 gitignore: ignore more files ignore *.patch, *.gcda, *.gcno Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 294e4669a5ef1feacc6635d324fa4ba88062cce0 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Wed Mar 20 11:42:08 2013 +0800 Use proper term in TCG README In TCG, "target" means the host architecture for which TCG generates the code. Using "guest" rather than "target" to make the document more consistent. Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ca3f7f3160365de9030e1a6128a871625abe346 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:49 2013 +0000 target-ppc: Use NARROW_MODE macro for tlbie Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c791fe8436cf6b93ddb035a5b7a87487da5f7b30 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:48 2013 +0000 target-ppc: Use NARROW_MODE macro for addresses Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 02765534f7aff83a975072e8a6fcc85364351ad5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:47 2013 +0000 target-ppc: Use NARROW_MODE macro for comparisons Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0c8f9ce85b360668a7c8cc77cb3b85fac0bd057 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:46 2013 +0000 target-ppc: Use NARROW_MODE macro for branches Removing conditional compilation in the process. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 79482e5ab38a05ca8869040b0d8b8f451f16ff62 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Mar 21 10:01:45 2013 +0000 target-ppc: Fix add and subf carry generation in narrow mode The set of computations used in b5a73f8d8a57e940f9bbeb399a9e47897522ee9a are only valid if the current word size == target_long size. This failed to take ppc64 in 32-bit (narrow) mode into account. Add a NARROW_MODE macro to avoid conditional compilation. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b632a148b677b773ff155f9de840b37a653567b9 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 11:40:33 2013 +1100 target-ppc: Use QOM method dispatch for MMU fault handling After previous cleanups, the many scattered checks of env->mmu_model in the ppc MMU implementation have, at least for "classic" hash MMUs been reduced (almost) to a single switch at the top of cpu_ppc_handle_mmu_fault(). An explicit switch is still a pretty ugly way of handling this though. Now that Andreas Färber's CPU QOM cleanups for ppc have gone in, it's quite straightforward to instead make the handle_mmu_fault function a QOM method on the CPU object. This patch implements such a scheme, initializing the method pointer at the same time as the mmu_model variable. We need to keep the latter around for now, because of the MMU types (BookE, 4xx, et al) which haven't been converted to the new scheme yet, and also for a few other uses. It would be good to clean those up eventually. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eb20c1c6da60c8c75f08def03b0822a48af620ac Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:49 2013 +0000 target-ppc: Move ppc tlb_fill implementation into mmu_helper.c For softmmu builds the interface from the generic code to the target specific MMU implementation is through the tlb_fill() function. For ppc this is currently in mem_helper.c, whereas it would make more sense in mmu_helper.c. This patch moves it, which also allows cpu_ppc_handle_mmu_fault() to become a local function in mmu_helper.c Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cc8eae8ac7a493b6968238cf8aa5a21026858bae Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:48 2013 +0000 target-ppc: Split user only code out of mmu_helper.c mmu_helper.c is, for obvious reasons, almost entirely concerned with softmmu builds of qemu. However, it does contain one stub function which is used when CONFIG_USER_ONLY=y - the user only versoin of cpu_ppc_handle_mmu_fault, which always triggers an exception. The entire rest of the file is surrounded by #if !defined(CONFIG_USER_ONLY). We clean this up by moving the user only stub into its own new file, removing the ifdefs and building mmu_helper.c only when CONFIG_SOFTMMU is set. This also lets us remove the #define of cpu_handle_mmu_fault to cpu_ppc_handle_mmu_fault - that name is only used from generic code for user only - so we just name our split user version by the generic name. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f80872e21c07edd06eb343eeeefc8af404b518a6 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:47 2013 +0000 mmu-hash64: Implement Virtual Page Class Key Protection Version 2.06 of the Power architecture describes an additional page protection mechanism. Each virtual page has a "class" (0-31) recorded in the PTE. The AMR register contains bits which can prohibit reads and/or writes on a class by class basis. Interestingly, the AMR is userspace readable and writable, however user mode writes are masked by the contents of the UAMOR which is privileged. This patch implements this protection mechanism, along with the AMR and UAMOR SPRs. The architecture also specifies a hypervisor-privileged AMOR register which masks user and supervisor writes to the AMR and UAMOR. We leave this out for now, since we don't at present model hypervisor mode correctly in any case. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: fix 32-bit hosts] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit caa597bd9f5439cb16653119f362ad85a9f02b55 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:46 2013 +0000 mmu-hash*: Merge translate and fault handling functions ppc_hash{32,64}_handle_mmu_fault() is now the only caller of ppc_hash{32,64{_translate(), so this patch combines them together. This means that instead of one returning a variety of non-obvious error codes which then get translated into the various mmu exception conditions, we can just generate the exceptions as we discover problems in the translation path. This also removes the last usage of mmu_ctx_hash{32,64}. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5883d8b29691e15c72e338a586509abfc65c3106 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:45 2013 +0000 mmu-hash*: Don't use full ppc_hash{32, 64}_translate() path for get_phys_page_debug() Currently the hash mmu versionsof get_phys_page_debug() use the same ppc64_hash64_translate() function to do the translation logic as the normal mm fault handler code. That sounds like a good idea, but has some complications. The debug path doesn't need, or even want some parts of the full translation path, like permissions checking. Furthermore, the pte flags update included in the normal path means that the debug call is not quite side effect free. This patch, therefore, reimplements get_phys_page_debug as the minimal required subset of the full translation path. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>`z Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 75d5ec89c03cb2f1a2bd0d9912e624ceb6fd1999 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:44 2013 +0000 mmu-hash*: Correctly mask RPN from hash PTE BEHAVIOUR CHANGE At present we take the whole of word 1 of the hash PTE as the real page number used to calculate the translated address. This is incorrect, because it leaves the flags from the low bits of PTE word 1 in place in the rpm. We mostly get away with that because the value is later masked by TARGET_PAGE_MASK. More recent 64-bit CPUs also have a small number of flag bits (PP0 and KEY) in the top bits of PTE word 1. Any guest which used those bits would fail with the current code. This patch fixes the problem by correctly masking out the RPN field of PTE word 1. This is safe, even for older CPUs which didn't have PP0 and KEY, because although the RPN notionally extended to the very top of PTE word 1, none of those CPUs actually implemented that many real address bits. We add analogous masking to the 32-bit code, even though it also doesn't have the high flag bits, for consistency and clarity. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6d11d998bb866c92b0f81eb3cea2f7a3e617feb8 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:43 2013 +0000 mmu-hash*: Clean up real address calculation More recent 64-bit hash MMUs support multiple page sizes, and PTEs for large pages only include the offset of the whole large page. But the qemu tlb only handles pages of the base size (4k) so we need to break up the large pages into 4k pieces for the qemu tlb. To do that we have a somewhat awkward piece of code that adds the folds address bits 4k and the page size from the virtual address into the real address from the pte. This patch simplifies this redefining the raddr output of ppc_hash64_translate() to be the full real address of the faulting address, rather than just the (4k) page offset. Computing that turns out to be simpler, and is fine for the caller, since it already masks with TARGET_PAGE_MASK before inserting into the qemu tlb. The multiple page size complication doesn't exist for 32-bit hash mmus, but we make an analogous cleanup there for consistency. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b344074642e58fc83635c38105f38b85fc086666 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:42 2013 +0000 mmu-hash*: Clean up PTE flags update Currently the ppc_hash{32,64}_pte_update_flags() helper functions update a PTE's referenced and changed bits as necessary to reflect the access. It is somewhat long winded, though. This patch open codes them in their (single) callers, in a simpler way. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 57d0a39d98b0d0e4712e736084667bcb5aed3474 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:41 2013 +0000 mmu-hash64: Factor SLB N bit into permissions bits BEHAVIOUR CHANGE Currently, for 64-bit hash mmu, the execute protection bit placed into the qemu tlb is based only on the N (No execute) bit from the PTE. However, No Execute can also be set at the segment level. We do check this on execute faults, but this still means we could incorrectly allow execution of code from a No Execute segment, if a prior read or write fault caused the page to be loaded into the qemu tlb with PROT_EXEC set. To correct this, we (re-)check the segment level no execute permission when generating the protection bits for the qemu tlb. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e01b444523e2b0c663b42b3e8f44ef48a6153051 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:40 2013 +0000 mmu-hash*: Clean up permission checking Currently checking of PTE permission bits is split messily amongst ppc_hash{32,64}_pp_check(), ppc_hash{32,64}_check_prot() and their callers. This patch cleans this up to have the new function ppc_hash{32,64}_pte_prot() compute the page permissions from the SLBE (for 64-bit) or segment register (32-bit) and the pte. A greatly simplified version of the actual permissions check is then open coded in the callers. The 32-bit version of ppc_hash32_pte_prot() is implemented in terms of ppc_hash32_pp_prot(), a renamed and slightly cleaned up version of the old ppc_hash32_pp_check(), which is also used for checking BAT permissions on the 601. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1a53ba2e0f6dcf4a8b25586cc9d8ec1e408305c Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:39 2013 +0000 mmu-hash32: Remove nx from context structure Previous cleanups have meant the nx field of the mmu_ctx_hash32 structure is now only used within ppc_hash32_translate(), and so it can be replaced by a local variable. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 87dc3fd13e9c573fc435678973d8eb9726d50c3b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:38 2013 +0000 mmu-hash*: Don't update PTE flags when permission is denied BEHAVIOUR CHANGE Currently if ppc_hash{32,64}_translate() finds a PTE matching the given virtual address, it will always update the PTE's R & C (Referenced and Changed) bits. This happens even if the PTE's permissions mean we are about to deny the translation. This is clearly a bug, although we get away with it because: a) It will only incorrectly set, never reset the bits, which should not cause guest correctness problems. b) Linux guests never use the R & C bits anyway. This patch fixes the behaviour, only updating R & C when access is granted by the PTE. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 59acbe28552eb7bd7be75b22b3f3de93d7d40556 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:37 2013 +0000 mmu-hash32: Don't look up page tables on BAT permission error BEHAVIOUR CHANGE Currently, on any failure translating an address with BATs, we proceed to normal segment and page table translation. That's incorrect if the BAT error was due to permissions, rather than not finding a matching BAT. We've gotten away with it because a guest would not usually put translations for the same address in both BATs and page table. Nonetheless this patch corrects the logic, only doing page table lookup if no BAT is found. A matching BAT with bad permissions will now correctly trigger an exception. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 145e52f31826045d8cccf5b840dc77d21a696651 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:36 2013 +0000 mmu-hash32: Cleanup BAT lookup This patch makes a general cleanup of the ppc_hash32_get_bat() function, renaming it to ppc_hash32_bat_lookup(). In particular, the new function only looks for a matching BAT, with the permissions check from the old function moved to the caller. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6fc76aa9adc1c8896a97059f12a1e5e6c1820c64 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:35 2013 +0000 mmu-hash32: Clean up BAT matching logic The code to search for a matching BAT for a virtual address is somewhat longwinded and awkward. In particular, it relies on seperate size and validity information being returned from the hash32_bat_size() function (and 601 specific variant). We simplify this by having hash32_bat_size() return instead a mask of the virtual address bits to match, and 0 for invalid (since a BAT can never match the entire address space). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1d4951593426c886c1856211bc6ca81ed7c435d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:34 2013 +0000 mmu-hash32: Split BAT size logic from permissions logic hash32_bat_size_prot() and its 601 variant, as the name suggests, returns both a BAT's size - needed to search for a matching BAT - and its permissions, only relevant once a matching BAT has been located. There's no particular advantage to combining these, so we split these roles into seperate functions for clarity. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9986ed1ed07a01bdd236524b1a5cee695e68954a Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:33 2013 +0000 mmu-hash32: Remove odd pointer usage from BAT code In the code for handling BATs, the hash32_bat_size_prot() and hash32_bat_601_size_prot() functions are passed the BAT contents by reference (pointer) for no clear reason, since they only need the values within. This patch removes this odd usage, and uses the resulting change to clean up the caller slightly. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6a9801106ed90b8817128e15b187a9d5f71a54d9 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:32 2013 +0000 mmu-hash*: Fold pte_check*() logic into caller With previous cleanups made, the 32-bit and 64-bit pte_check*() functions are pretty trivial and only have one call site. This patch therefore clarifies the overall code flow by folding those functions into their call site. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 181488987671841407c52b6f958650f68b66f3f4 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:31 2013 +0000 mmu-hash64: Clean up ppc_hash64_htab_lookup() This patch makes a general cleanup of the address mangling logic in ppc_hash64_htab_lookup(). In particular it now avoids repeatedly switching on the segment size. The lack of SLB and multiple segment sizes on 32-bit means an analogous cleanup is not needed there. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7f3bdc2d8e17999a26ac0f6649caef92fedfc1c0 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:30 2013 +0000 mmu-hash*: Remove permission checking from find_pte{32, 64}() find_pte{32,64}() are poorly named, since they both find a PTE and do permissions checking of it. This patch makes them only locate a matching PTE, moving the permission checking and other logic to the caller. We rename the resulting search functions ppc_hash{32,64}_htab_lookup(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a1ff751abda89006f167b14fa4bfc5b59e4980f0 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:29 2013 +0000 mmu-hash*: Make find_pte{32, 64} do more of the job of finding ptes find_pte{32,64}() are not particularly well named. They only "find" a PTE within a given PTE group, and they also do permissions checking and other things. This patch makes it somewhat close to matching the name, by folding the search of both primary and secondary hash bucket into it, along with the various address bit shuffling to determine the right hash buckets. In the 32-bit case we also remove the code for splitting large pages into 4k pieces for the qemu tlb, since no 32-bit hash MMUs support multiple page sizes. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit aea390e4be652d5b5457771d25eded0dba14fe37 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:28 2013 +0000 mmu-hash*: Separate PTEG searching from permissions checking find_pte{32,64{() do several things. First they search through a PTEG ooking for a PTE matching our virtual address. Then they do permissions checking and other processing on that PTE. This patch separates the search by VA out from the rest. The search is combined with the pte{32,64}_match() functions into new ppc_has{32,64}_pteg_search() functions. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f95d7cc7fecbc0e320e83c864ce2d99fee3d9236 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:27 2013 +0000 mmu-hash*: Don't keep looking for PTEs after we find a match BEHAVIOUR CHANGE The ppc hash mmu hashes each virtual address to a primary and secondary possible hash bucket (aka PTE group or PTEG) each with 8 PTEs. Then we need a linear search through the PTEs to find the correct one for the virtual address we're translating. It is a programming error for the guest to insert multiple PTEs mapping the same virtual address into a PTEG - in this case the ppc architecture says the MMU can either act as if just one was present, or give a machine check. Currently our code takes the first matching PTE in a PTEG if it finds a successful translation. But if a matching PTE is found, but permission bits don't allow the access, we keep looking through the PTEG, checking that any other matching PTEs contain an identical translation. That behaviour is perhaps not exactly wrong, but it's certainly not useful. This patch changes it to always just find the first matching PTE in a PTEG. In addition, if we get a permissions problem on the primary PTEG, we then search the secondary PTEG. This is incorrect - a permission denying PTE in the primary PTEG should not be overwritten by an access granting PTE in the secondary (although again, it would be a programming error for the guest to set up such a situation anyway). So additionally we update the code to only search the secondary PTEG if no matching PTE is found in the primary at all. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bb218042c8b4e4bbcf2ab3c8d961d78876178831 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:26 2013 +0000 mmu-hash*: Cleanup segment-level NX check On the ppc hash mmus, no-execute can be set at the segment level (on more recent 64-bit hash mmus it can also be set at the page level). This patch separates out this check to make it clearer what is going on, and avoiding excessive indentation of the remaining translation code. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 723ed73ada1ed66a67722f3051059f634d60ebf7 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:25 2013 +0000 mmu-hash32: Split direct store segment handling into a helper This further separates the unusual case handling of direct store segments from the main translation path by moving its logic into a helper function, with some tiny cleanups along the way. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4b9605a5b16f86d9e8eccbc0bd522904137c1200 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:24 2013 +0000 mmu-hash32: Split out handling of direct store segments At present a large chunk of ppc_hash32_translate() is taken up with an ugly if selecting between direct store segments (hardly ever used) and normal paged segments. This patch clarifies the flow of code by handling direct store segments immediately then returning, leaving the straight line code to describe the normal MMU path. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 65d61643d01fec2792d195130531cbb71c783e8e Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:23 2013 +0000 mmu-hash*: Combine ppc_hash{32, 64}_get_physical_address and get_segment{32, 64}() After previous work, ppc_hash{32,64}_get_physical_address() are almost trivial wrappers around get_segment{32,64}() which does nearly all the work of translating an address according to the hash mmu model. Therefore combine the two functions into one, under the better name of ppc_hash{32,64}_translate(). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f078cd46de9efb5f102a4b32aaf1c8b96a90bfbd Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:22 2013 +0000 mmu-hash*: Remove eaddr field from mmu_ctx_hash{32, 64} The eaddr field of mmu_ctx_hash{32,64} is effectively just used to pass the effective address from get_segment{32,64}() to find_pte{32,64}(). Just pass it as a normal parameter instead. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba36ed10059f63c981d046a3fe0d716f77959429 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:21 2013 +0000 mmu-hash64: Remove nx from mmu_ctx_hash64 The nx field in mmu_ctx_hash64 is used in two different functions. But its used for slightly different things in each place, and the value is never propagated between them. In other words, it might as well be two local variables. This patch makes it so. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 91cda45b69e45a089f9989979a65db3f710c9925 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:20 2013 +0000 mmu-hash*: Reduce use of access_type In ppc env->access_type is updated by e.g. integer load/stores with ACCESS_INT floating point load/stores with ACCESS_FLOAT and so forth. In hash mmu fault paths it can also b set to ACCESS_CODE for instruction fetch accesses. But the only place which uses anything more of the access_type than whether it is instruction fetch or data access is the direct store segment handling. Instruction versus data access can be more simply determined from the rw value passed down from the top. This changes the code to use rw in preference to checking access_type. For the 32-bit case there is a small amount of code (for direct store segments) that still needs the full access type. Instead of passing it all the way down the stack, we retrieve it from the env structure, which is where it came anyway, before this patch. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dffdaf6162d20b992e34c4708969ed4de0353417 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:19 2013 +0000 mmu-hash*: Add hash pte load/store helpers On real hardware the ppc hash page table is stored in memory; accordingly our mmu emulation code can read a hash page table in guest memory. But, when paravirtualized under PAPR, the real hash page table is in host memory, accessible to the guest only via hypercalls. We model this by also allowing the MMU emulation code to access a specially allocated hash page table outside the guest's memory image. At present these two options are implemented with some ugly conditionals at each access point in the mmu emulation code. In the implementation of the PAPR hypercalls, we assume the external hash table. This patch cleans things up by adding helpers to load and store from the hash table for both 32-bit and 64-bit hash mmus. The 64-bit versions handle both the in-guest-memory and outside guest memory cases. The 32-bit versions only handle the in-guest-memory case since no 32-bit systems can have an external hash table at present. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d5aea6f367d25b630a952a5a0c8289add774a8e8 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:18 2013 +0000 mmu-hash*: Add header file for definitions Currently cpu.h contains a number of definitions relating to the 64-bit hash MMU. Some are used in the MMU emulation code, but some are only used in the spapr MMU management hcall implementations. This patch moves these definitions (except for a few that are needed more widely) into mmu-hash64.h header, shared between the MMU emulation code and the spapr hcall code. The MMU emulation code is also updated to actually use a number of those definitions in place of hard coded constants. Similarly, we add new analogous definitions to mmu-hash32.h and use those in place of many hard-coded constants in mmu-hash32.c Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> [agraf: fix 32-bit hosts] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5dc68eb0e4e41462bf93cf5c67fe4045571fc7bf Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:17 2013 +0000 target-ppc: mmu_ctx_t should not be a global type mmu_ctx_t is currently defined in cpu.h. However it is used for temporary information relating to mmu translation, and is only used in mmu_helper.c and (now) mmu-hash{32,64}.c. Furthermore it contains information which should be specific to particular MMU types. Therefore, move its definition to mmu_helper.c. mmu-hash{32,64}.c are converted to use new data types private to the relevant MMUs (identical to mmu_ctx_t for now, but that will change in future patches). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9813279664162fa50d6124fe8c5ac4871fa59c13 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:16 2013 +0000 target-ppc: Disentangle BAT code for 32-bit hash MMUs The functions for looking up BATs (Block Address Translation - essentially a level 0 TLB) are shared between the classic 32-bit hash MMUs and the 6xx style software loaded TLB implementations. This patch splits out a copy for the 32-bit hash MMUs, to facilitate cleaning it up. The remaining version is left, but cleaned up slightly to no longer deal with PowerPC 601 peculiarities (601 has a hash MMU). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 59191721a16ae393c01280dc633937374cdf474e Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:15 2013 +0000 target-ppc: Don't share get_pteg_offset() between 32 and 64-bit The get_pteg_offset() helper function is currently shared between 32-bit and 64-bit hash mmus, taking a parameter for the hash pte size. In the 64-bit paths, it's only called in one place, and it's a trivial calculation. This patch, therefore, open codes it for 64-bit. The remaining version, which is used in two places is made 32-bit only and moved to mmu-hash32.c. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 496272a7018ba01aa2b87a1a5ed866ff85133401 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:14 2013 +0000 target-ppc: Disentangle hash mmu helper functions The newly separated paths for hash mmus rely on several helper functions which are still shared with 32-bit hash mmus: pp_check(), check_prot() and pte_update_flags(). While these don't have ugly ifdefs on the mmu type, they're not very well thought out, so sharing them impedes cleaning up the hash mmu paths. For now, put near-duplicate versions into mmu-hash64.c and mmu-hash32.c, leaving the old version in mmu_helper.c for 6xx software loaded tlb implementations. The hash 32 and software loaded implementations are simplfied slightly, using the fact that no 32-bit CPUs implement the 3rd page protection bit. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f2ad6be83bc284d6c7677bdca879db38d4fdccd5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:13 2013 +0000 target-ppc: Disentangle hash mmu versions of cpu_get_phys_page_debug() cpu_get_phys_page_debug() is a trivial wrapper around get_physical_address(). But even the signature of get_physical_address() has some things we'd like to clean up on a per-mmu basis, so this patch moves the test on mmu model out to cpu_get_phys_page_debug(), moving the version for 64-bit hash MMUs out to mmu-hash64.c and the version for 32-bit hash MMUs to mmu-hash32.c Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 25de24ab838be5801d5cc13b8a347922a3770fa5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:12 2013 +0000 target-ppc: Disentangle hash mmu paths for cpu_ppc_handle_mmu_fault cpu_ppc_handle_mmu_fault() calls get_physical_address() (whose behaviour depends on MMU type) then, if that fails, issues an appropriate exception - which again has a number of dependencies on MMU type. This patch starts converting cpu_ppc_handle_mmu_fault() to have a single switch on MMU type, calling MMU specific fault handler functions which deal with both translation and exception delivery appropriately for the MMU type. We convert 32-bit and 64-bit hash MMUs to this new model, but the existing code is left in place for other MMU types for now. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 629bd516fda67c95ba1c7d1393bacb9e68ea0712 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:11 2013 +0000 target-ppc: Disentangle get_physical_address() paths Depending on the MSR state, for 64-bit hash MMUs, get_physical_address can either call check_physical (which has further tests for mmu type) or get_segment64. Similarly for 32-bit hash MMUs we can either call check_physucal or get_bat() and get_segment32(). This patch splits off the whole get_physical_addresss() path for hash MMUs into 32-bit and 64-bit versions, handling real mode correctly for such MMUs without going to check_physical and rechecking the mmu type. Correspondingly, the hash MMU specific paths in check_physical() are removed. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 44bc910794eff956ceba0030f0751a26bed748b5 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:10 2013 +0000 target-ppc: Rework get_physical_address() Currently get_physical_address() first checks to see if translation is enabled in the MSR, then in the translation on case switches on the mmu type. Except that for BookE MMUs, translation is always on, and so it has to switch in the "translation off" case as well and do the same thing as the translation on path for those MMUs. Plus, even translation off doesn't behave exactly the same on the various MMU types so there are further mmu type checks in the "translation off" path. As a first step to cleaning this up, this patch moves the switch on mmu type to the top level, then makes the translation on/off check just for those mmu types where it is meaningful. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0480884f1404295ba0d242791e036b05c4957bab Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:09 2013 +0000 target-ppc: Disentangle get_segment() The poorly named get_segment() function handles most of the address translation logic for hash-based MMUs. It has many ugly conditionals on whether the MMU is 32-bit or 64-bit. This patch splits the function into 32 and 64-bit versions, using the switch on mmu_type that's already in the caller (get_physical_address()) to select the right one. Most of the original function remains in mmu_helper.c to support the 6xx software loaded TLB implementations (cleaning those up is a project for another day). Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c69b6151e7f242b02f261f321c392e5ef933176f Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:08 2013 +0000 target-ppc: Disentangle find_pte() 32-bit and 64-bit hash MMU implementations currently share a find_pte function. This results in a whole bunch of ugly conditionals in the shared function, and not all that much actually shared code. This patch separates out the 32-bit and 64-bit versions, putting then in mmu-hash64.c and mmu-has32.c, and removes the conditionals from both versions. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9d7c3f4a2935a70e7299a6862792bbfc48d62211 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:07 2013 +0000 target-ppc: Disentangle pte_check() Currently support for both 32-bit and 64-bit hash MMUs share an implementation of pte_check. But there are enough differences that this means the shared function has several very ugly conditionals on "is_64b". This patch cleans things up by separating out the 64-bit version (putting it into mmu-hash64.c) and the 32-bit hash version (putting it in mmu-hash32.c). Another copy remains in mmu_helper.c, which is used for the 6xx software loaded TLB paths. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 10b4652543313ca82284193fa107151c437f9b04 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:06 2013 +0000 target-ppc: Move SLB handling into a mmu-hash64.c As a first step to disentangling the handling for 64-bit hash MMUs from the rest, we move the code handling the Segment Lookaside Buffer (SLB) (which only exists on 64-bit hash MMUs) into a new mmu-hash64.c file. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8152ceaf6eea6d63f6ee65eb419fff56bb3b987b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:05 2013 +0000 target-ppc: Remove address check for logging One LOG_MMU statement in mmu_helper.c has an odd check on the effective address being translated. I can see no reason for this; I suspect it was a debugging hack from long ago. This patch removes it. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 213c718080f51aa4f054a79c0c5743e0e2c15f67 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:04 2013 +0000 target-ppc: Trivial cleanups in mmu_helper.c This removes the never-used pte64_invalidate() function, and makes ppcmas_tlb_check() static, since it's only used within that file. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9baea4a303323932ec913728173ea38a4af05f3e Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 00:31:03 2013 +0000 target-ppc: Remove vestigial PowerPC 620 support The PowerPC 620 was the very first 64-bit PowerPC implementation, but hardly anyone ever actually used the chips. qemu notionally supports the 620, but since we don't actually have code to implement the segment table, the support is broken (quite likely in other ways too). This patch, therefore, removes all remaining pieces of 620 support, to stop it cluttering up the platforms we actually care about. This includes removing support for the ASR register, used only on segment table based machines. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d6478bc7e92db4669fac701d7bb8c51756b61d8a Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Mar 19 07:41:53 2013 +0000 PPC/GDB: handle read and write of fpscr Although the support of this register may be uncomplete, there are no reason to prevent the debugger from reading or writing it. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b5651605836fd29572fd4c8769af5378d351712 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 15:53:28 2013 +0000 pseries: Move XICS initialization before cpu initialization Currently, the pseries machine initializes the cpus, then the XICS interrupt controller. However, to support the upcoming in-kernel XICS implementation we will need to initialize the irq controller before the vcpus. This patch makes the necesssary rearrangement. This means the xics init code can no longer auto-detect the number of cpus ("interrupt servers" in XICS terminology) and so we must pass that in explicitly from the platform code. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c6304a4a6822f0e3e45c94b89d4e328057355683 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 15:53:27 2013 +0000 target-ppc: Remove CONFIG_PSERIES dependency in kvm.c target-ppc/kvm.c has an #ifdef on CONFIG_PSERIES, for the handling of KVM exits due to a PAPR hypercall from the guest. However, since commit e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 "ppc: express FDT dependency of pSeries and e500 boards via default-configs/", this hasn't worked properly. That patch altered the configuration setup so that although CONFIG_PSERIES is visible from the Makefiles, it is not visible from C files. This broke the pseries machine when KVM is in use. This patch makes a quick and dirty fix, by removing the CONFIG_PSERIES dependency, replacing it with TARGET_PPC64 (since removing it entirely leads to type mismatch errors). Technically this breaks the build when configured with --disable-fdt, since that disables CONFIG_PSERIES on TARGET_PPC64. However, it turns out the build was already broken in that case, so this fixes pseries kvm without breaking anything extra. I'm looking into how to fix that build breakage, but I don't think that need delay applying this patch. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 89dfd6e1b3c0b31ef700203808be2a9a71947d1d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Mar 13 15:53:25 2013 +0000 pseries: Remove "busname" property for PCI host bridge Currently the "spapr-pci-host-bridge" device has a "busname" property which can be used to override the default assignment of qbus names for the bus subordinate to the PHB. We use that for the default primary PCI bus, to make libvirt happy, which expects there to be a bus named simply "pci". The default qdev core logic would name the bus "pci.0", and the pseries code would otherwise name it "pci@800000020000000" which is the name it is given in the device tree based on its BUID. The "busname" property is rather clunky though, so this patch simplifies things by just using a special case hack for the default PHB, setting busname to "pci" when index=0. Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a4e044c30e0044947fd0d69b1888d916f96bba6b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Mar 14 17:59:29 2013 +0000 pseries: Fix breakage in CPU QOM conversion Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad "cpu: Move halted and interrupt_request fields to CPUState" broke the pseries machine. That's because it uses CPU() instead of ENV_GET_CPU() to convert from the global first_cpu pointer (still a CPUArchState) to a CPUState. This patch fixes the breakage. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8b4a89884196aaa9115fee900396498b78245c91 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 19 12:25:43 2013 +0100 serial: Fix debug format strings This fixes the build of hw/serial.c with DEBUG_SERIAL enabled. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 085d813407453e498e05c37d988efba8c6f5af0a Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 18 17:20:07 2013 +0000 Fix typos and misspellings Fix various typos and misspellings. The bulk of these were found with codespell. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a7b66fa7aefb8dce564f0fa665de7965d3007148 Author: Doug Goldstein <cardoe@xxxxxxxxxx> Date: Sun Mar 17 15:43:26 2013 -0500 Advertise --libdir in configure --help output The configure script allows you to supply a libdir via --libdir but was not advertising this in --help. Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx> CC: qemu-trivial@xxxxxxxxxx Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c7cfd65b326fcff9cb0bf53c643768a5f1e6b7a Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Fri Mar 15 14:32:01 2013 +0800 memory: fix a bug of detection of memory region collision The collision reports before and after this patch are: before: warning: subregion collision cfc/4 (pci-conf-data) vs cf8/4 (pci-conf-idx) warning: subregion collision 8000000/f8000000 (pci-hole) vs 0/8000000 (ram-below-4g) warning: subregion collision 100000000/4000000000000000 (pci-hole64) vs 8000000/f8000000 (pci-hole) warning: subregion collision 4d1/1 (kvm-elcr) vs 4d0/1 (kvm-elcr) warning: subregion collision fec00000/1000 (kvm-ioapic) vs 8000000/f8000000 (pci-hole) warning: subregion collision 80/1 (ioport80) vs 7e/2 (kvmvapic) warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000 (pci-hole) warning: subregion collision 81/3 (dma-page) vs 80/1 (ioport80) warning: subregion collision 8/8 (dma-cont) vs 0/8 (dma-chan) warning: subregion collision d0/10 (dma-cont) vs c0/10 (dma-chan) warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont) warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan) warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd) warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data) warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr) warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit) warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc) warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic) warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic) warning: subregion collision 4/2 (acpi-cnt) vs 0/4 (acpi-evt) warning: subregion collision 30/8 (apci-smi) vs 20/10 (apci-gpe0) warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs 8000000/f8000000 (pci-hole) after: warning: subregion collision fec00000/1000 (kvm-ioapic) vs 8000000/f8000000 (pci-hole) warning: subregion collision fed00000/400 (hpet) vs 8000000/f8000000 (pci-hole) warning: subregion collision 0/80 (ich9-pm) vs 8/8 (dma-cont) warning: subregion collision 0/80 (ich9-pm) vs 0/8 (dma-chan) warning: subregion collision 0/80 (ich9-pm) vs 64/1 (i8042-cmd) warning: subregion collision 0/80 (ich9-pm) vs 60/1 (i8042-data) warning: subregion collision 0/80 (ich9-pm) vs 61/1 (elcr) warning: subregion collision 0/80 (ich9-pm) vs 40/4 (kvm-pit) warning: subregion collision 0/80 (ich9-pm) vs 70/2 (rtc) warning: subregion collision 0/80 (ich9-pm) vs 20/2 (kvm-pic) warning: subregion collision 0/80 (ich9-pm) vs 7e/2 (kvmvapic) warning: subregion collision b0000000/10000000 (pcie-mmcfg) vs 8000000/f8000000 (pci-hole) Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9957fc7f1ed731e5228089ead3f350341cdd29c0 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Mar 8 19:58:32 2013 +0100 MinGW: Replace setsockopt by qemu_setsocketopt Instead of adding missing type casts which are needed by MinGW for the 4th argument, the patch uses qemu_setsockopt which was invented for this purpose. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fe42d7fb0f4a05fb393e1efbd681f33a0154c644 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Mar 20 08:27:50 2013 +0100 virtio-ccw, s390-virtio: Use generic virtio-blk macro. Now that virtio-ccw and s390-virtio define all common properties for virtio-blk, we can switch to using the generic DEFINE_VIRTIO_BLK_PROPERTIES macro. CC: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit da0a58b93c88d874233902f459e01300a78e5f9d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Mar 13 15:20:07 2013 +0100 s390-virtio, virtio-ccw: Add config_wce for virtio-blk. There's no reason why we wouldn't want to make the cache mode configurable. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 131cd73705bc5551ae4b64476399d440e8ac55a7 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Wed Mar 13 14:43:22 2013 +0100 virtio-ccw: Add missing blk chs properties. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit afed26082219b49443193b4ac32d113bbcf967fd Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Tue Mar 19 17:34:47 2013 +0100 microblaze: Ignore non-cpu accesses to unmapped areas Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit f7d42093a5e54d48cab62695a374806d4303bd6b Merge: c8a6ae8... c45e5b5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 19 08:01:07 2013 -0500 Merge remote-tracking branch 'kraxel/ipxe.2' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/ipxe.2: Switch to efi-enabled nic roms by default Add efi rom binaries Add Makefile rules to build nic rom binaries with efi support Update ipxe submodule to latest master Add Makefile rules to build nic rom binaries commit c8a6ae8bb95477d5ac11d9b491b603b2d190a96e Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Mar 19 14:23:27 2013 +0800 add a boot option to do strict boot Seabios already added a new device type to halt booting. Qemu can add "HALT" at the end of bootindex string, then seabios will halt booting after trying to boot from all selected devices. This patch added a new boot option to configure if boot from un-selected devices. This option only effects when boot priority is changed by bootindex options, the old style(-boot order=..) will still try to boot from un-selected devices. v2: add HALT entry in get_boot_devices_list() v3: rebase to latest qemu upstream Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Message-id: 1363674207-31496-1-git-send-email-akong@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8510d91ebad522685bc1a29e7bbc1f5050af0d2c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Mar 18 20:28:21 2013 +0000 ui/cocoa.m: Fix compile failures introduced by recent console changes Fix various compilation failures introduced by the recent console changes. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363638501-29603-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 277ba8a6d717abb2f36896cd9877a68d2cf03d77 Merge: 2c8a594... a8e5cc0... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 19 07:58:44 2013 -0500 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Stefan Hajnoczi (2) and others # Via Kevin Wolf * kwolf/for-anthony: virtio-blk: Do not segfault fault if failed to initialize dataplane qemu-iotests: add 052 BDRV_O_SNAPSHOT test block: fix BDRV_O_SNAPSHOT protocol detection qcow2: Fix segfault in qcow2_invalidate_cache sheepdog: show error message for halt status commit 2c8a59422c06fe1e37c85502d92ccdfb5e2ac987 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Mar 19 13:38:09 2013 +0100 char: Fix return type of qemu_chr_fe_add_watch() qemu_chr_fe_add_watch() can return negative errors, therefore it must not have an unsigned return type. For consistency with other qemu_chr_fe_* functions, this uses a standard C int instead of glib types. In situations where qemu_chr_fe_add_watch() is falsely assumed to have succeeded, the serial ports would go into a state where it never becomes ready for transmitting more data; this is fixed by this patch. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f628926bb423fa8a7e0b114511400ea9df38b76a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 19 10:57:56 2013 +0100 fix monitor chardev flow control broke monitor, fix it by adding watch support. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a8e5cc0c076a6e3a62f0e9aad88b007dccf3dd17 Author: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Date: Tue Mar 19 16:27:29 2013 +0800 virtio-blk: Do not segfault fault if failed to initialize dataplane $ ~/usr/bin/qemu-system-x86_64 -enable-kvm -m 1024 -drive if=none,id=drive0,cache=none,aio=native,format=raw,file=/root/Image/centos-6.4.raw -device virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on # make dataplane fail to initialize qemu-system-x86_64: -device virtio-blk-pci,drive=drive0,scsi=off,x-data-plane=on,config-wce=on: device is incompatible with x-data-plane, use config-wce=off *** glibc detected *** /root/usr/bin/qemu-system-x86_64: free(): invalid pointer: 0x00007f001fef12f8 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x7d776)[0x7f00153a5776] /root/usr/bin/qemu-system-x86_64(+0x2c34ec)[0x7f001cf5b4ec] /root/usr/bin/qemu-system-x86_64(+0x342f9a)[0x7f001cfdaf9a] /root/usr/bin/qemu-system-x86_64(+0x33694e)[0x7f001cfce94e] .................... (gdb) bt #0 0x00007f3bf3a12015 in raise () from /lib64/libc.so.6 #1 0x00007f3bf3a1348b in abort () from /lib64/libc.so.6 #2 0x00007f3bf3a51a4e in __libc_message () from /lib64/libc.so.6 #3 0x00007f3bf3a57776 in malloc_printerr () from /lib64/libc.so.6 #4 0x00007f3bfb60d4ec in free_and_trace (mem=0x7f3bfe0129f8) at vl.c:2786 #5 0x00007f3bfb68cf9a in virtio_cleanup (vdev=0x7f3bfe0129f8) at /root/Develop/QEMU/qemu/hw/virtio.c:900 #6 0x00007f3bfb68094e in virtio_blk_device_init (vdev=0x7f3bfe0129f8) at /root/Develop/QEMU/qemu/hw/virtio-blk.c:666 #7 0x00007f3bfb68dadf in virtio_device_init (qdev=0x7f3bfe0129f8) at /root/Develop/QEMU/qemu/hw/virtio.c:1092 #8 0x00007f3bfb50da46 in device_realize (dev=0x7f3bfe0129f8, err=0x7fff479c9258) at hw/qdev.c:176 ............................. In virtio_blk_device_init(), the memory which vdev point to is a static member of "struct VirtIOBlkPCI", not heap memory, and it does not get freed. So we shoule use virtio_common_cleanup() to clean this VirtIODevice rather than virtio_cleanup(), which attempts to free the vdev. This error was introduced by commit 05ff686536f408ba6e8426b1b54d25bd3379fda2 recently. Signed-off-by: Dunrong Huang <huangdr@xxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f95e26ddf526a025aa1334bbe527739397970443 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 18 17:58:54 2013 +0100 qemu-iotests: add 052 BDRV_O_SNAPSHOT test Check that writes to an image opened with BDRV_O_SNAPSHOT do not modify the underlying image file. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4d70655bcb852ea0a006d3923f0b0a9c69ff462e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 18 17:58:53 2013 +0100 block: fix BDRV_O_SNAPSHOT protocol detection realpath(3) is used to get an absolute path to the image file when creating a -drive snapshot=on temporary qcow2. This does not work for protocols since their filenames ("proto:foo:...") do not correspond to file system paths. Commit 7c96d46ec245d73fd76726588409f9abe4bd5dc1 ("Let snapshot work with protocols") skipped realpath(3) for protocols. Later on the "raw" format was introduced and broke the check. Use path_has_protocol(filename) to decide if this image uses a protocol or a filename. Reported-by: Richard Jones <rjones@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acdfb480ba7e2779bdbffb5280cf12ff6e43669c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Mar 18 13:08:10 2013 +0100 qcow2: Fix segfault in qcow2_invalidate_cache Need to pass an options QDict to qcow2_open() now. This fixes a segfault on the migration target with qcow2. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit fca23f0ad211e4debf80796a65165d0eea146424 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Mar 18 14:27:55 2013 +0800 sheepdog: show error message for halt status Sheepdog (neither quorum nor unsafe mode) will refuse to serve IO requests when number of alive nodes is less than that of copies specified by users. This will return 0x19 to QEMU client which currently doesn't recognize it. This patch adds an error description when QEMU client receives it, other than plainly printing 'Invalid error code' Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b1e5fff4afd0c47148b0d9f9341887ae2c3eb9af Author: Michael Walle <michael@xxxxxxxx> Date: Wed Mar 6 20:23:32 2013 +0100 configure: rename OpenGL feature to GLX As the probe now actually checks for the availability of GLX, rename it accordingly. The only user of this feature is the milkymist-tmu2 model. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit d3fcbb16789c6f975ba6e22d8a2ba477519f51bc Author: Michael Walle <michael@xxxxxxxx> Date: Wed Mar 6 20:16:58 2013 +0100 configure: proper OpenGL/GLX probe Probe for GL and GLX symbols and X11 library. This fixes a build error where the header files are available but the libraries are not. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 6635075596e0ae583de9c04ff605e16ceaa7d294 Author: Michael Walle <michael@xxxxxxxx> Date: Sun Mar 3 23:17:48 2013 +0100 target-lm32: use HELPER() macro Instead of hardcoding the function name, use the HELPER() macro for this. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit a5b0f6d5c0f6678c078354c432a1f0943374f087 Author: Michael Walle <michael@xxxxxxxx> Date: Tue Feb 26 19:51:52 2013 +0100 target-lm32: flush tlb after clearing env The tlb data is stored within the CPU env. Therefore, the initialization has to be done after we clear the environment. Otherwise the tlb will have a valid entry for address 0x0. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit de55c4bd8bd163ec6c10edc085193bbcf8f9e15e Author: Michael Walle <michael@xxxxxxxx> Date: Mon Feb 25 18:28:57 2013 +0100 target-lm32: remove dead code Signed-off-by: Michael Walle <michael@xxxxxxxx> commit df5eb7d2c871ccd708e0f45cdc5d79b73550731b Author: Michael Walle <michael@xxxxxxxx> Date: Fri Dec 14 18:14:04 2012 +0100 target-lm32: fix cmpgui and cmpgeui opcodes For unsigned compares the immediate has to be zero extended. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 6036e9d87e73c511fef48a3c06267f92e613fca9 Author: Michael Walle <michael@xxxxxxxx> Date: Fri Dec 14 18:13:06 2012 +0100 tests: tcg: lm32: add more test cases Esp. for testing zero/sign extend in compare operations. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 608a03c1df217f2111765575a91c6448218369a7 Author: Michael Walle <michael@xxxxxxxx> Date: Wed Sep 12 19:48:42 2012 +0200 target-lm32: don't log cpu state in translation Don't dump the cpu state because it can also be enabled by the "-d cpu" parameter. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 562f5f5d9e8415cac3ca2eb768dabf068e8e0f4a Author: Michael Walle <michael@xxxxxxxx> Date: Tue Jul 31 00:04:57 2012 +0200 lm32_uart: fix receive buffering Inform qemu-char when more input data can be received. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 44ac582d80688ea049c96a20868f4333c6885404 Author: Michael Walle <michael@xxxxxxxx> Date: Tue Jul 31 00:04:57 2012 +0200 milkymist-uart: fix receive buffering Inform qemu-char when more input data can be received. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit ab2b9f174db088633922eaa82c2bcffd84e6bb94 Author: Michael Walle <michael@xxxxxxxx> Date: Mon Jul 16 19:05:59 2012 +0200 lm32-dis: fix NULL pointer dereference Signed-off-by: Michael Walle <michael@xxxxxxxx> commit b92e062a6f53251feef0969135b539d1fb33f7d6 Author: Michael Walle <michael@xxxxxxxx> Date: Thu Apr 5 19:52:54 2012 +0200 target-lm32: fix debug memory access CPU models which have the LM32_FLAG_IGNORE_MSB flag set will shadow the lower 2GB to the upper 2GB memory space. This will fix the debug memory access used by qemu console and GDB to match this behaviour. Signed-off-by: Michael Walle <michael@xxxxxxxx> commit 2d62a95766025e6a0a333528278936e2cc8bf978 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:28 2013 +0100 virtio-blk: cleanup: remove qdev field. The qdev field is no longer needed, just drop it. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-12-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1cc91b7df687289abc0ae09083ac564d01408be8 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:27 2013 +0100 virtio-blk: cleanup: QOM cast Use QOM casts inside virtio-blk. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-11-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 05ff686536f408ba6e8426b1b54d25bd3379fda2 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:26 2013 +0100 virtio-blk: cleanup: init and exit functions. As all virtio-blk-* are switched to the new API, we can remove the separate init/exit for the old API. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-10-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3400c455048a8db26db1b537ea32fa21335ea301 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:25 2013 +0100 virtio-blk-ccw switch to new API. Here the virtio-ccw-s390 is modified for the new API. The device virtio-ccw-s390 extends virtio-ccw-device as before. It creates and connects a virtio-ccw during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-9-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 55d11e01cca9b83b8cdccbd29d4f078cbe4a185c Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:24 2013 +0100 virtio-blk-s390: switch to the new API. Here the virtio-blk-s390 is modified for the new API. The device virtio-blk-s390 extends virtio-s390-device as before. It creates and connects a virtio-blk during the init. The properties are not modified. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-8-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 653ced071b061bbd9cc7d03374be93dcefb37910 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:23 2013 +0100 virtio-blk-pci: switch to new API. Here the virtio-blk-pci is modified for the new API. The device virtio-blk-pci extends virtio-pci. It creates and connects a virtio-blk during the init. The properties are not changed. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-7-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1c028ddfb0c5004c8ec86c96ae09068026e77a38 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:22 2013 +0100 virtio-blk: add the virtio-blk device. Create virtio-blk which extends virtio-device, so it can be connected on virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-6-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da3dcefa648f92bfef2f99351fb6ec6a86da4695 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:21 2013 +0100 virtio-blk: don't use pointer for configuration. The configuration field must not be a pointer as it will be used for virtio-blk properties. So *blk is replaced by blk in VirtIOBlock structure. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1363624648-16906-5-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 10479a80893fb2666026ce0fea2251be3070b6e2 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:20 2013 +0100 virtio-pci: fix hot unplug. Hot unplug failed because it tried to free the virtio device two times. This fix the issue by removing the call to virtio_bus_destroy_device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1363624648-16906-4-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cbd19063e75c64ac5e4029f76198c7ba65a63b00 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:19 2013 +0100 virtio-x-bus: fix allow_hotplug assertion. This set allow_hotplug for each existing virtio-x-bus, allowing the refactored devices to be hot pluggable. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Message-id: 1363624648-16906-3-git-send-email-fred.konrad@xxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f1b24e840f9f85a2bb3912e4507d887e7858219d Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Mar 18 17:37:18 2013 +0100 virtio: make virtio device's structures public. These structures must be made public to avoid two memory allocations for refactored virtio devices. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1363624648-16906-2-git-send-email-fred.konrad@xxxxxxxxxxxxx Changes V4 <- V3: * Rebased on current git. Changes V3 <- V2: * Style correction spotted by Andreas (virtio-scsi.h). * Style correction for virtio-net.h. Changes V2 <- V1: * Move the dataplane include into the header (virtio-blk). Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e531761d63b7f8fe6b6423fafb3616ebbff768aa Merge: b1999e8... 1562e53... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 18 07:34:24 2013 -0500 Merge remote-tracking branch 'kraxel/pixman.v8' into staging # By Gerd Hoffmann (18) and others # Via Blue Swirl (1) and Gerd Hoffmann (1) * kraxel/pixman.v8: (37 commits) console: remove ds_get_* helper functions console: zap color_table console: stop using DisplayState in gfx hardware emulation console: zap displaystate from dcl callbacks cocoa: stop using DisplayState spice: stop using DisplayState sdl: stop using DisplayState vnc: stop using DisplayState gtk: stop using DisplayState console: add surface_*() getters console: rework DisplaySurface handling [dcl/ui side] console: rework DisplaySurface handling [vga emu side] sdl: drop dead code qxl: better vga init in enter_vga_mode qxl: zap qxl0 global spice: zap sdpy global console: kill DisplayState->opaque console: fix displaychangelisteners interface s390: Fix cpu refactoring fallout. target-mips: fix rndrashift_short_acc and code for EXTR_ instructions ... commit 1562e53112fd1082c656a06d953a7447ab17e6e1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 13:40:47 2013 +0100 console: remove ds_get_* helper functions Switch the few remaining ds_get_* uses in console.c over to the new surface_* accessors. While doing so tripped over a few leftovers from commit a93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0 as indicator for textmode rendering). Fixed them up. Finally dropped ds_get_* helper helpers. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cf6f05481affb600da22dba3c0bc2564e918e8f1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Mar 6 09:50:51 2013 +0100 console: zap color_table qemu_create_surface hands out 32bpp surfaces. So we can just use color_table_rgb directly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c78f71378a345ea240c288993ca1378ded5504b9 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Mar 5 15:24:14 2013 +0100 console: stop using DisplayState in gfx hardware emulation Use QemuConsole instead. Updates interfaces in console.[ch] and adapts gfx hardware emulation code. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bc2ed9704fff2c721e4056ab5281f0291718bfa6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 1 13:03:04 2013 +0100 console: zap displaystate from dcl callbacks Now that nobody depends on DisplayState in DisplayChangeListener callbacks any more we can remove the parameter from all callbacks. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5e00d3ac475fb4c9afa17612a908e933fe142f00 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 1 12:52:06 2013 +0100 cocoa: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 71874c1751ebb7368eaa023a35ac919d2c1c5e4c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 16:42:28 2013 +0100 spice: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8db9bae94eadcb7d5d07af1ba0c642aafafc5498 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 1 09:01:13 2013 +0100 sdl: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d39fa6d86d07646e3481e5c3e45a984bff590642 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 17:16:48 2013 +0100 vnc: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9d9801cf803cdceaa4845fe27150b24d5ab083e6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 16:10:02 2013 +0100 gtk: stop using DisplayState Rework DisplayStateListener callbacks to not use the DisplayState any more. Factor out the window size handling to a separate function, so the zoom callbacks can call that directly instead of abusing the gd_switch DisplayStateListener callback for that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 626e3b34e30bc62d4f25f7aa4e23a346eba1a2c0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 15:24:14 2013 +0100 console: add surface_*() getters Add convinence wrappers to query DisplaySurface properties. Simliar to ds_get_*, but operating in the DisplaySurface not the DisplayState. With this patch in place ui frontents can stop using DisplayState in the rendering code paths, they can simply operate using the DisplaySurface passed in via dpy_gfx_switch callback. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c12aeb860c63ba83190f962e2f0a1c5fe18ad3a6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 15:03:04 2013 +0100 console: rework DisplaySurface handling [dcl/ui side] Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener callbacks with a dpy_gfx_switch callback which notifies the ui code when the framebuffer backing storage changes. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit da229ef3b3c5709b01d62e7a6e213b31bca33d16 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 10:48:02 2013 +0100 console: rework DisplaySurface handling [vga emu side] Decouple DisplaySurface allocation & deallocation from DisplayState. Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surface function. This handles the graphic hardware emulation. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 468dfd6de2df3cbaed8c5cc43f8fbde6f94f9dbc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 10:48:36 2013 +0100 sdl: drop dead code DisplayAllocator removal (commit 187cd1d9f30d13f0d0ef682e4d91cfa3e4cbd472) made this a nop. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c099e7aa0295678859d58e9e60b7619f6ae3bac8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 11:08:50 2013 +0100 qxl: better vga init in enter_vga_mode Ask the vga core to update the display. Will trigger dpy_gfx_resize if needed. More complete than just calling dpy_gfx_resize. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c6c06853d99127c03778fc1bf9bc2d96a05c108e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 12:15:00 2013 +0100 qxl: zap qxl0 global DisplayChangeListener is passed now to all DisplayChangeListenerOps callbacks, so we can use that to access the qxl state and kill the qxl0 global variable. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9c80a315b47a64043f6b91bd6f14352a455b323e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 14:47:07 2013 +0100 spice: zap sdpy global DisplayChangeListener is passed now to all DisplayChangeListenerOps callbacks, so we can use that to access the spice display state and kill the sdpy global variable. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 21ef45d71221b4577330fe3aacfb06afad91ad46 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 11:34:31 2013 +0100 console: kill DisplayState->opaque It's broken by design. There can be multiple DisplayChangeListener instances, so they simply can't store state in the (single) DisplayState struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn. With DisplayChangeListenerOps having a more sane interface now we can simply use the DisplayChangeListener pointer to get access to our private data instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7c20b4a374d0016e3fce005690fb428354a56621 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Nov 13 14:51:41 2012 +0100 console: fix displaychangelisteners interface Split callbacks into separate Ops struct. Pass DisplayChangeListener pointer as first argument to all callbacks. Uninline a bunch of display functions and move them from console.h to console.c Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Feb 26 17:46:11 2013 +0100 Switch to efi-enabled nic roms by default All PCI nics are switched to EFI-enabled roms by default. They are composed from three images (legacy, efi ia32 & efi x86), so classic pxe booting will continue to work. Exception: eepro100 is not switched, it uses a single rom for all emulated eepro100 variants, then goes patch the rom header on the fly with the correct PCI IDs. I doubt that will work as-is with the efi roms. Keep old roms for 1.4+older machine types via compat properties, needed because the efi-enabled roms are larger so the pci rom bar size would change. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8a24d3cb9be9bca2b77a4e9eb1a62ed735af712e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Mar 4 10:19:29 2013 +0100 Add efi rom binaries Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2f3f430d7cca3f67ef9b539dbc008d71eb6a3bd0 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Feb 26 16:45:58 2013 +0100 Add Makefile rules to build nic rom binaries with efi support "make -C roms efirom" will build rom binaries with EFI support. They are composed from three images: legacy bios, efi ia32 and efi x64. So netbooting via SeaBIOS will continue to work like it does today, and additionally we get network support for EFI. This target needs the EfiRom utility (shipped with edk2) somewhere in the $PATH. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c3d8dab3298c64267411fb470e3d1e18871a359b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 09:14:12 2013 +0100 Update ipxe submodule to latest master Needed for efi support. ipxe is grown a bit, so *not* recompiling the (non-efi) pxe roms because that would make some pxe roms larger than 64k, which in turn would be a guest-visible change because the rom bar size grows from 64k to 128k. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2397edd7354ebbcebf3cd55dc3c0b1fe7621794b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 8 16:35:08 2013 +0100 Add Makefile rules to build nic rom binaries "make -C roms pxerom" will build the ipxe roms and update the binaries in pc-bios/, i.e. it basically documents how the build process of our current nic roms works. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 225dc991b03f0f034aa348f5cf499de9d0979107 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Fri Mar 15 10:57:40 2013 +0100 s390: Fix cpu refactoring fallout. Commit 259186a7 "cpu: Move halted and interrupt_request fields to CPUState" seems to have missed one instance in target-s390x/kvm.c: /home/cohuck/git/qemu/target-s390x/kvm.c: In function â??kvm_arch_process_async_eventsâ??: /home/cohuck/git/qemu/target-s390x/kvm.c:319: error: â??CPUS390XStateâ?? has no member named â??haltedâ?? /home/cohuck/git/qemu/target-s390x/kvm.c:320: warning: control reaches end of non-void function make[1]: *** [target-s390x/kvm.o] Error 1 Let's just switch to cs->halted. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7fb7377594887db99a2100adcddf3bd6394ef540 Merge: 8b758d0... f8b9fe2... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Mar 17 17:44:47 2013 +0000 Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm: xilinx_spips: QOM styling fixes xilinx_spips: Add missing dual-bus snoop commands xilinx_spips: Fix bus setup conditional check xilinx_spips: Set unused IRQs to NULL xilinx_zynq: added pl330 to machine model pl330: Initial version iov: Factor out hexdumper hw/vexpress: Set reset values for daughterboard oscillators hw/arm_sysctl: Implement SYS_CFG_OSC function hw/vexpress: Pass voltage sensor properties to sysctl device hw/arm_sysctl: Implement SYS_CFG_VOLT qdev: Implement (variable length) array properties hw/arm_sysctl: Convert from qdev init to instance_init hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way hw/vexpress: Pass proc_id via VEDBoardInfo commit 0402a5d65ec004df5345d1f736e2ddaa7aee6665 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Mar 6 14:58:59 2013 +0200 qdev: DEVICE_DELETED event libvirt has a long-standing bug: when removing the device, it can request removal but does not know when the removal completes. Add an event so we can fix this in a robust way. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 8b758d0568a986d58c254b3c209691c82e0f82a1 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Fri Mar 15 18:56:19 2013 +0100 target-mips: fix rndrashift_short_acc and code for EXTR_ instructions Fix for rndrashift_short_acc to set correct value to higher 64 bits. This change also corrects conditions when bit 23 of the DSPControl register is set. The existing test files have been extended with several examples that trigger the issues. One bug/example in the test file for EXTR_RS_W has been found and reported by Klaus Peichl. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f8b9fe249a706bfed61e0bb66c73394553696382 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:59 2013 +0000 xilinx_spips: QOM styling fixes Few fixes for the latest QOM styling guides. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: de9daeee6c142e8b57ad042fd680cedcdc94d2fc.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 08a9635b68757e18a6a8bf8569353b40bb6c1fd1 Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Date: Fri Mar 15 16:41:59 2013 +0000 xilinx_spips: Add missing dual-bus snoop commands Added additional commands to the switch to check for when snooping commands in dual bus mode setups. Cleaned up code to use an enum. Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 848c116c711dab0af10729a487968384aadd9faf.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e0891bd8bfd3349fc3fecde30e51900059f53f11 Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Date: Fri Mar 15 16:41:59 2013 +0000 xilinx_spips: Fix bus setup conditional check The R_LQPSI_CFG register has the LQSPI_CFG_SEP_BUS and LQSPI_CFG_TWO_MEM bits. Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: d76c8e364c80a42352ae4f0661aff2cd17ad32a4.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2790cd911e563f7fec7eeb7856b7f5f54437cc0a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 xilinx_spips: Set unused IRQs to NULL Unused CS lines should init to 0 to avoid segfaulting when accessing an unattached QSPI controller. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: c1e45198032106e69e8fe9339fc2e6348d524fcd.1362373359.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 7451afb67136275f2461f2d23139f2abed1f15b3 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 xilinx_zynq: added pl330 to machine model Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 5bc295bd2aa50dfe573f428574dbd7d8add7b3f8.1361853677.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 06a1cea5f631f6ac69f85ae07bb47ef47b88f5f7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 pl330: Initial version Device model for Primecell PL330 DMA controller. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Kirill Batuzov <batuzovk@xxxxxxxxx> Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 098aac26233d7334bed2bca4f06f539638ca6d24.1361853677.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 6ff66f50f0999c3455c39de68fc2d2949963c796 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 iov: Factor out hexdumper Factor out the hexdumper functionality from iov for all to use. Useful for creating verbose debug printfery that dumps packet data. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: faaac219c55ea586d3f748befaf5a2788fd271b8.1361853677.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9c7d489379c2a2923b4805d337dfd54f2f432449 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:58 2013 +0000 hw/vexpress: Set reset values for daughterboard oscillators Set the reset values for the VExpress daughterboard oscillators via the new sysctl properties. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1f81f94bebc2f8c4b32a89910d071099a67dc44d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_OSC function Implement the SYS_CFG_OSC function. Since the idea of programmable clock rates doesn't make much sense for QEMU, we simply allow the clock rate to be read back as written. The number and value of the daughterboard oscillators varies between daughterboards, so we provide an array property to allow their reset values to be configured. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 31410948bc1c8001098b076caf35aab8a5cf063d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 hw/vexpress: Pass voltage sensor properties to sysctl device Pass voltage sensor properties to the sysctl device. Since these are daughterboard specific, we specify them via the VEDBoardInfo structure. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1359985476-29380-9-git-send-email-peter.maydell@xxxxxxxxxx commit 8bd4824a6122292060a318741595927e0d05ff5e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_VOLT Implement the SYS_CFG_VOLT registers which return the voltage of various supplies on motherboard and daughterboard. Since QEMU implements a perfectly stable power supply these registers always return a constant value. The number and value of the daughterboard voltages is dependent on the specific daughterboard, so we use a property array to allow the board to configure them appropriately. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 0be6bfac6262900425c10847de513ee2490078d3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:57 2013 +0000 qdev: Implement (variable length) array properties Add support for declaring array properties for qdev devices. These work by defining an initial static property 'len-arrayname' which the user of the device should set to the desired size of the array. When this property is set, memory is allocated for the array elements, and dynamic properties "arrayname[0]", "arrayname[1]"... are created so the user of the device can then set the values of the individual array elements. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1f56f50ac484653fe996c37ac894418a34f92b89 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Convert from qdev init to instance_init Convert this device from old-style qdev init to an instance_init function. We don't need a realize function yet, though. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 291155cbc54212a451d0b899a01b6e3e14ed9135 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op SYS_CFG_DVIMODE allows the guest to select whether the output DVI signal is VGA, SVGA, XGA, SGA or UXGA. Since this makes no difference to QEMU, implement writes as a no-op so Linux doesn't complain. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 8ff05c9842e28888b936dbd960f6416cee5addb6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op SYS_CFG_MUXFPGA allows the guest to select whether the video output should come from the motherboard's LCD controller or the daughterboard's one. Since QEMU doesn't currently support selecting the video output like this, implement as a no-op, so Linux doesn't complain about the register not being implemented. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 71538323358d77f6472d66a30e948a1c23bd9e87 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way The SYS_CFGCTRL register consists of separate fields for DCC, function, site, position and device, as well as a read/write bit. Refactor the code handling SYS_CFGCTRL writes to make it easier to add support for functions like SYS_CFG_OSC which support multiple device fields. We also pull the handling out into its own function for clarity, as there are potentially a lot of implementable subfunctions. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit cdef10bb9373c2c22c517a4deef2363c7ebd5d48 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 15 16:41:56 2013 +0000 hw/vexpress: Pass proc_id via VEDBoardInfo Pass the daughterboard-specific proc_id property to the code that creates the sysctl device via the VEDBoardInfo struct, rather than by having the daughterboard init function write to a uint32_t* argument. This is a cleaner way to pass the info around, and is in line with the way we are going to handle voltage and oscillator initialization. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b1999e87b4d42305419329cae459e1b43f706d96 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Mar 12 13:57:28 2013 +1100 Fix TAGS creation Currently the Makefile creates TAGS for emacs with the command: find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags That works only if xargs ends up invoking etags just once. If xargs runs etags several times, as it will if there are enough files, then the later invocations will overwrite the output from the earlier invocations. This patch uses the etags --append option to fix the bug. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Message-id: 1363057048-21534-1-git-send-email-david@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dc0b0616f726956001be09e9a65a6e0b0bd939db Merge: d4d7682... 3618a09... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 15 10:47:21 2013 -0500 Merge remote-tracking branch 'stefanha/block' into staging # By Stefan Hajnoczi (14) and others # Via Stefan Hajnoczi * stefanha/block: (28 commits) blockdev: Fix up copyright and permission notice qemu-iotests: use -nographic in test case 007 qemu-iotests: add tests for rebasing zero clusters dataplane: fix hang introduced by AioContext transition coroutine: use AioContext for CoQueue BH threadpool: drop global thread pool block: add bdrv_get_aio_context() aio: add a ThreadPool instance to AioContext threadpool: add thread_pool_new() and thread_pool_free() threadpool: move globals into struct ThreadPool main-loop: add qemu_get_aio_context() sheepdog: set io_flush handler in do_co_req sheepdog: use non-blocking fd in coroutine context qcow2: make is_allocated return true for zero clusters qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount() qcow2: drop flush in update_cluster_refcount() qcow2: flush in qcow2_update_snapshot_refcount() qcow2: set L2 cache dependency in qcow2_alloc_bytes() qcow2: flush refcount cache correctly in qcow2_write_snapshots() qcow2: flush refcount cache correctly in alloc_refcount_block() ... commit d4d7682484f339d70355b165a15f8f5e83638e40 Merge: 4f30649... 2362ecc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Mar 15 10:47:00 2013 -0500 Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging # By Christian Borntraeger (1) and Cornelia Huck (1) # Via Cornelia Huck * cohuck/virtio-ccw-upstr: virtio-ccw: Wire up virtio-rng. virtio-ccw: remove qdev_unparent in unplug routing commit 3618a094022e984d4e045c6db21aed961b7c6fc9 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Mar 14 13:59:53 2013 +0100 blockdev: Fix up copyright and permission notice Screwed up in commit 666daa68. Thanks to Kevin Wolf for reminding me to fix this. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 804dd41792c8bdc0c8b34c8e580882ff8ef736d8 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 14 17:06:55 2013 +0100 qemu-iotests: use -nographic in test case 007 A comment explains that -nographic hangs test case 007. This is no longer the case so add -nographic. This makes the test suite faster and more pleasant to run since no windows pop up. I am not sure exactly when -nographic starting working for this case but there is no fundamental reason why graphics are needed here. Make sure the serial port is not on stdio, it would conflict with the monitor. Also remove unnecessary trailing whitespace on these lines. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acbf30ec601b1f817febc4500025b7c4181312c4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 13 15:58:13 2013 +0100 qemu-iotests: add tests for rebasing zero clusters If zero clusters are erroneously treated as unallocated, "qemu-img rebase" will copy the backing file's contents onto the cluster. The bug existed also in image streaming, but since the root cause was in qcow2's is_allocated implementation it is enough to test it with qemu-img. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 485e3ce88e8af0e5311dd626f399b3a1e0846dd6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 13 15:14:15 2013 +0100 dataplane: fix hang introduced by AioContext transition The bug is that the EventNotifiers do have a NULL io_flush callback. Because _none_ of the callbacks on the dataplane AioContext have such a callback, aio_poll will simply do nothing. Fixed by adding the callbacks: the ioeventfd will always be polled (this can change in the future to pause/resume the processing during live snapshots or similar operations); the ioqueue will be polled if there are outstanding requests. I must admit I have screwed up my testing somehow, because commit 2c20e71 does not work even if cherry-picked on top of 1.4.0, and this patch fixes it there as well. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 28f082469650a0f4c0e37b4ccd6f9514b1a0698d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:50 2013 +0100 coroutine: use AioContext for CoQueue BH CoQueue uses a BH to awake coroutines that were made ready to run again using qemu_co_queue_next() or qemu_co_queue_restart_all(). The BH currently runs in the iothread AioContext and would break coroutines that run in a different AioContext. This is a slightly tricky problem because the lifetime of the BH exceeds that of the CoQueue. This means coroutines can be awoken after CoQueue itself has been freed. Also, there is no qemu_co_queue_destroy() function which we could use to handle freeing resources. Introducing qemu_co_queue_destroy() has a ripple effect of requiring us to also add qemu_co_mutex_destroy() and qemu_co_rwlock_destroy(), as well as updating all callers. Avoid doing that. We also cannot switch from BH to GIdle function because aio_poll() does not dispatch GIdle functions. (GIdle functions make memory management slightly easier because they free themselves.) Finally, I don't want to move unlock_queue and unlock_bh into AioContext. That would break encapsulation - AioContext isn't supposed to know about CoQueue. This patch implements a different solution: each qemu_co_queue_next() or qemu_co_queue_restart_all() call creates a new BH and list of coroutines to wake up. Callers tend to invoke qemu_co_queue_next() and qemu_co_queue_restart_all() occasionally after blocking I/O, so creating a new BH for each call shouldn't be massively inefficient. Note that this patch does not add an interface for specifying the AioContext. That is left to future patches which will convert CoQueue, CoMutex, and CoRwlock to expose AioContext. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c4d9d19645a484298a67e9021060bc7c2b081d0f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:49 2013 +0100 threadpool: drop global thread pool Now that each AioContext has a ThreadPool and the main loop AioContext can be fetched with bdrv_get_aio_context(), we can eliminate the concept of a global thread pool from thread-pool.c. The submit functions must take a ThreadPool* argument. block/raw-posix.c and block/raw-win32.c use aio_get_thread_pool(bdrv_get_aio_context(bs)) to fetch the main loop's ThreadPool. tests/test-thread-pool.c must be updated to reflect the new thread_pool_submit() function prototypes. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 85d126f3ee666702ac514c66606c62d276c4341c Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:48 2013 +0100 block: add bdrv_get_aio_context() For now bdrv_get_aio_context() is just a stub that calls qemu_aio_get_context() since the block layer is currently tied to the main loop AioContext. Add the stub now so that the block layer can begin accessing its AioContext. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9b34277d23a6fb15eb9513006c96d8026beeea1f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:47 2013 +0100 aio: add a ThreadPool instance to AioContext This patch adds a ThreadPool to AioContext. It's possible that some AioContext instances will never use the ThreadPool, so defer creation until aio_get_thread_pool(). The reason why AioContext should have the ThreadPool is because the ThreadPool is bound to a AioContext instance where the work item's callback function is invoked. It doesn't make sense to keep the ThreadPool pointer anywhere other than AioContext. For example, block/raw-posix.c can get its AioContext's ThreadPool and submit work. Special note about headers: I used struct ThreadPool in aio.h because there is a circular dependency if aio.h includes thread-pool.h. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f7311ccc630d925e7351e9440b7ad8bc6f0a51de Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:46 2013 +0100 threadpool: add thread_pool_new() and thread_pool_free() ThreadPool is tied to an AioContext through its event notifier, which dictates in which AioContext the work item's callback function will be invoked. In order to support multiple AioContexts we need to support multiple ThreadPool instances. This patch adds the new/free functions. The free function deserves special attention because it quiesces remaining worker threads. This requires a new condition variable and a "stopping" flag to let workers know they should terminate once idle. We never needed to do this before since the global threadpool was not explicitly destroyed until process termination. Also stash the AioContext pointer in ThreadPool so that we can call aio_set_event_notifier() in thread_pool_free(). We didn't need to hold onto AioContext previously since there was no free function. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b811203cf2fbf83e26f8e8feb2c77784259a4cbd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:45 2013 +0100 threadpool: move globals into struct ThreadPool Move global variables into a struct so multiple thread pools can be supported in the future. This patch does not change thread-pool.h interfaces. There is still a global thread pool and it is not yet possible to create/destroy individual thread pools. Moving the variables into a struct first makes later patches easier to review. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5f3aa1ff4781f39e05b9892d58319a09fedc8918 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Mar 7 13:41:44 2013 +0100 main-loop: add qemu_get_aio_context() It is very useful to get the main loop AioContext, which is a static variable in main-loop.c. I'm not sure whether qemu_get_aio_context() will be necessary in the future once devices focus on using their own AioContext instead of the main loop AioContext, but for now it allows us to refactor code to support multiple AioContext while actually passing the main loop AioContext. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ed9ba7246758e3250849bfa0a055b4eb98fc5152 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Mar 12 16:05:43 2013 +0900 sheepdog: set io_flush handler in do_co_req If an io_flush handler is not set, qemu_aio_wait doesn't invoke callbacks. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0d6db300cd95339cec6b8ab2ef46bd7cdb040959 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Tue Mar 12 16:05:42 2013 +0900 sheepdog: use non-blocking fd in coroutine context Using a blocking socket in the coroutine context reduces the chance of switching to other work. This patch makes the sheepdog driver use a non-blocking fd always. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 381b487d54ba18c73df9db8452028a330058c505 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Mar 6 18:02:01 2013 +0100 qcow2: make is_allocated return true for zero clusters Otherwise, live migration of the top layer will miss zero clusters and let the backing file show through. This also matches what is done in qed. QCOW2_CLUSTER_ZERO clusters are invalid in v2 image files. Check this directly in qcow2_get_cluster_offset instead of replicating the test everywhere. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3647917919dfce5f731755f0ac5955a64bc12570 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:35 2013 +0100 qcow2: drop unnecessary flush in qcow2_update_snapshot_refcount() We already flush when the function completes. There is no need to flush after every compressed cluster. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f9cb2860bd12e223036b61a1f5d1444e57b7efce Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:34 2013 +0100 qcow2: drop flush in update_cluster_refcount() The update_cluster_refcount() function increments/decrements a cluster's refcount and then returns the new refcount value. There is no need to flush since both update_cluster_refcount() callers already take care of this: 1. qcow2_alloc_bytes() calls update_cluster_refcount() when compressed sectors will be appended to an existing cluster with enough free space. qcow2_alloc_bytes() already flushes so there is no need to do so in update_cluster_refcount(). 2. qcow2_update_snapshot_refcount() sets a cache dependency on refcounts if it needs to update L2 entries. It also flushes before completing. Removing this flush significantly speeds up qcow2 snapshot creation: $ qemu-img create -f qcow2 test.qcow2 -o size=50G,preallocation=metadata $ time qemu-img snapshot -c new test.qcow2 Time drops from more than 3 minutes to under 1 second. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 2154f24e4e3be4435f17fa4382032f95f19e2972 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:33 2013 +0100 qcow2: flush in qcow2_update_snapshot_refcount() Users of qcow2_update_snapshot_refcount() do not flush consistently. qcow2_snapshot_create() flushes but qcow2_snapshot_goto() and qcow2_snapshot_delete() do not. Solve this by moving the bdrv_flush() into qcow2_update_snapshot_refcount(). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c1f5bafd70a8d9366570a3de472ef108415cd631 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:32 2013 +0100 qcow2: set L2 cache dependency in qcow2_alloc_bytes() Compressed writes use qcow2_alloc_bytes() to allocate space with byte granularity. The affected clusters' refcounts will be incremented but we do not need to flush yet. Set a L2 cache dependency on the refcount block cache, so that the refcounts get written out before the L2 updates. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f6977f15561973d4a67b6aa46da88aa678c505dd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:31 2013 +0100 qcow2: flush refcount cache correctly in qcow2_write_snapshots() Since qcow2 metadata is cached we need to flush the caches, not just the underlying file. Use bdrv_flush(bs) instead of bdrv_flush(bs->file). Also add the error return path when bdrv_flush() fails and move the flush after checking for qcow2_alloc_clusters() failure so that the qcow2_alloc_clusters() error return value takes precedence. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9991923b262dc35f6dd8393ab4853edd7fc3724f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Mar 4 15:02:30 2013 +0100 qcow2: flush refcount cache correctly in alloc_refcount_block() update_refcount() affects the refcount cache, it does not write to disk. Therefore bdrv_flush(bs->file) does nothing. We need to flush the refcount cache in order to write out the refcount updates! While we're here also add error returns when qcow2_cache_flush() fails. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 74c4510a3cf7c369ee524c6f8fa8a87cf08ba608 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:08 2013 +0100 qcow2: Allow lazy refcounts to be enabled on the command line qcow2 images now accept a boolean lazy_refcounts options. Use it like this: -drive file=test.qcow2,lazy_refcounts=on If the option is specified on the command line, it overrides the default specified by the qcow2 header flags that were set when creating the image. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0006383e1549b6f9b264575d124c553efca19d62 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:07 2013 +0100 block: Support driver specific options in drive_init() Any non-default -drive options are now passed down to the block drivers. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bb44619b06c0bef20b658ff532cf850c16362ae7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:06 2013 +0100 blockdev: Keep a copy of DriveInfo.serial Pointing to a QemuOpts element is surprising and can lead to subtle use-after-free errors when the QemuOpts is freed after all options are parsed. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 376609cc6c03c2ffc8c323d804d27f95346cac08 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:05 2013 +0100 qemu-option: Add qemu_opts_absorb_qdict() This adds a function that adds all entries of a QDict to a QemuOpts if the keys are known, and leaves only the rest in the QDict. This way a single QDict of -drive options can be processed in multiple places (generic block layer, block driver, backing file block driver, etc.), where each part picks the options it knows. If at the end of the process the QDict isn't empty, the user specified an invalid option. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b6ad491a4921557efc8815fe0ca5f11c6d8d587e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:04 2013 +0100 block: Add options QDict to bdrv_open_common() The options are passed down to the block drivers, which are supposed to remove all options they have processed. Anything that is left over in the end is an unknown option and results in an error. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b382bc9a1504c7f7c112881695d08293b906b88f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:03 2013 +0100 Add qdict_clone_shallow() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit de9c0cec6c823071b903ebeebf1ee70b394ff46f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:02 2013 +0100 block: Add options QDict to bdrv_open() prototype It doesn't do anything yet except storing the options QDict in the BlockDriverState. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1a86938f04b1abfd28e053b8c6f4b8ed9e4ffe08 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Mar 15 10:35:01 2013 +0100 block: Add options QDict to .bdrv_open() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4f306496183d81aed4b43762cf3bfd6e054de767 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Mar 15 15:04:39 2013 +1000 qga/main.c: Don't use g_key_file_get/set_int64 These functions don't exist until glib version 2.26. QEMU is currently only mandating glib 2.12. This patch replaces the functions with g_key_file_get/set_integer. Unbreaks the build on Ubuntu 10.04 and RHEL 5.6. Regression was introduced by 39097daf15c42243742667607d2cad2c9dc4f764 Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1363323879-682-1-git-send-email-peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 139a4b63e3dd002de79d8c0a7c04fcc5bbeb1307 Merge: 3d34a41... 344bf1e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:54:37 2013 -0500 Merge remote-tracking branch 'kraxel/chardev.5' into staging * kraxel/chardev.5: spice-qemu-char: Remove dead debugging code spice-qemu-char: Fix name parameter issues after qapi-ifying qemu-char.c: fix waiting for telnet connection message Revert "hmp: Disable chardev-add and chardev-remove" chardev: add udp support to qapi chardev: add memory (ringbuf) support to qapi chardev: add vc support to qapi chardev: add spice support to qapi chardev: add pipe support to qapi chardev: add console support to qapi chardev: switch pty init to qapi chardev: switch parallel init to qapi chardev: switch serial/tty init to qapi chardev: add stdio support to qapi chardev: switch file init to qapi chardev: add braille support to qapi chardev: add msmouse support to qapi chardev: switch null init to qapi chardev: add mux chardev support to qapi chardev: add support for qapi-based chardev initialization Conflicts: ui/console.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3d34a4110c58bba120bc3d7c96c4b9571994c2a8 Merge: 0ec4a8e... 0ad6773... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:50:58 2013 -0500 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber (16) and Igor Mammedov (1) # Via Andreas Färber * afaerber/qom-cpu: target-lm32: Update VMStateDescription to LM32CPU target-arm: Override do_interrupt for ARMv7-M profile cpu: Replace do_interrupt() by CPUClass::do_interrupt method cpu: Pass CPUState to cpu_interrupt() exec: Pass CPUState to cpu_reset_interrupt() cpu: Move halted and interrupt_request fields to CPUState target-cris/helper.c: Update Coding Style target-i386: Update VMStateDescription to X86CPU cpu: Introduce cpu_class_set_vmsd() cpu: Register VMStateDescription through CPUState stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY vmstate: Make vmstate_register() static inline target-sh4: Move PVR/PRR/CVR into SuperHCPUClass target-sh4: Introduce SuperHCPU subclasses cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu() monitor: Use qemu_get_cpu() in monitor_set_cpu() cpu: Fix qemu_get_cpu() to return NULL if CPU not found commit 0ec4a8e63ce5244cdb2aa8ef93427898e3f6631b Merge: 6582d3e... cbb65fc... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:50:30 2013 -0500 Merge remote-tracking branch 'mdroth/qga-pull-3-11-2013' into staging # By Laszlo Ersek (3) and others # Via Michael Roth * mdroth/qga-pull-3-11-2013: qga: implement qmp_guest_set_vcpus() for Linux with sysfs qga: implement qmp_guest_get_vcpus() for Linux with sysfs qga: introduce guest-get-vcpus / guest-set-vcpus with stubs qga: add guest-set-time command qga: add guest-get-time command qemu-ga: use key-value store to avoid recycling fd handles after restart qemu-ga: make guest-sync-delimited available during fsfreeze qemu-ga: fix confusing GAChannelMethod comparison qga: cast to int for DWORD type commit 6582d3e8be98cf8171489793e094aee94a1276ce Merge: c69b30e... e9a970a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Mar 14 14:50:21 2013 -0500 Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging # By Peter Maydell (5) and others # Via Riku Voipio * riku/linux-user-for-upstream: linux-user/syscall.c: Don't warn about unimplemented get_robust_list linux-user: Implement accept4 linux-user: Implement sendfile and sendfile64 linux-user: make bogus negative iovec lengths fail EINVAL linux-user: Fix layout of usage table to account for option text linux-user: Add more sparc syscall numbers linux-user: Support setgroups syscall with no groups linux-user: fix futex strace of FUTEX_CLOCK_REALTIME linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex linux-user: improve print_fcntl() linux-user: Add Alpha socket constants commit 344bf1e935163d8a4c3cce3ec4c636e1ebd035ce Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 13 14:59:44 2013 +0100 spice-qemu-char: Remove dead debugging code Since commit d62e5f7036a018b2ad09f17ebd481bd28953d783 "chardev: add spice support to qapi" It is impossible to set the debug parameter, so all the dprintf calls are essentially nops. Since we've not needed the debug parameter in ages this is not a problem, if it later turns out we do need some more debugging options we can add more trace-points. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5e9b473a3d7fbb915df4b3f5487e5056762087f8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Mar 13 10:41:31 2013 +0100 spice-qemu-char: Fix name parameter issues after qapi-ifying The strings passed in through the qapi calls are dynamic memory, since we want to have them stick around longer then just the call to qemu_chr_open_spice_* we need to strdup them. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c69b30e8301a49cd198d54bb740a0c9adcd2a34a Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Mar 13 12:21:04 2013 -0500 gtk: fix vc initialization commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:32 2013 +0530 qemu-char: move text console init to console.c Broke vc initialization for GTK. It's a simple typo. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e5545854dd1e2e3507b210ac0c1cbfca69ff0fcb Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Date: Sun Mar 10 17:58:05 2013 +0400 qemu-char.c: fix waiting for telnet connection message Current colon position in "waiting for telnet connection" message template produces messages like: QEMU waiting for connection on: telnet::127.0.0.16666,server After moving a colon to the right, we will get a correct messages like: QEMU waiting for connection on: telnet:127.0.0.1:6666,server Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 46920825402d38a4111cca8099d1261f8f80c03c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 08:46:10 2013 +0100 Revert "hmp: Disable chardev-add and chardev-remove" This reverts commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7. commit 3ecc059dcd06a79495d1bf171ef7f193eff79e98 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Feb 27 14:10:47 2013 +0100 chardev: add udp support to qapi This patch adds 'udp' support to qapi. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1da48c658a26d0c1444d05d8d3a545d311e01026 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Feb 26 16:21:11 2013 +0100 chardev: add memory (ringbuf) support to qapi This patch adds 'memory' support to qapi and also switches over the memory chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 702ec69cc1aa87a1e53d1b066a38a9eb0fa7845b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 15:52:32 2013 +0100 chardev: add vc support to qapi This patch adds 'vc' support to qapi and also switches over the vc chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cd153e2aa2f0ec39c04c2b732ebebfc6d4766986 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 12:39:06 2013 +0100 chardev: add spice support to qapi This patch adds 'spicevmc' and 'spiceport' support to qapi and also switches over the spice chardev initialization to the new qapi code path. commit 548cbb36f415d6086f5252309ab5aa7634497ab5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 11:50:55 2013 +0100 chardev: add pipe support to qapi This patch adds 'pipe' support to qapi and also switches over the pipe chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d9ac374f0def9a65340c1768c08e3271f4d7798d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 11:48:06 2013 +0100 chardev: add console support to qapi This patch adds 'console' support to qapi and also switches over the console chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e68c5958668596a5023e30ddf8368410878f7682 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 10:16:46 2013 +0100 chardev: switch pty init to qapi This patch switches over the pty chardev initialization to the new qapi code path. Bonus: Taking QemuOpts out of the loop allows some nice cleanups along the way. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit dc3750976914b0900446e6a5434919a0fa2ba028 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 22 16:17:01 2013 +0100 chardev: switch parallel init to qapi This patch switches over the parallel chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 0f1cb51da7112fa62c6cde62f546714a2c672f54 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 22 15:48:05 2013 +0100 chardev: switch serial/tty init to qapi This patch switches over the serial chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7c358031eac9a41c215900020acf8600d33138aa Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 12:34:58 2013 +0100 chardev: add stdio support to qapi This patch adds 'stdio' support to qapi and also switches over the stdio chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 846e2e49388aa42e030af3d5dd60a6009b80a369 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 12:07:14 2013 +0100 chardev: switch file init to qapi This patch switches over the 'file' chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2d57286da6e57aacf3b2d0d3354d543ed100a485 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 12:56:10 2013 +0100 chardev: add braille support to qapi This patch adds 'braille' support to qapi and also switches over the braille chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f5a51cab2afd1124f0988081207d506fbec629b4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 11:58:44 2013 +0100 chardev: add msmouse support to qapi This patch adds 'msmouse' support to qapi and also switches over the msmouse chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 80dca9e643d11b54f1b9bafbaefeadfb1099e023 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 11:41:26 2013 +0100 chardev: switch null init to qapi This patch switches over the 'null' chardev initialization to the new qapi code path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit edb2fb3cc8b85ab956f366fc036ac12853984dae Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 16:16:42 2013 +0100 chardev: add mux chardev support to qapi This adds mux chardev support to the qapi and also makes the qapi-based chardev creation path handle the "mux=on" option correctly. commit 2c5f488293c7d0cd095635c74157c2526e2c4947 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 21 11:39:12 2013 +0100 chardev: add support for qapi-based chardev initialization This patch add support for a new way to initialize chardev devices. Instead of calling a initialization function with a QemuOpts we will now create a (qapi) ChardevBackend, optionally call a function to fill ChardevBackend from QemuOpts, then go create the chardev using the new qapi code path which is also used by chardev-add. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8ca761f661a7cc972bc6bcf938feca6c538100f0 Author: Peter Feiner <peter@xxxxxxxxxxxxxx> Date: Mon Mar 4 13:54:25 2013 -0500 exec: make -mem-path filenames deterministic Adds ramblocks' names to their backing files when using -mem-path. Eases introspection and debugging. Signed-off-by: Peter Feiner <peter@xxxxxxxxxxxxxx> Message-id: 1362423265-15855-1-git-send-email-peter@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4524051c32190c1dc13ec2ccd122fd120dbed736 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Mar 8 11:42:24 2013 +0100 Add search path support for qemu data files. This patch allows to specify multiple directories where qemu should look for data files. To implement that the behavior of the -L switch is slightly different now: Instead of replacing the data directory the path specified will be appended to the data directory list. So when specifiying -L multiple times all directories specified will be checked, in the order they are specified on the command line, instead of just the last one. Additionally the default paths are always appended to the directory data list. This allows to specify a incomplete directory (such as the seabios out/ directory) via -L. Anything not found there will be loaded from the default paths, so you don't have to create a symlink farm for all the rom blobs. For trouble-shooting a tracepoint has been added, logging which blob has been loaded from which location. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1362739344-8068-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1272ec881440bf579c9d3c9cd0745b2551ce6a7f Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:55 2013 -0500 Build TPM passthrough for i386 and x86_64 targets Build the TPM passthrough driver only for i386 and x86_64 targets using the default-configs files for those targets with softmmu. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-8-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 92dcc234ec1f266fb5d59bed77d66320c2c75965 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:54 2013 -0500 Add support for cancelling of a TPM command This patch adds support for cancelling an executing TPM command. In Linux for example a user can cancel a command through the TPM's sysfs 'cancel' entry using echo "1" > /sysfs/class/misc/tpm0/device/cancel This patch propagates the cancellation of a command inside a VM to the host TPM's sysfs entry. It also uses the possibility to cancel the command before QEMU VM shutdown or reboot, which helps in preventing QEMU from hanging while waiting for the completion of the command. To relieve higher layers or users from having to determine the TPM's cancel sysfs entry, the driver searches for the entry in well known locations. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-7-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4549a8b7ee3c47155c09582f31086f7d0ba61fc4 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:53 2013 -0500 Add a TPM Passthrough backend driver implementation This patch is based of off version 9 of Stefan Berger's patch series "QEMU Trusted Platform Module (TPM) integration" and adds a new backend driver for it. This patch adds a passthrough backend driver for passing commands sent to the emulated TPM device directly to a TPM device opened on the host machine. Thus it is possible to use a hardware TPM device in a system running on QEMU, providing the ability to access a TPM in a special state (e.g. after a Trusted Boot). This functionality is being used in the acTvSM Trusted Virtualization Platform which is available on [1]. Usage example: qemu-system-x86_64 -tpmdev passthrough,id=tpm0,path=/dev/tpm0 \ -device tpm-tis,tpmdev=tpm0 \ -cdrom test.iso -boot d Some notes about the host TPM: The TPM needs to be enabled and activated. If that's not the case one has to go through the BIOS/UEFI and enable and activate that TPM for TPM commands to work as expected. It may be necessary to boot the kernel using tpm_tis.force=1 in the boot command line or 'modprobe tpm_tis force=1' in case of using it as a module. Regards, Andreas Niederl, Stefan Berger [1] http://trustedjava.sourceforge.net/ Signed-off-by: Andreas Niederl <andreas.niederl@xxxxxxxxxxxxxx> Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-6-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab214c2960e3a6d2a86b1ff53e9ba2505d173f93 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:52 2013 -0500 Build the TPM frontend code Build the TPM frontend code that has been added so far. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-5-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8db7c4152188a13b4de6fbab158d61e5dd50e7ec Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:51 2013 -0500 Add a debug register This patch uses the possibility to add a vendor-specific register and adds a debug register useful for dumping the TIS's internal state. This register is only active in a debug build (#define DEBUG_TIS). Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-4-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit edff867807fefd9b8cc2bfd0e88a957987225f55 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:50 2013 -0500 Add TPM (frontend) hardware interface (TPM TIS) to QEMU This patch adds the main code of the TPM frontend driver, the TPM TIS interface, to QEMU. The code is largely based on the previous implementation for Xen but has been significantly extended to meet the standard's requirements, such as the support for changing of localities and all the functionality of the available flags. Communication with the backend (i.e., for Xen or the libtpms-based one) is cleanly separated through an interface which the backend driver needs to implement. Whenever the frontend has collected a complete packet, it will submit a task to the backend, which then starts processing the command. Once the result has been returned, the backend invokes a callback function (tpm_tis_receive_cb()). Testing the proper functioning of the different flags and localities cannot be done from user space when running in Linux for example, since access to the address space of the TPM TIS interface is not possible. Also the Linux driver itself does not exercise all functionality. So, for testing there is a fairly extensive test suite as part of the SeaBIOS patches since from within the BIOS one can have full access to all the TPM's registers. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-3-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d1a0cf738dab24fbfd8e9225b7f3df43dcfafc06 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 27 12:47:49 2013 -0500 Support for TPM command line options This patch adds support for TPM command line options. The command line options supported here are ./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id> -device tpm-tis,tpmdev=<id>,id=<other id> and ./qemu-... -tpmdev help where the latter works similar to -soundhw help and shows a list of available TPM backends (for example 'passthrough'). Using the type parameter, the backend is chosen, i.e., 'passthrough' for the passthrough driver. The interpretation of the other parameters along with determining whether enough parameters were provided is pushed into the backend driver, which needs to implement the interface function 'create' and return a TPMDriverOpts structure if the VM can be started or 'NULL' if not enough or bad parameters were provided. Monitor support for 'info tpm' has been added. It for example prints the following: (qemu) info tpm TPM devices: tpm0: model=tpm-tis \ tpm0: type=passthrough,path=/dev/tpm0,cancel-path=/sys/devices/pnp0/00:09/cancel Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joel Schopp <jschopp@xxxxxxxxxxxxxxxxxx> Message-id: 1361987275-26289-2-git-send-email-stefanb@xxxxxxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2362ecc5c6f4073f7f4c9c3f45c335aa8a2261bb Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Mon Mar 4 13:06:56 2013 +0100 virtio-ccw: Wire up virtio-rng. Make virtio-rng devices available for s390-ccw-virtio machines. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit b8a205f2ed222a5d24bf7e8346919abee861d026 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Feb 20 13:02:07 2013 +0100 virtio-ccw: remove qdev_unparent in unplug routing This patch fixes unplugging a virtio-ccw device. We no longer need to do that in virtio-ccw since common code does now proper handling. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 0ad6773f1151c9e172b0b714aada78655dda4cf4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 13:45:29 2013 +0100 target-lm32: Update VMStateDescription to LM32CPU Add a vmstate_lm32_cpu referencing the previous VMStateDescription as a sub-struct and hook it up to CPUClass::vmsd. Drop cpu_{save,load}(). Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit e6f010cc27177c97596455b2e2b589bd19b2a486 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 12:33:14 2013 +0100 target-arm: Override do_interrupt for ARMv7-M profile Enable ARMCPUInfo to specify a custom class_init functions. Introduce arm_v7m_class_init() and use it for "cortex-m3" model. Instead of forwarding from arm_cpu_do_interrupt() to do_interrupt_v7m(), override CPUClass::do_interrupt with arm_v7m_cpu_do_interrupt() in arm_v7m_class_init(). Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 97a8ea5a3ae7938cb54fd4dc19d3a413024bc6c0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 10:57:51 2013 +0100 cpu: Replace do_interrupt() by CPUClass::do_interrupt method This removes a global per-target function and thus takes us one step closer to compiling multiple targets into one executable. It will also allow to override the interrupt handling for certain CPU families. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c3affe5670e5d0df8a7e06f1d6e80853633146df Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 15:03:43 2013 +0100 cpu: Pass CPUState to cpu_interrupt() Move it to qom/cpu.h to avoid issues with include order. Change pc_acpi_smi_interrupt() opaque to X86CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d8ed887bdcd29ce2e967f8b15a6a2b6dcaa11cd5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 22:30:20 2013 +0100 exec: Pass CPUState to cpu_reset_interrupt() Move it to qom/cpu.c to avoid build failures depending on include order of cpu-qom.h and exec/cpu-all.h. Change opaques of various ..._irq_handler() functions to the appropriate CPU type to facilitate using cpu_reset_interrupt(). Fix Coding Style issues while at it (missing braces, indentation). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 259186a7d2f7184efc96ae99bc5658e6159f53ad Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 18:51:17 2013 +0100 cpu: Move halted and interrupt_request fields to CPUState Both fields are used in VMState, thus need to be moved together. Explicitly zero them on reset since they were located before breakpoints. Pass PowerPCCPU to kvmppc_handle_halt(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 21317bc222ef4cdca594b1856eea62f3dfbbfb6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 25 17:37:28 2013 +0100 target-cris/helper.c: Update Coding Style Reindent, add missing braces and drop/adjust whitespace. Prepares for CPUArchState-to-CPUState field movements in cpu_cris_handle_mmu_fault(), do_interruptv10() and do_interrupt(). The remaining functions were so minor that they can be fixed in one go. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f56e3a147683f0ed69d8339e497b7a36e3260c86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 13:38:08 2013 +0100 target-i386: Update VMStateDescription to X86CPU Expose vmstate_cpu as vmstate_x86_cpu and hook it up to CPUClass::vmsd. Adapt opaques and VMState fields to X86CPU. Drop cpu_{save,load}(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca91b15f2d2e43eba8f9a3ec5090f0a11b861ba4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 22 21:50:10 2013 +0100 cpu: Introduce cpu_class_set_vmsd() This setter avoids redefining each VMStateDescription value to vmstate_dummy by not referencing the value for CONFIG_USER_ONLY. Suggested-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b170fce3dd06372f7bfec9a780ebcb1fce6d57e4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 20:23:22 2013 +0100 cpu: Register VMStateDescription through CPUState In comparison to DeviceClass::vmsd, CPU VMState is split in two, "cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1. Therefore add a CPU-specific CPUClass::vmsd field. Unlike the legacy CPUArchState registration, rather register CPUState. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit c71c3e99b8897323af8c2fe0b9851610cd148538 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 18 17:56:20 2013 +0100 stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d7650eab429a033c23947f20d1ae14c4d1e719a3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 18 21:41:59 2013 +0100 vmstate: Make vmstate_register() static inline This avoids adding a duplicate stub for CONFIG_USER_ONLY. Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b350ab758342c764a6ead6ef064b15a72c830808 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Nov 20 16:15:47 2012 +0100 target-sh4: Move PVR/PRR/CVR into SuperHCPUClass They are never changed once initialized, and moving them to the class will allow to inspect them before instantiating. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c1b382e77d8693955d8838c19b33aeb214724f9b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Nov 19 02:42:18 2012 +0100 target-sh4: Introduce SuperHCPU subclasses Store legacy name in SuperHCPUClass for -cpu ? and for case-insensitive class lookup. List CPUs by iterating over TYPE_SUPERH_CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 151d1322a3a0c865089c09aeb50f18215121921a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 15:41:49 2013 +0100 cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu() No functional change, just less usages of first_cpu and next_cpu fields. env is passed to cpu_memory_rw_debug(), which in turn passes it to target-specific cpu_get_phys_page_debug(). Changing both would be a larger refactoring, so defer that by using env_ptr for now. Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1c8bb3cc7b98ad07a028567b86fc6baa5c5a0b7a Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 17:01:09 2013 +0100 monitor: Use qemu_get_cpu() in monitor_set_cpu() No functional change, just a reduction of CPU loops. The mon_cpu field is left untouched for now since changing that requires a number of larger prerequisites, including cpu_synchronize_state() and mon_get_cpu(). Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d76fddaeeec674cab4802b585db6c9fb3a0066dc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Thu Mar 7 19:12:43 2013 +0100 cpu: Fix qemu_get_cpu() to return NULL if CPU not found Commit 55e5c2850 breaks CPU not found return value, and returns CPU corresponding to the last non NULL env. Fix it by returning CPU only if env is not NULL, otherwise CPU is not found and function should return NULL. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cbb65fc27fd97a3b020df7fce9db4ce09e3956ad Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Mar 6 22:59:31 2013 +0100 qga: implement qmp_guest_set_vcpus() for Linux with sysfs Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d2baff62538d6c638c1c0d2b3fc900060a90dd78 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Mar 6 22:59:30 2013 +0100 qga: implement qmp_guest_get_vcpus() for Linux with sysfs Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 70e133a7080116340b1a8898893c6d455bd47299 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Mar 6 22:59:29 2013 +0100 qga: introduce guest-get-vcpus / guest-set-vcpus with stubs Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a1bca57f758a1ebe2ee808aa6c94f7687f9cfdd0 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 5 17:39:12 2013 +0800 qga: add guest-set-time command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> *added stub for w32 Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6912e6a94cb0a1d650271103efbc3ac2299e4fd0 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Tue Mar 5 17:39:11 2013 +0800 qga: add guest-get-time command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> *added stub for w32 Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 39097daf15c42243742667607d2cad2c9dc4f764 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 1 11:40:27 2013 -0600 qemu-ga: use key-value store to avoid recycling fd handles after restart Hosts hold on to handles provided by guest-file-open for periods that can span beyond the life of the qemu-ga process that issued them. Since these are issued starting from 0 on every restart, we run the risk of issuing duplicate handles after restarts/reboots. As a result, users with a stale copy of these handles may end up reading/writing corrupted data due to their existing handles effectively being re-assigned to an unexpected file or offset. We unfortunately do not issue handles as strings, but as integers, so a solution such as using UUIDs can't be implemented without introducing a new interface. As a workaround, we fix this by implementing a persistent key-value store that will be used to track the value of the last handle that was issued across restarts/reboots to avoid issuing duplicates. The store is automatically written to the same directory we currently set via --statedir to track fsfreeze state, and so should be applicable for stable releases where this flag is supported. A follow-up can use this same store for handling fsfreeze state, but that change is cosmetic and left out for now. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx * fixed guest_file_handle_add() return value from uint64_t to int64_t commit c5dcb6ae23a3ed7a01bae1cd75ce02abea31db5e Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 1 11:49:38 2013 -0600 qemu-ga: make guest-sync-delimited available during fsfreeze We currently maintain a whitelist of commands that are safe during fsfreeze. During fsfreeze, we disable all commands that aren't part of that whitelist. guest-sync-delimited meets the criteria for being whitelisted, and is also required for qemu-ga clients that rely on guest-sync-delimited for re-syncing the channel after a timeout. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 9e7c23db13b23febac4ba2d22419aa8f1884929e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 19 15:12:34 2013 +0100 qemu-ga: fix confusing GAChannelMethod comparison In commit 7868e26e5930f49ca942311885776b938dcf3b77 ("qemu-ga: add initial win32 support") support was added for qemu-ga on Windows using virtio-serial. Other channel methods (ISA serial and UNIX domain socket) are not supported on Windows. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit ed2cbf74446b008f9de526a50e4b06265635120c Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 28 12:49:09 2013 +0800 qga: cast to int for DWORD type This patch fixes a compiler warning when cross-build: qga/service-win32.c: In function 'printf_win_error': qga/service-win32.c:32:5: warning: format '%d' expects argument of type 'int', but argument 3 has type 'DWORD' [-Wformat] Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit fe3cc14fd83e0c8f376d849ccd0fc3433388442d Merge: bba18e2... ee0b44a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 11 08:30:34 2013 -0500 Merge remote-tracking branch 'quintela/migration.next' into staging # By Paolo Bonzini (40) and others # Via Juan Quintela * quintela/migration.next: (46 commits) page_cache: dup memory on insert page_cache: fix memory leak Fix cache_resize to keep old entry age Fix page_cache leak in cache_resize migration: inline migrate_fd_close migration: eliminate s->migration_file migration: move contents of migration_close to migrate_fd_cleanup migration: move rate limiting to QEMUFile migration: small changes around rate-limiting migration: use qemu_ftell to compute bandwidth migration: use QEMUFile for writing outgoing migration data migration: use QEMUFile for migration channel lifetime qemu-file: simplify and export qemu_ftell qemu-file: add writable socket QEMUFile qemu-file: check exit status when closing a pipe QEMUFile qemu-file: fsync a writable stdio QEMUFile migration: merge qemu_popen_cmd with qemu_popen migration: use qemu_file_rate_limit consistently migration: remove useless qemu_file_get_error check migration: detect error before sleeping ... commit bba18e23f7266d63734fd31045fec7794cc34a38 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 11 11:31:26 2013 +0100 arm: fix compilation with CONFIG_FDT A conflict was resolved the wrong way when merging commit 320ba5f (build: always link device_tree.o into emulators if libfdt available, 2013-02-05). This causes a build failure for the arm-softmmu target due to multiply defined symbol. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1362997886-9470-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e9a970a8316f9f86a6c800a9a90175bd593f862c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 04:34:54 2013 +0000 linux-user/syscall.c: Don't warn about unimplemented get_robust_list The nature of the kernel ABI for the get_robust_list and set_robust_list syscalls means we cannot implement them in QEMU. Make get_robust_list silently return ENOSYS rather than using the default "print message and then fail ENOSYS" code path, in the same way we already do for set_robust_list, and add a comment documenting why we do this. This silences warnings which were being produced for emulating even trivial programs like 'ls' in x86-64-on-x86-64. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit a94b4987e243d9afebf56a098afeddae133276b5 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 04:35:04 2013 +0000 linux-user: Implement accept4 Implement the accept4 syscall (which is identical to accept but has an additional flags argument). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit a8fd1aba8584cbe68583907ce766fd8ecfe81f4b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 07:31:55 2013 +0000 linux-user: Implement sendfile and sendfile64 Implement the sendfile and sendfile64 syscalls. This implementation passes all the LTP test cases for these syscalls. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit dfae8e00f8ddeedcda24bd28f71d4fd2a9f988b8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 8 07:58:41 2013 +0000 linux-user: make bogus negative iovec lengths fail EINVAL If the guest passes us a bogus negative length for an iovec, fail EINVAL rather than proceeding blindly forward. This fixes some of the error cases tests for readv and writev in the LTP. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit 63ec54d7b319824df8b60cfe25afdfb607ce3905 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Feb 14 08:46:43 2013 +0000 linux-user: Fix layout of usage table to account for option text The linux-user usage message attempts to line up the columns in its table by calculating the maximum width of any item in them. However for the 'Argument' column it was only accounting for the length of the option switch (eg "-d"), not the additional example text (eg "item[,...]"). This currently has no adverse effects because the widest item in the column happens to be the argumentless "-singlestep" option, but improving the "-d" option help to read "-d item[,...]" exceeds that limit. Fix this by correctly calculating maxarglen as the width of the first column text including a possible option argument, and adjusting its uses to match. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit ee0b44aa9d9450e873a761ca2030b2fa3ec52eb0 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 25 19:12:04 2013 +0200 page_cache: dup memory on insert The page cache frees all data on finish, on resize and if there is collision on insert. So it should be the caches responsibility to dup the data that is stored in the cache. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 32a1c08b60a8ac0e63b54a5793a26b5e32b36618 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 25 19:12:03 2013 +0200 page_cache: fix memory leak XBZRLE encoded migration introduced a MRU page cache meachnism. Unfortunately, cached items where never freed in case of a collision in the page cache on cache_insert(). This lead to out of memory conditions during XBZRLE migration if the page cache was small and there where a lot of collisions in the cache. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a0ee2031dbf5f0183412d4b20a30cbfd404616a8 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Feb 25 19:12:02 2013 +0200 Fix cache_resize to keep old entry age Instead of using cache_insert do the update itself Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0db65d624e0211a43c011579d6607a50d8f06082 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Mon Feb 25 19:12:01 2013 +0200 Fix page_cache leak in cache_resize Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6f190a0641f5b06a462b62955c15c77b8fb3990c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:48 2013 +0100 migration: inline migrate_fd_close Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b352365f5abec075dede0222f1bc37674d64117c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:47 2013 +0100 migration: eliminate s->migration_file The indirection is useless now. Backends can open s->file directly. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 404a7c05bcc20c51fe1a9bf2deaeb4d6b658d3a3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:46 2013 +0100 migration: move contents of migration_close to migrate_fd_cleanup With this patch, the migration_file is not needed anymore. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 1964a397063967acc5ce71a2a24ed26e74824ee1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:45 2013 +0100 migration: move rate limiting to QEMUFile Rate limiting is now simply a byte counter; client call qemu_file_rate_limit() manually to determine if they have to exit. So it is possible and simple to move the functionality to QEMUFile. This makes the remaining functionality of s->file redundant; in the next patch we can remove it and write directly to s->migration_file. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 442773cef15092b5927851237850760345d2cf16 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:44 2013 +0100 migration: small changes around rate-limiting This patch extracts a few small changes from the next patch, which are unrelated to adding generic rate-limiting functionality to QEMUFile. Make migration_set_rate_limit a simple accessor, and use qemu_file_set_rate_limit consistently. Also fix a typo where INT_MAX should have been SIZE_MAX. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit be7172e22a9c3bc448894e57f6c2d1af6ffd47fd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:43 2013 +0100 migration: use qemu_ftell to compute bandwidth Prepare for when s->bytes_xfer will be removed. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e6a1cf21328802f3a83e84e893b8cb8a468141cc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:42 2013 +0100 migration: use QEMUFile for writing outgoing migration data Second, drop the file descriptor indirection, and write directly to the QEMUFile. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f8bbc1286337a8506162b5785babe6f2a7de2476 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:41 2013 +0100 migration: use QEMUFile for migration channel lifetime As a start, use QEMUFile to store the destination and close it. qemu_get_fd gets a file descriptor that will be used by the write callbacks. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3f2d38faab97f4d676c41868a8243997b2aab7cb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:40 2013 +0100 qemu-file: simplify and export qemu_ftell Force a flush when qemu_ftell is called. This simplifies the buffer magic (it also breaks qemu_ftell for input QEMUFiles, but we never use it). Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0cc3f3ccc9d29acc94b995430518bda1c7c01bef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:39 2013 +0100 qemu-file: add writable socket QEMUFile Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 13c7b2da073ec83cb47f9582149c8d28bb038e73 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:38 2013 +0100 qemu-file: check exit status when closing a pipe QEMUFile This is what exec_close does. Move this to the underlying QEMUFile. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit ce39ee3184a02eca7f9529cc19b1582f6f704c70 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:37 2013 +0100 qemu-file: fsync a writable stdio QEMUFile This is what fd_close does. Prepare for switching to a QEMUFile. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 817b9ed5eb300dbb434d752da416441028539a96 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:36 2013 +0100 migration: merge qemu_popen_cmd with qemu_popen There is no reason for outgoing exec migration to do popen manually anymore (the reason used to be that we needed the FILE* to make it non-blocking). Use qemu_popen_cmd. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a0ff044b8ea81908cd8fe5819ce33780f53f58ee Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:35 2013 +0100 migration: use qemu_file_rate_limit consistently Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit db2f25309af1af0f27e0ddec4acc3b66837fa668 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:34 2013 +0100 migration: remove useless qemu_file_get_error check migration_put_buffer is never called if there has been an error. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit fd45ee2c643bb3d55de5c54b50c23859ca631a9f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:33 2013 +0100 migration: detect error before sleeping Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 059f896cefb2776181e39d9ba69345bd9d07d52b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:32 2013 +0100 migration: eliminate last_round We will go around the loop exactly once after setting last_round. Eliminate the variable altogether. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 05f28b837c6bd6124abab2496ce15c07a334a5ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:31 2013 +0100 qemu-file: make qemu_fflush and qemu_file_set_error private again Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5f496a1be3d15f192be1ab1fed3a3278fd5a91a1 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 22 17:36:30 2013 +0100 Rename buffered_ to migration_ This is consistent once that we have moved everything to migration.c Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit edaae611f6df0d66a8b5a90c84123b72980c7a22 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:29 2013 +0100 migration: yay, buffering is gone Buffering was needed because blocking writes could take a long time and starve other threads seeking to grab the big QEMU mutex. Now that all writes (except within _complete callbacks) are done outside the big QEMU mutex, we do not need buffering at all. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 9b0950375277467fd74a9075624477ae43b9bb22 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:28 2013 +0100 migration: run setup callbacks out of big lock Only the migration_bitmap_sync() call needs the iothread lock. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 32c835ba3984728c22d4e73cdb595090a60f437e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:27 2013 +0100 migration: run pending/iterate callbacks out of big lock This makes it possible to do blocking writes directly to the socket, with no buffer in the middle. For RAM, only the migration_bitmap_sync() call needs the iothread lock. For block migration, it is needed by the block layer (including bdrv_drain_all and dirty bitmap access), but because some code is shared between iterate and complete, all of mig_save_device_dirty is run with the lock taken. In the savevm case, the iterate callback runs within the big lock. This is annoying because it complicates the rules. Luckily we do not need to do anything about it: the RAM iterate callback does not need the iothread lock, and block migration never runs during savevm. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 8c8de19d93444536d3291e6ab83e2bcf61dd2d0c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:26 2013 +0100 migration: reorder SaveVMHandlers members This groups together the callbacks that later will have similar locking rules. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 52e850dea988585c3d693fd9cd4a4c38968d89b8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:25 2013 +0100 block-migration: add lock Some state is shared between the block migration code and its AIO callbacks. Once block migration will run outside the iothread, the block migration code and the AIO callbacks will be able to run concurrently. Protect the critical sections with a separate lock. Do the same for completed_sectors, which can be used from the monitor. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 323920c4eac01de74cf2b5e941c97ca9b2d36b7f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:24 2013 +0100 block-migration: document usage of state across threads Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 13197e3cbaba0ba693dd2855a32182ca584fa97e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:23 2013 +0100 block-migration: small preparatory changes for locking Some small changes that will simplify the positioning of lock/unlock primitives. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a55ce1c851b5802569fb00b2a645a73c03fd7c86 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:22 2013 +0100 block-migration: remove variables that are never read Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bb1fadc444ff967554c41d96cb9dde110e8aece9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:21 2013 +0100 migration: cleanup migration (including thread) in the iothread Perform final cleanup in a bottom half, and add joining the thread to the series of cleanup actions. migrate_fd_error remains for connection error, but it doesn't need to cleanup anything anymore. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f4410a5d9926886c36d9fa9fdd969d0469d62724 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:20 2013 +0100 migration: prepare to access s->state outside critical sections Accessing s->state outside the big QEMU lock will simplify a bit the locking/unlocking of the iothread lock. We need to keep the lock in migrate_fd_error and migrate_fd_completed, however, because they call migrate_fd_cleanup. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit c09e5bb1d88ef38986bac7c6ed59dbd732cc4771 Author: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Date: Fri Feb 22 17:36:19 2013 +0100 migration: add migrate_set_state tracepoint Signed-off-by: Kazuya Saito <saito.kazuya@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a3fa1d78cbae2259491b17689812edcb643a3b30 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:18 2013 +0100 migration: do not nest flushing of device data Completion of migration is currently done with a "nested" loop that invokes buffered_flush: migrate_fd_completed is called by buffered_file_thread, which calls migrate_fd_cleanup, which calls buffered_close (via qemu_fclose), which flushes the buffer. Simplify this, by reusing the buffered_flush call of buffered_file_thread. Then if qemu_savevm_state_complete was called, and the buffer is empty (including the QEMUFile buffer, for which we need the previous patch), we are done. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit dba433c03a0f5dc22a459435dd89557886298921 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:17 2013 +0100 migration: simplify error handling Always use qemu_file_get_error to detect errors, since that is how QEMUFile itself drops I/O after an error occurs. There is no need to propagate and check return values all the time. Also remove the "complete" member, since we know that it is set (via migrate_fd_cleanup) only when the state changes. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 63dfbd7ee03185c181a0791958ec9c8337089b55 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:16 2013 +0100 migration: use qemu_file_set_error Remove the return value of buffered_flush, pass it via the error code of s->file. Once this is done, the error can be retrieved simply via migrate_fd_close's call to qemu_fclose. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit f5821518ed6d49aae9fd0aa6169d2d74bb83054c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:15 2013 +0100 migration: flush all data to fd when buffered_flush is called Including data that resided in the QEMUFile's own buffer. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 4eb938102b3d533e142de23e255e46da1326fc5a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:14 2013 +0100 qemu-file: temporarily expose qemu_file_set_error and qemu_fflush Right now, migration cannot entirely rely on QEMUFile's automatic drop of I/O after an error, because it does its "real" I/O outside the put_buffer callback. To fix this until buffering is gone, expose qemu_file_set_error which we will use in buffered_flush. Similarly, buffered_flush is not a complete flush because some data may still reside in the QEMUFile's own buffer. This somewhat complicates the process of closing the migration thread. Again, when buffering is gone buffered_flush will disappear and calling qemu_fflush will not be needed; in the meanwhile, we expose the function for use in migration.c. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 47c8c17af883b5bd0f147cfcec8d7ef8ff76023b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:13 2013 +0100 migration: use qemu_file_set_error to pass error codes back to qemu_savevm_state Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 93bf21044c38134bc7d35577b675d9f2bdcb8419 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:12 2013 +0100 qemu-file: pass errno from qemu_fflush via f->last_error This is done by almost all callers of qemu_fflush, move the code directly to qemu_fflush. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d418cf57a3e699746ef0bfa772bbe8c7e17cebb5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:11 2013 +0100 block-migration: remove useless calls to blk_mig_cleanup Now that the cancel callback is called consistently for all errors, we can avoid doing its work in the other callbacks. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 04943ebaa9e4f5f9ac080198a7b0d25c6d7ac444 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:10 2013 +0100 migration: push qemu_savevm_state_cancel out of qemu_savevm_state_* This is useful, because it lets us keep the cancellation callbacks inside the big lock while pushing the others out. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 7a2c17216cd5ae4c22844123b8e9360d517932f8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:09 2013 +0100 migration: move more error handling to migrate_fd_cleanup The next patch will add more cases where qemu_savevm_state_cancel needs to be called; prepare for that already, the function can be called twice with no ill effect. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 891518abd804401978e402d588733e282be960ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:08 2013 +0100 migration: always use vm_stop_force_state vm_stop_force_state does: if (runstate_is_running()) { vm_stop(state); } else { runstate_set(state); } migration.c does: if (runstate_is_running()) { vm_stop(state); } else { vm_stop_force_state(state); } The code run is the same even if we always use vm_stop_force_state in migration.c. Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5da5aad068def65b5e278a6380192d4bfe279585 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 17:36:07 2013 +0100 migration: simplify while loop Unify the goto around the loop, with the exit condition at the end of it. Both can be expressed as "while (ret >= 0)". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d95fda86b0d69fc4010f6bb37aa4fd38f1addff Author: Dillon Amburgey <dillona@xxxxxxxxxxx> Date: Thu Jan 3 22:10:26 2013 -0500 linux-user: Add more sparc syscall numbers Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit f2b79ce9dc65753c6833921dd5ef6fa59632851f Author: Dillon Amburgey <dillona@xxxxxxxxxxx> Date: Sat Feb 2 18:04:48 2013 -0500 linux-user: Support setgroups syscall with no groups Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit bfb669f39f2ecd854992924ced20b00163509043 Author: John Rigby <john.rigby@xxxxxxxxxx> Date: Sat Feb 23 16:14:08 2013 -0700 linux-user: fix futex strace of FUTEX_CLOCK_REALTIME Handle same as existing FUTEX_PRIVATE_FLAG. Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit cce246e0a21577bb2372ab3a7d6789371e087de9 Author: John Rigby <john.rigby@xxxxxxxxxx> Date: Sat Feb 23 16:14:07 2013 -0700 linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex Upstream libc has recently changed to start using FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this is causing do_futex to return -TARGET_ENOSYS. Pass bitset in val3 to sys_futex which will be ignored by kernel for the FUTEX_WAIT case. Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit d95ec14fd20ff69881ab26e7ebd1dab4eb851d97 Author: Laurent Vivier <Laurent@xxxxxxxxx> Date: Mon Dec 31 21:00:11 2012 +0100 linux-user: improve print_fcntl() Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit ec00b51a6c3e6c515c52e6e4564d915ee1f19022 Author: Dillon Amburgey <dillona@xxxxxxxxxxx> Date: Wed Jan 2 21:06:35 2013 -0500 linux-user: Add Alpha socket constants Without these, some networking programs will not work Signed-off-by: Dillon Amburgey <dillona@xxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> commit fa3889162ff724d09eb6b6bd06ba54769100a77f Merge: 6e72a00... a4960ef... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 20:39:17 2013 -0500 Merge remote-tracking branch 'origin/master' into staging * origin/master: (75 commits) tcg: Don't make exitreq flag a local temporary Makefile: Add subdir dependency on config-devices-all.mak make_device_config.sh: Emit dependency file to directory where included Revert "make_device_config.sh: Fix target path in generated dependency file" s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del s390/css: Fix subchannel detection Allow virtio-net features for legacy s390 virtio bus s390: virtio-ccw maintainer s390: simplify kvm cpu init pseries: Add compatible property to root of device tree target-ppc: Move CPU aliases out of translate_init.c target-ppc: Report CPU aliases for QMP target-ppc: List alias names alongside CPU models target-ppc: Make host CPU a subclass of the host's CPU model PPC: xnu kernel expects FLUSH to be cleared on STOP PPC: Fix dma interrupt target-ppc: Fix PPC_DUMP_SPR_ACCESS build target-ppc: Synchronize FPU state with KVM target-ppc: Add mechanism for synchronizing SPRs with KVM Save memory allocation in the elf loader ... commit 6e72a00f909dcd093fbdd1faa2b3c8caa1697a6c Merge: 6a245c6... 7a2771d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 19:39:07 2013 -0500 Merge remote-tracking branch 'bonzini/hw-dirs' into staging * bonzini/hw-dirs: sh: move files referencing CPU to hw/sh4/ ppc: move more files to hw/ppc ppc: move files referencing CPU to hw/ppc/ m68k: move files referencing CPU to hw/m68k/ i386: move files referencing CPU to hw/i386/ arm: move files referencing CPU to hw/arm/ hw: move boards and other isolated files to hw/ARCH ppc: express FDT dependency of pSeries and e500 boards via default-configs/ build: always link device_tree.o into emulators if libfdt available hw: include hw header files with full paths ppc: do not use ../ in include files vt82c686: vt82c686 is not a PCI host bridge virtio-9p: remove PCI dependencies from hw/9pfs/ virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX hw: move device-hotplug.o to toplevel, compile it once hw: move qdev-monitor.o to toplevel directory hw: move fifo.[ch] to libqemuutil hw: move char backends to backends/ Conflicts: backends/baum.c backends/msmouse.c hw/a15mpcore.c hw/arm/Makefile.objs hw/arm/pic_cpu.c hw/dataplane/event-poll.c hw/dataplane/virtio-blk.c include/char/baum.h include/char/msmouse.h qemu-char.c vl.c Resolve conflicts caused by header movements. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6a245c666d02210b8461952eccc17379fdeedd9f Merge: 6d06368... db2d5eb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 19:33:03 2013 -0500 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Lei Li (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: Fix the wrong description in qemu manual pci_host: Drop write-only address_space field rng-random: Use qemu_open / qemu_close configure: Require at least spice-protocol-0.12.3 osdep: replace setsockopt by qemu_setsockopt lm32: remove unused function rtc-test: Fix test failures with recent glib configure: Create link to icon bitmap for out-of-tree builds commit 6d06368d6bebad74fd16ef76a6bbea0c1cb63c9a Merge: 44ab9ed... 0c92e0e6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Mar 10 19:30:45 2013 -0500 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (4) and Peter Lieven (2) # Via Paolo Bonzini * bonzini/scsi-next: scsi-disk: handle io_canceled uniformly and correctly scsi-disk: do not complete canceled UNMAP requests scsi: do not call scsi_read_data/scsi_write_data for a canceled request iscsi: look for pkg-config file too iscsi: add iscsi_truncate support iscsi: retry read, write, flush and unmap on unit attention check conditions commit 44ab9ed4f859fc6f691ba433c24d354ba93f056f Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 09:56:04 2013 +0000 qemu-char: fix win32 build 96c6384776d631839a9c8fe02bf135f9ba22586c did not adjust Win32 #ifdeffery properly, breaking build in later commits. Fix. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Tested-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx> Message-id: 0ba5565b1ed44380c57d4a5fab86e9549f581ebf.1362822910.git.blauwirbel@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7830cf78ac00643930503732834c00387e9e75ff Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 09:56:03 2013 +0000 baum: fix build 08744c98115cfa144ed3493556024e400b2e2573 removed hw/baum.h but did not adjust hw/baum.c, breaking build. Fix. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Message-id: c50406bda98f8b277e8b9004a0012fa5e5c124d0.1362822910.git.blauwirbel@xxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a4960ef34829c355fdf25b8ee6b869c92393e366 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Mar 5 08:54:41 2013 -0800 tcg: Don't make exitreq flag a local temporary The value is not actually live across basic blocks, so there's no need for the local property. This eliminates storing the temporary to its home location at the branch. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 916359f66f838481b4a37a45ab27ccd0474ae487 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Feb 21 16:26:47 2013 +0100 Makefile: Add subdir dependency on config-devices-all.mak What 23bf49b5eca716aaad073f2b47613434e1515cb5 really seemed to try to fix is that Makefile could recurse into *-softmmu/ subdirectories before a new *-softmmu/config-devices.mak was generated from pci.mak. Fix this by adding a dependency on config-all-devices.mak, which in turn has dependencies on *-softmmu/config-devices.mak. Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 880708013357fa5d1c077e2a4a364b65706e09e7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Feb 21 16:26:46 2013 +0100 make_device_config.sh: Emit dependency file to directory where included Placing the config-devices.mak.d file alongside the config-devices.mak file in *-softmmu/ lead to it getting included into through *-softmmu/Makefile in addition to ./Makefile, leading to confusion. Instead, emit it to ./%-config-devices.mak.d, where it is included. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1b3048170ad0dad83186a39cbf22471fc32583ea Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Feb 21 16:26:45 2013 +0100 Revert "make_device_config.sh: Fix target path in generated dependency file" This reverts commit 23bf49b5eca716aaad073f2b47613434e1515cb5. While *-softmmu/config-devices.mak.d is included through *.d pattern via Makefile.target, the make_devices_config.sh call these dependencies are for is in ./Makefile. Therefore revert to original behavior. This should unbreak pci.mak dependencies not propagating. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit eb839909aa22069e04e1c910fcdf7feaa5581af6 Merge: 62e1aea... 8a7df84... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 11:02:23 2013 +0000 Merge branch 's390-for-upstream' of git://github.com/agraf/qemu * 's390-for-upstream' of git://github.com/agraf/qemu: s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del s390/css: Fix subchannel detection Allow virtio-net features for legacy s390 virtio bus s390: virtio-ccw maintainer s390: simplify kvm cpu init commit 62e1aeaee4d0450222a0ea43c713b59526e3e0fe Merge: d6258c9... d63919c... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Mar 9 11:02:07 2013 +0000 Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu * 'ppc-for-upstream' of git://github.com/agraf/qemu: (66 commits) pseries: Add compatible property to root of device tree target-ppc: Move CPU aliases out of translate_init.c target-ppc: Report CPU aliases for QMP target-ppc: List alias names alongside CPU models target-ppc: Make host CPU a subclass of the host's CPU model PPC: xnu kernel expects FLUSH to be cleared on STOP PPC: Fix dma interrupt target-ppc: Fix PPC_DUMP_SPR_ACCESS build target-ppc: Synchronize FPU state with KVM target-ppc: Add mechanism for synchronizing SPRs with KVM Save memory allocation in the elf loader pseries: Implement h_read hcall target-ppc: Change "POWER7" CPU alias target-ppc: Fix remaining microcontroller typos among models target-ppc: Split model definitions out of translate_init.c target-ppc: Update Coding Style for CPU models target-ppc: Turn descriptive CPU model comments into device descriptions target-ppc: Turn descriptive CPU family comments into device descriptions target-ppc: Set remaining fields on CPU family classes target-ppc: Register all types for TARGET_PPCEMB ... commit 8a7df84f9ff4342cae30f4e515e6ac82a0eb0bea Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 22 09:01:33 2013 +0000 s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del blockdev_mark_auto_del is already called in virtio-blk-exit. Remove the redundant call. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 38dd7cc776bbde7edbe60ba5d0abbd156e7e0f2f Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 22 09:01:32 2013 +0000 s390/css: Fix subchannel detection We have to consider the m bit to find the real channel subsystem when determining the last subchannel. If we fail to take this into account, removal of a subchannel in the middle of a big list of devices will stop device detection after a reboot. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 35569cea79fd3f5ccb5b23ca024c7d3aa4d24e75 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Mar 7 17:21:41 2013 +0100 Allow virtio-net features for legacy s390 virtio bus Enable all virtio-net features for the legacy s390 virtio bus. This also fixes kernel BUG at /usr/src/packages/BUILD/kernel-default-3.0.58/linux-3.0/drivers/s390/kvm/kvm_virtio.c:121! Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dd4ad64ada4316d2f61af0e0489e89fe620244db Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Mar 5 02:22:01 2013 +0000 s390: virtio-ccw maintainer Add myself as maintainer for virtio-ccw and the s390-ccw-virtio machine. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> [agraf: add myself for virtio-ccw machine] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1c9d2a1d3c63ab7cee37acdcab92aafad3d6b3fe Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Feb 4 22:53:25 2013 +0000 s390: simplify kvm cpu init There is no special code right now and the reset ioctl is done later on in the the reset handler anyway. Lets simplify the cpu init. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d63919c93e6fb0587632adafba82c21e55ea4396 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 25 19:27:12 2013 +0000 pseries: Add compatible property to root of device tree Currently, for the pseries machine the device tree supplied by qemu to SLOF and from there to the guest does not include a 'compatible property' at the root level. Usually that works fine, since in this case the compatible property doesn't really give any information not already found in the 'device_type' or 'model' properties. However, the lack of 'compatible' confuses the bootloader install in the SLES11 SP2 and SLES11 SP3 installers. This patch therefore adds a token 'compatible' property to work around that. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e9a9607527746600a1af79ba63494ec596ec8584 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 25 03:43:17 2013 +0000 target-ppc: Move CPU aliases out of translate_init.c Move array of CPU aliases to cpu-models.c, alongside model definitions. This requires to zero-terminate the aliases array since ARRAY_SIZE() can no longer be used in translate_init.c then. Suggested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 35e21d3f53068911a98014577880f76c4734f31c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 23 07:52:24 2013 +0000 target-ppc: Report CPU aliases for QMP The QMP query-cpu-definitions implementation iterated over CPU classes only, which were getting less and less as aliases were extracted. Keep them in QMP as valid -cpu arguments even if not guaranteed stable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 55d3d1a4d1a8dca7a0f31dc0d212d7fb219563c2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 23 07:34:28 2013 +0000 target-ppc: List alias names alongside CPU models Revert adding a separate -cpu ? output section for aliases and list them per CPU subclass. Requested-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5ba4576b858c0d6056f59abb7e17a2b63f7905f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 23 11:22:12 2013 +0000 target-ppc: Make host CPU a subclass of the host's CPU model This avoids assigning individual class fields and contributors forgetting to add field assignments in KVM-only code. ppc_cpu_class_find_by_pvr() requires the CPU model classes to be registered, so defer host CPU type registration to kvm_arch_init(). Only register the host CPU type if there is a class with matching PVR. This lets us drop error handling from instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 987422bc4a4c6366ca6a7fbfa38a9920fd7ada2f Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Date: Thu Feb 21 07:34:11 2013 +0000 PPC: xnu kernel expects FLUSH to be cleared on STOP otherwise it gets stuck in a loop so clear it when unsetting run when flush is set void IODBDMAStop( volatile IODBDMAChannelRegisters *registers) { IOSetDBDMAChannelControl( registers, IOClearDBDMAChannelControlBits( kdbdmaRun ) | IOSetDBDMAChannelControlBits( kdbdmaFlush )); DBDMA: writel 0x0000000000000b00 <= 0xa0002000 DBDMA: channel 0x16 reg 0x0 DBDMA: status 0x00002000 while( IOGetDBDMAChannelStatus( registers) & ( kdbdmaActive | kdbdmaFlush)) eieio(); DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 DBDMA: readl 0x0000000000000b04 => 0x00002000 DBDMA: channel 0x16 reg 0x1 it continues to get printed } Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> [agraf: replace tabs with spaces] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e13da40448fabb0829d75b01dc57da5f44f391b3 Author: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Date: Thu Feb 21 07:34:10 2013 +0000 PPC: Fix dma interrupt In openbios (drivers/ide.c) they are set to 0000000d 00000000 00000002 00000000 0000000e 00000000 00000003 00000000 0000000f 00000000 00000004 00000000 (The last one seems to be not implemented in qemu) It follows convention of how they are set on real machines, both ide and dma ones are increased Real machine one: http://web.archive.org/web/20090107151044/http://penguinppc.org/historical/dev-trees-html/g4_agp_500_2.html 00000013 00000001 0000000b 00000000 00000014 00000001 0000000c 00000000 00000015 00000001 0000000d 00000000 Signed-off-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit edbe35e0319c15ed2f373bcca626cbb4361f87c8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Feb 20 18:24:57 2013 +0000 target-ppc: Fix PPC_DUMP_SPR_ACCESS build A victim of the d523dd00a7d73b28f2e99acf45a4b3f92e56e40a AREG0 conversion, insert the missing cpu_env arguments. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 70b79849b84510604e46299672e663a703ad5a4b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 20 16:41:51 2013 +0000 target-ppc: Synchronize FPU state with KVM Currently qemu does not get and put the state of the floating point and vector registers to KVM. This is obviously a problem for savevm, as well as possibly being problematic for debugging of FP-using guests. This patch fixes this by using new extensions to the ONE_REG interface to synchronize the qemu floating point state with KVM. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d67d40ea07577b0a952d3bea5a2f92edf0ee26a6 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Feb 20 16:41:50 2013 +0000 target-ppc: Add mechanism for synchronizing SPRs with KVM Currently when runing under KVM on ppc, we synchronize a certain number of vital SPRs to KVM through the SET_SREGS call. This leaves out quite a lot of important SPRs which are maintained in KVM. It would be helpful to have their contents in qemu for debugging purposes, and when we implement migration it will be vital, since they include important guest state that will need to be restored on the target. This patch sets up for synchronization of any registers supported by the KVM ONE_REG calls. A new variant on spr_register() allows a ONE_REG id to be stored with the SPR information. When we set/get information to KVM we also synchronize any SPRs so registered. For now we set this mechanism up to synchronize a handful of important registers that already have ONE_REG IDs, notably the DAR and DSISR. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d60fa42e8bae39440f997ebfe8fe328269a57d16 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Feb 19 04:41:11 2013 +0000 Save memory allocation in the elf loader The current elf loader uses too much memory. For example, I have a executable with a bss section of 400 MB and I set the ram size to 512 MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at 1.6 GB during initialization (this is not fine). This patch fixes two things: 1) do not allocate each elf program twice. 2) do not allocate memory for areas that are only zeros. For this we need a new field in Rom: "datasize" which is the size of the allocated data. If datasize is less than romsize, it means that the area from datasize to romsize is filled with zeros. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6bbd5dde9a10520eb069c4bff9f2e34b96b1cfee Author: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 18 05:00:32 2013 +0000 pseries: Implement h_read hcall This h_call is useful for DLPAR in future amongst other things. Given an index it fetches the corresponding PTE stored in the htab. Signed-off-by: Erlon Cruz <erlon.cruz@xxxxxxxxxxxxxxxxxx> Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit befa8af375acd52d7118fa8d4fdf15acee8d378a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:51 2013 +0000 target-ppc: Change "POWER7" CPU alias Let it resolve to v2.3 rather than v2.0. Suggested-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cc4a04db05b083748b0ee9e642d68496a3d531ec Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:50 2013 +0000 target-ppc: Fix remaining microcontroller typos among models controler -> controller Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 953af181f5d1c51e8111c345c70f277185f1a6e0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:49 2013 +0000 target-ppc: Split model definitions out of translate_init.c Now that model definitions only reference their parent type, model definitions are independent of the family definitions and can be compiled independently of TCG translation. Keep all #if defined(TODO) code local to cpu-models.c. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 09cc86f2b16ae242c031a01c6adca0ac5c5791ce Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:48 2013 +0000 target-ppc: Update Coding Style for CPU models Drop the space in #if defined (TODO). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0233c9abe16d8f7cdeb76ea54e84c68fe2b0037 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:47 2013 +0000 target-ppc: Turn descriptive CPU model comments into device descriptions Fix microcontroller typo while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ca5dff0a3e532ea9168934fc361e96d969007284 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:46 2013 +0000 target-ppc: Turn descriptive CPU family comments into device descriptions This gets rid of some more overly long comments that have lost most of their purpose now that in most cases there's only two functions left per CPU family. The class field is inherited by the actual CPU models, so override it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ba9fd9f1509c9729286a1071e217db9df05e6896 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:45 2013 +0000 target-ppc: Set remaining fields on CPU family classes Now POWERPC_DEF_SVR() no longer sets family-specific fields itself. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4d7fb187e07b35dcbe51e906927a94ed691e0c7a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:44 2013 +0000 target-ppc: Register all types for TARGET_PPCEMB Don't attempt to suppress registration of CPU types, since the criteria is actually a property of the class and should thus become a field. Since we can't check a field set in a class_init function before registering the type that leads to execution of that function, guard the -cpu class lookup instead and suppress exposing these classes in -cpu ? and in QMP. In case someone tries to hot-add an incompatible CPU via device_add, error out in realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 53116ebfc98b72a00297255e216fac87c65e23a5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:43 2013 +0000 target-ppc: Set instruction flags on CPU family classes Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7856e3a41ba8ec5da3dc0b449dc6feaf999d3ffe Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:42 2013 +0000 target-ppc: Introduce abstract CPU family types Instead of assigning *_<family> constants, set .parent to a family type. Introduce a POWERPC_FAMILY() macro to keep type registration close to its implementation. This macro will need tweaking later. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cfe34f44b3a13ed32891e0b3c84be91d3d91a4b8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:41 2013 +0000 target-ppc: Convert CPU definitions Turn the array of model definitions into a set of self-registering QOM types with their own class_init. Unique identifiers are obtained from the combination of PVR, SVR and family identifiers; this requires all alias #defines to be removed from the list. Possibly there are some more left after this commit that are not currently being compiled. Prepares for introducing abstract intermediate CPU types for families. Keep the right-aligned macro line breaks within 78 chars to aid three-way merges. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit de400129daf3ff0f7468363f6d886fcdcc626ea6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:40 2013 +0000 target-ppc: Get model name from type name We are about to drop the redundant name field along with ppc_def_t. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f591784b639c72138f0cfd30b46dcf328f9adc8b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:39 2013 +0000 target-ppc: Extract POWER7 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit df43f4b863ba4f7f89afedddc86ad9e11157b51e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:38 2013 +0000 target-ppc: Extract 970 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4bdba7fd2efbd57b9dc12bfb930f085a54f3df47 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:37 2013 +0000 target-ppc: Extract 405GPe alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b48a1ad3242fc7f6a19620f8a23f92a4f9ffb67 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:36 2013 +0000 target-ppc: Extract MPC8240 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 236824f276fafbfbb5399ca2c9c72298a401e223 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:35 2013 +0000 target-ppc: Extract MPC5200/MPC5200B aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cf9314cd77f07398303423dd17c520fa92d0b30f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:34 2013 +0000 target-ppc: Extract MPC52xx alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d329ceb2baa441629e83006a7e86933d871edadd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:33 2013 +0000 target-ppc: Extract MPC82xx_HiP{3, 4} aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f172e4b99f73115705842bcd676253644e8c356c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:32 2013 +0000 target-ppc: Extract MPC82xx aliases to *_HiP4 Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4d55320fdb64b9110fa379520434f70d60d90bdd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:31 2013 +0000 target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases This depends on the fix for "G2leGP3" PVR. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 63499f2109f7849420cc8858204bff267a0edcd6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:30 2013 +0000 target-ppc: Extract MPC82xx alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4475e98f995ab726ce8bbf70225b2d90b20b9cd3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:29 2013 +0000 target-ppc: Extract e200 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0683641cc754e3d786acdeab8d00723dbd87727b Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:28 2013 +0000 target-ppc: Extract e300 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9538de4fe708ca09af3a786fb9b26e2269ebc8f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:27 2013 +0000 target-ppc: Extract MPC83xx aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6d4decb484b5cc31a9a4a069eff21c89f8d288b5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:26 2013 +0000 target-ppc: Extract e500v1/e500v2 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 52d80768dba6876919bb4e7f4fc00641431ef2cf Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:25 2013 +0000 target-ppc: Extract MPC85xx aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 91b5d028786b22bc4fe89b439ea55276ad09ec8a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:21 2013 +0000 target-ppc: Extract 604e alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 336c86322d67dd3eb2e6d571b9d94c761b6988ea Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:24 2013 +0000 target-ppc: Extract 601/601v aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4ae0e9d870f0e588a459529d9cc660e20f2ac5b3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:23 2013 +0000 target-ppc: Extract 603r alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 16a177333eaa041104f8eeb37d7bbc33d6753695 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:22 2013 +0000 target-ppc: Extract 603e alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0446aecd56739760a2fa4b1dec342e3a4d5ebe9e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:20 2013 +0000 target-ppc: Extract 740/750 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8fc82f9e0d93b6d827a874a25dce6f6a226cef5d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:19 2013 +0000 target-ppc: Extract 750 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 80c7abd3171c2939020f01d5310c3bd066ccad19 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:18 2013 +0000 target-ppc: Extract 7x5 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 06704e9ceb85916537c8398735aa18e24ebdad86 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:17 2013 +0000 target-ppc: Extract 7400 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 08546b912cc5f2940ef9e6d2d83abb43d295bbee Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:16 2013 +0000 target-ppc: Extract 7410 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit df502ce84527fc55544c66c2bd9a920480036cb6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:15 2013 +0000 target-ppc: Extract 7448 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e9a7cf3bb386ce4b425e4dd154fa660e59939ab5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:14 2013 +0000 target-ppc: Extract 7450 alias Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 078840e1bc1e21964fbf91548a9430a1a61195de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:13 2013 +0000 target-ppc: Extract 74x1 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d96c8a2344eea5d15556d86f986c4911fb875831 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:12 2013 +0000 target-ppc: Extract 74x5 as aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4c739207ddaa2d4da96f887b802536117a49e6e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:11 2013 +0000 target-ppc: Extract 74x7[A] aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a7de06e17ecdd3b2cd57c2b6f01913e663365f49 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:10 2013 +0000 target-ppc: Turn "ppc32" and "ppc64" CPUs into aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8c00a9991ae759048c444a6836ce2206e4b0d372 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:09 2013 +0000 target-ppc: Extract 440 aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8f43bc789c7ddd1a0f5b3cbc55cf67a1c6ae44e5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:08 2013 +0000 target-ppc: Extract 40x aliases Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 20267b6f327ed2d7c54451034d234d67b1b410e9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:07 2013 +0000 target-ppc: Extract MGT823/MPC8xx as aliases They used different PVRs but were defined to MPC8xx. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0b9a74e53c012953c54f4bd5a09e20cf1cc48a7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:06 2013 +0000 target-ppc: Extract MPC5xx aliases Their PVR differed but was defined to MPC5xx. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f7851859d2af38bbdf953269a7e2a9b4681b4253 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:05 2013 +0000 target-ppc: Make -cpu "ppc" an alias to "ppc32" Drop the #if 0'ed alternative to make it "ppc64" for TARGET_PPC64. If we ever want to change it, we can more easily do so now. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fd5ed418c7703bb7403f89f1474b0fe633f989cf Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:04 2013 +0000 target-ppc: Extract aliases from definitions list Move definitions that were 100% identical except for the name into a list of aliases so that we don't register duplicate CPU types. Drop the accompanying comments since they don't really add value. We need to support recursive lookup due to code names referencing a generic name referencing a specific model revision. List aliases separately for -cpu ?. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c4d0a36c3630ad30058406747d3cd4cc6a6eae3c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:03 2013 +0000 target-ppc: Inline comma into POWERPC_DEF_SVR() macro To repurpose the POWERPC_DEF_SVR() macro outside of an array, move the comma into the macro. No functional change. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9a1350539a69f465c14109605d6648572794ceda Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:02 2013 +0000 target-ppc: Drop nested TARGET_PPC64 guard for POWER7 It is within a large TARGET_PPC64 section from 970 to 620, so an #endif /* TARGET_PPC64 */ is confusing. Clean this up. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5e95acc8ff2a068b09494f2522744f89f662a515 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:01 2013 +0000 target-ppc: Update error handling in ppc_cpu_realize() Commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e added a new fatal error message while QOM realize'ification was in flight. Convert it to return an Error instead of exit()ing. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bfe6d5b0daf9fdafeb0dbb7c26774dbb1bbb4507 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Feb 17 23:16:00 2013 +0000 target-ppc: Fix "G2leGP3" PVR Unlike derived PVR constants mapped to CPU_POWERPC_G2LEgp3, the "G2leGP3" model definition itself used the CPU_POWERPC_G2LEgp1 PVR. Fixing this will allow to alias CPU_POWERPC_G2LEgp3-using types to "G2leGP3". Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0136d715ad985fccb8fed4bb5081d5bd20bfe88c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 11 10:53:11 2013 +0000 target-ppc: Fix CPU_POWERPC_MPC8547E It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21. Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show. Fixing this nontheless helps with QOM'ifying CPU aliases. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 156dfaded87d718a9ea798083e1c3e5ea7526713 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Feb 10 18:59:02 2013 +0000 pseries: Add cleanup hook for PAPR virtual LAN device Currently the spapr-vlan device does not supply a cleanup call for its NetClientInfo structure. With current qemu versions, that leads to a SEGV on exit, when net_cleanup() attempts to call the cleanup handlers on all net clients. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d6258c93a7133bb2bf2ab4e91476bc0b631ba7f1 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Mar 5 23:21:35 2013 +0530 virtio-serial: make flow control explicit in virtio-console virtio-console.c used to return a value less than the number of bytes asked to be written out to a chardev backend in case the backend is not writable. virtio-serial-bus.c then implicitly enabled flow control for that port. Make this explicit instead. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: f5ec50b068c25422256e499cf4adc06d353bf394.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7df4d4578f70b565870f353ba0b72f2f23781a09 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Mar 5 23:21:34 2013 +0530 virtio: console: add flow control The virtio-serial-bus already has the logic to make flow control work properly. Hook into the char layer's new ability to signal a backend is writable again. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: abffa02235d55ca6e2489068c58971c8897e976c.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fcfb4d6aae611d1f804d486d3c998000912c4c81 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:33 2013 +0530 serial: add flow control to transmit Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 2976f10d4e66ed4a34011f6f0d6937026d22be5f.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 01f45d986fb0b7c2d4f0466efe3cde9708f325be Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:32 2013 +0530 qemu-char: move text console init to console.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 17cefde0a8d7807294bab95e93c3328a20d3f2ed.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5ab8211b9e1215ed136164c6d9622f2c928f7a8d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:31 2013 +0530 qemu-char: move msmouse registeration to msmouse.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: b47d1153b0d7669743c9a6bb98ce30f4cf7f876b.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 08744c98115cfa144ed3493556024e400b2e2573 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:30 2013 +0530 qemu-char: move baum registration to baum.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 1b24baa1ec3a174d5cad31e079d829904b53077b.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 26c60614524f41bc9016cbe27eaefe59473d3461 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:29 2013 +0530 qemu-char: move spice registration to spice-qemu-char.c Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 49a8d12eeb117e5530b2fab02af7681b54f9245c.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d654f34ec8bf006f9b57a067e0f272ab94ee8e06 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:28 2013 +0530 qemu-char: make char drivers dynamically registerable Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 0ff4f5f2b8b7afdb85a0c241403ad73f472f0b81.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9f939df955a4152aad69a19a77e0898631bb2c18 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:27 2013 +0530 qemu-char: remove use of QEMUTimer in favor of glib idle function qemu-char is now independent of the QEMU main loop. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 3cda0bbcfb94912df8a767983a52bb71a4a3231d.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8aa33cafc41a0fe8549d1dbcc65b75c31112dea8 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:26 2013 +0530 qemu-char: use a glib timeout instead of qemu-timer Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 05a883ce5a98275b976bf0124610599859c2b7da.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d3cc5bc416cdf25bae0f3f6de58830be8ac5b648 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Mar 5 23:21:25 2013 +0530 char: add gio watch fn for tcp backends Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: b50e668c4f4146a654c5d4412440eb9e589f2c02.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e6a87ed837b52aea903c25693b1e3703824b9ef7 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:24 2013 +0530 qemu-char: add pty watch This lets ptys support adding front end watchs. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 23380f37b22d407ba0b9e080f6ea0d66b279f2d2.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 23673ca740e0eda66901ca801a5a901df378b063 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:23 2013 +0530 qemu-char: add watch support This allows a front-end to request for a callback when the backend is writable again. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 96f93c0f741064604bbb6389ce962191120af8b7.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ea5a7af7bfa576a5936400ccca4144caca9640b Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:22 2013 +0530 qemu-char: tcp: make use GIOChannel I didn't bother switching to g_io_channel_read/write because we need to use sendmsg on Unix. No problem though since we're using an unbuffered channel. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 002f726576dfb51bca4854aa257b74d77c1cd4e8.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 76a9644b711541472d9fb3a9b418acd55d9464a1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:21 2013 +0530 qemu-char: convert UDP to GIOChannel Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 775a2bd666a3d1fa008656bf97191b7573c6ffb5.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 093d3a20055282e282ba056addbe59b79e13a32f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:20 2013 +0530 qemu-char: convert pty to GIOChannel Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 339eebf3c59a450b0354056e9ac4b41f67230831.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a29753f8aa79a34a324afebe340182a51a5aef11 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:19 2013 +0530 qemu-char: convert fd_chr to use a GIOChannel This uses the newly introduced IOWatchPoll source. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 0cb5d14510ee835a0ebc23676d10a2cce9280da5.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 96c6384776d631839a9c8fe02bf135f9ba22586c Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:18 2013 +0530 char: add IOWatchPoll support This is a special GSource that supports CharDriverState style poll callbacks. For reviewability and bisectability, this code is #if 0'd out in this patch to avoid unused warnings since all of the functions are static. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 9b59ac17b9d0bb3972a73fed04d415f07b391936.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ed7a154063266a30a31752d3b18d484ddc7f5aa9 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:17 2013 +0530 qemu-char: remove dead/confusing logic with nb_stdio_clients This code is very old dating back to 2007. What is puzzling is that STDIO_MAX_CLIENTS was always #define to 1 meaning that all of the code to deal with more than one client was unreachable. Just remove the whole mess of it. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: d276bccdbf4e7463020c5f539f61ae3bfbc88d1d.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit baca6f183d78a0c864a5ccc0ec64e26ba960e604 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Mar 5 23:21:16 2013 +0530 char-socket: fix error reporting Right now the inet connect code tries all available addresses but until one doesn't fail. It passes local_err each time without clearing it from the previous failure. This can trigger an assert since the inet connect code tries to set an error on an object != NULL. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Message-id: 16c806d60aa5e9660ed7751bb4e37dcd278f97f0.1362505276.git.amit.shah@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit db2d5eba652ecb7420ac4ef79fc747ef391ad0d9 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 7 15:50:26 2013 +0800 Fix the wrong description in qemu manual Fix LP#1151450 the wrong description in qemu manual: 'qemu-system-x86_84' should be 'qemu-system-x86_64'. Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d37e12a07c06b13610b7fabb6b8e009d7a759bc8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Mar 1 16:57:41 2013 +0000 pci_host: Drop write-only address_space field The address_space field of PCIHostState was only ever written, never used. Drop it completely. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7f9c9d12856e65e272297a619705864d9e6346f8 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 1 07:53:55 2013 -0500 rng-random: Use qemu_open / qemu_close In the rng backend use qemu_open and qemu_close rather than POSIX open/close. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 358689fe299c306f1d81bea57a5067d0abb56699 Author: Michal Privoznik <mprivozn@xxxxxxxxxx> Date: Fri Mar 1 08:43:18 2013 +0100 configure: Require at least spice-protocol-0.12.3 As of 5a49d3e9 we assume SPICE_PORT_EVENT_BREAK to be defined. However, it is defined not in 0.12.2 what we require now, but in 0.12.3. Therefore in order to prevent build failure we must adjust our minimal requirements. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4bd1afbdb3a228683dafa77a9fb3093f0dfab1de Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 6 22:29:16 2013 +0800 osdep: replace setsockopt by qemu_setsockopt Fix the compiler warning when cross build qemu-ga for windows by using qemu_setsockopt() instead of setsockopt(). util/osdep.c: In function 'socket_set_nodelay': util/osdep.c:69:5: warning: passing argument 4 of 'setsockopt' from incompatible pointer type [enabled by default] In file included from /home/lei/qemu_b/include/sysemu/os-win32.h:30:0, from /home/lei/qemu_b/include/qemu-common.h:46, from util/osdep.c:48: /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:990:63: note: expected 'const char *' but argument is of type 'int *' Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 58427a0f42679c875b077b7adc5db36897973865 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Mar 4 18:11:47 2013 +0100 lm32: remove unused function The milkymist-minimac device in fact does not exist at all. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit eeb29fb9aa733f97d85857c210d6580a92a1b532 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Feb 26 19:31:32 2013 -0500 rtc-test: Fix test failures with recent glib As of glib 2.35.4, glib changed its logic for ordering test cases: https://bugzilla.gnome.org/show_bug.cgi?id=694487 This was causing failures in rtc-test. Group the reordered test cases into their own suite, which maintains the original ordering. CC: qemu-stable@xxxxxxxxxx Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4652b792f01b559e005186b703ed9b1a11cbf8e3 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Feb 22 21:05:01 2013 +0100 configure: Create link to icon bitmap for out-of-tree builds This allows to pick up the icon when starting QEMU directly from an out-of-tree build directory. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0bc472a9d6b80567c212023c5eae413f4dfb53ad Author: Kuo-Jung Su <dantesu@xxxxxxxxx> Date: Tue Mar 5 21:27:24 2013 +0000 hw/nand.c: correct the sense of the BUSY/READY status bit The BIT6 of Status Register(SR): SR[6] behaves the same as R/B# pin SR[6] = 0 indicates the device is busy; SR[6] = 1 means the device is ready Some NAND flash controller (i.e. ftnandc021) relies on the SR[6] to determine if the NAND flash erase/program is success or error timeout. P.S: The exmaple NAND flash datasheet could be found at following link: http://www.mxic.com.tw/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/8FEA549237D2F7674825795800104C26/$File/MX30LF1G08AA,%203V,%201Gb,%20v1.1.pdf Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 0c92e0e6b64c9061f7365a2712b9055ea35b52f9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 25 12:16:05 2013 +0100 scsi-disk: handle io_canceled uniformly and correctly Always check it immediately after calling bdrv_acct_done, and always do a "goto done" in case the "done" label has to free some memory---as is the case for scsi_unmap_complete in the previous patch. This patch could fix problems that happen when a request is split into multiple parts, and one of them is canceled. Then the next part is fired, but the HBA's cancellation callbacks have fired already. Whether this happens or not, depends on how the block/ driver implements AIO cancellation. It it does a simple bdrv_drain_all() or similar, then it will not have a problem. If it only cancels the given AIOCB, this scenario could happen. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d0242eadc5bba4f3abe34bc5d536bbfb81aa9891 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 25 12:14:34 2013 +0100 scsi-disk: do not complete canceled UNMAP requests Canceled requests should never be completed, and doing that could cause accesses to a NULL hba_private field. Cc: qemu-stable@xxxxxxxxxx Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Tested-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6f6710aa99ac53b59ff0f14380830cb9ab6bdc14 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 25 12:12:58 2013 +0100 scsi: do not call scsi_read_data/scsi_write_data for a canceled request Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3c33ea9640758bb625e110a77673e5abfd184e54 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 18:14:28 2013 +0100 iscsi: look for pkg-config file too Due to library conflicts, Fedora will have to put libiscsi in /usr/lib/iscsi. Simplify configuration by using a pkg-config file. The Fedora package will distribute one, and the patch to add it has been sent to upstream libiscsi as well. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb1b83e740384b4e0d950f3d7c81c02b8ce86c2e Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 18 14:50:46 2013 +0100 iscsi: add iscsi_truncate support this patch adds iscsi_truncate which effectively allows for online resizing of iscsi volumes. for this to work you have to resize the volume on your storage and then call block_resize command in qemu which will issue a readcapacity16 to update the capacity. v4: - factor out complete readcapacity logic into a separate function - handle capacity change check condition in readcapacity function (this happens if the block_resize cmd is the first iscsi task executed after a resize on the storage) v3: - remove switch statement in iscsi_open - create separate patch for brdv_drain_all() in bdrv_truncate() v2: - add a general bdrv_drain_all() before bdrv_truncate() to avoid in-flight AIOs while the device is truncated - since no AIOs are in flight we can use a sync libiscsi call to re-read the capacity - factor out the readcapacity16 logic as it is redundant to iscsi_open() and iscsi_truncate(). Signed-off-by: Peter Lieven <pl@xxxxxxx> [allow any type of unit attention check condition in iscsi_readcapacity_sync(), as in Message-ID: <51263A2A.6070304@xxxxxxxxx> - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1dde716ed6719c341c1bfa427781f0715af90cbc Author: Peter Lieven <pl@xxxxxxxxx> Date: Thu Feb 21 16:15:54 2013 +0100 iscsi: retry read, write, flush and unmap on unit attention check conditions the storage might return a check condition status for various reasons. (e.g. bus reset, capacity change, thin-provisioning info etc.) currently all these informative status responses lead to an I/O error which is populated to the guest. this patch introduces a retry mechanism to avoid this. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 76c48503c4c87afabf0c93acf78480f65276844d Merge: 597e2ce... ed4659d... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Mar 5 15:11:30 2013 +0100 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: MAINTAINERS: add entry for ARM KVM guest cores configure: Enable KVM on ARM hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC target-arm: Use MemoryListener to identify GIC base address for KVM hw/arm_gic: Convert ARM GIC classes to use init/realize hw/arm_gic: Add presave/postload hooks ARM KVM: save and load VFP registers from kernel ARM: KVM: Add support for KVM on ARM architecture target-arm: Drop CPUARMState* argument from bank_number() linux-headers: resync from mainline to add ARM KVM headers oslib-posix: Align to permit transparent hugepages on ARM Linux target-arm: Don't decode RFE or SRS on M profile cores target-arm: Factor out handling of SRS instruction commit 597e2cec8096e0703506abcbbf66938b5ac04368 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:50 2013 -0800 mipsn32-linux-user: Configure the architecture properly N32 is a 64-bit cpu with a 32-bit address space. We have existing cpp defines for this situation, but weren't using them. This does mean that the linux-user/mipsn32 directory must be merged with the linux-user/mips64 directory, and differences must be resolved via ifdefs. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 68473f15d4c9948986618f63828825beafcaf1cf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:46 2013 -0800 mips64-linux-user: Enable 64-bit address mode and fpu Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ff4f7382815d31933fe0cbedce03270e4b62b771 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:45 2013 -0800 mips-linux-user: Fix n32 and n64 syscalls Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 084d0497a0edf060d8f61c798217b6d0622a5feb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:44 2013 -0800 mips-linux-user: Save and restore fpu and dsp from sigcontext Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 51cd14d3f56f15cb82e63d694a023ce2b02334f9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:43 2013 -0800 mips-linux-user: Enable mips64 and mipsn32 linux-user targets At this point we can enable compilation, though things still don't work. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ff97090469eb4a5f21a1f482b27382b8205d1232 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:42 2013 -0800 mips-linux-user: Share o32 code for n32 and n64 signals Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 2c3c6689b32529b56261bbbca36ba8544a34dd60 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Feb 10 10:30:41 2013 -0800 mips-linux-user: Delete n32 and n64 signal stubs Deleting these first makes the next patch much easier to read. This doesn't cause any sort of compilation failure because we have not yet enabled n32/n64 compilation. This is dead code. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ed4659d10fa2ec16ace367e4fffe6f7ced73112c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:43 2013 +0000 MAINTAINERS: add entry for ARM KVM guest cores Add an entry indicating maintainer status for the ARM KVM code. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 68b05c427b0d220e38bfa21ee6df7970f158b377 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:43 2013 +0000 configure: Enable KVM on ARM Enable KVM on ARM hosts, now that all the necessary components for it exist. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ed46676160d94d279e32ce955fd60b76c7a1b370 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:43 2013 +0000 hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC Implement support for using the KVM in-kernel GIC for ARM. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit eb035b48d5ff26a155f37106f693acb8b8487d80 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:42 2013 +0000 target-arm: Use MemoryListener to identify GIC base address for KVM When using an in-kernel GIC with KVM, we need to tell the kernel where the GIC's memory mapped registers live. Do this by registering a MemoryListener which tracks where the board model maps the A15's private peripherals, so we can finish the GIC initialisation when the GIC is actually mapped. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 53111180946a56d314a9c1d07d09b9ef91e847b9 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:42 2013 +0000 hw/arm_gic: Convert ARM GIC classes to use init/realize Convert the ARM GIC classes to use init/realize rather than SysBusDevice::init. (We have to do them all in one patch to avoid unconverted subclasses calling a nonexistent SysBusDevice init function in the base class and crashing.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit 9ecb992674cec86091b4fce3bd66faee8b56b165 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:41 2013 +0000 hw/arm_gic: Add presave/postload hooks Add presave/postload hooks to the ARM GIC common base class. These will be used by the KVM in-kernel GIC subclass to sync state between kernel and userspace when migrating. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 81635574f6e7f4d18ea059ecbeeec93c3ffc284c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:41 2013 +0000 ARM KVM: save and load VFP registers from kernel Add support for saving and restoring VFP register state from the kernel. This includes a check that the KVM-created CPU has full VFP support (as the TCG Cortex-A15 model always does), since for the moment ARM QEMU doesn't have any way to tweak optional features on created CPUs. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 494b00c76afb906a2d093b71c8772331c2a19a89 Author: Christoffer Dall <cdall@xxxxxxxxxxxxxxx> Date: Tue Mar 5 00:34:41 2013 +0000 ARM: KVM: Add support for KVM on ARM architecture Add basic support for KVM on ARM architecture. Signed-off-by: Christoffer Dall <cdall@xxxxxxxxxxxxxxx> [PMM: Minor tweaks and code cleanup, switch to ONE_REG] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f5206413affd658e2fdcf893c810d715b2c7fec6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:40 2013 +0000 target-arm: Drop CPUARMState* argument from bank_number() Drop the CPUARMState* argument from bank_number(), since we only use it for passing to cpu_abort(). Use hw_error() instead. This avoids propagating further interfaces using env pointers. In the long term this function's callers need auditing to fix problems where badly behaved guests can pass invalid bank numbers. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit eadd0e4413c9b69015c798909f48ec48ab0c7bd4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:40 2013 +0000 linux-headers: resync from mainline to add ARM KVM headers Resync QEMU's copy of the Linux kernel headers from git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit 2ef14f4. This adds the ARM KVM headers, since ARM KVM support has just hit mainline via Russell's ARM tree. This is not a pure sync -- I have removed by hand some changes that would have reverted updates for s390x and ppc which have not yet hit mainline. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 2e07b297e0b450fe38bab115f71749e032d7191c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:34:40 2013 +0000 oslib-posix: Align to permit transparent hugepages on ARM Linux ARM Linux (like x86-64 Linux) can use transparent hugepages for KVM if memory blocks are 2MiB aligned; set QEMU_VMALLOC_ALIGN accordingly. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 00115976bb066d4b33dbb07a92f8bde5ec8b9518 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:31:17 2013 +0000 target-arm: Don't decode RFE or SRS on M profile cores M profile cores do not have the RFE or SRS instructions, so correctly UNDEF these insn patterns on those cores. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 81465888c5306cd94abb9847e560796fd13d3c2f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Mar 5 00:31:17 2013 +0000 target-arm: Factor out handling of SRS instruction Factor out the handling of the SRS instruction rather than duplicating it between the Thumb and ARM decoders. This in passing fixes two bugs in the Thumb decoder's SRS handling which didn't exist in the ARM decoder: * (LP:1079080) storing CPSR rather than SPSR (fixed in the ARM decoder in commit c67b6b71 in 2009) * failing to free the 'addr' TCG temp in the writeback case Reported-by: Cesson Vincent <vcesson@xxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 26135ead80fa1fd13e95c162dacfd06f2ba82981 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Mon Jan 21 20:43:31 2013 +0000 target-mips: Fix accumulator selection for MIPS16 and microMIPS Add accumulator arguments to gen_HILO and gen_muldiv, rather than extracting the accumulator directly from ctx->opcode. The extraction was only right for the standard encoding: MIPS16 doesn't have access to the DSP registers, while microMIPS encodes the accumulator register in a different field (bits 14 and 15). Passing the accumulator register is probably an over-generalisation for division and 64-bit multiplication, which never access anything other than HI and LO, and which always pass 0 as the new argument. Separating them felt a bit fussy though. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 54b2f42cb1eef758b6070e805a5d6f7a84315ace Author: Meador Inge <meadori@xxxxxxxxxxxxxxxx> Date: Thu Jan 10 16:50:22 2013 -0600 target-mips: Translate breaks and traps into the appropriate signal GCC and GAS are capable of generating traps or breaks to check for division by zero. Additionally, GAS is capable of generating traps or breaks to check for overflow on certain division and multiplication operations. The Linux kernel translates these traps and breaks into signals. This patch implements the corresponding feature in QEMU. Signed-off-by: Meador Inge <meadori@xxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 20c334a797bf46a4ee59a6e42be6d5e7c3cda585 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Date: Mon Feb 25 16:45:40 2013 +0100 target-mips: fix DSP overflow macro and affected routines The previous implementation incorrectly used same macro to detect overflow for addition and subtraction. This patch makes distinction between these two, and creates separate macros. The affected routines are changed accordingly. This change also includes additions to the existing tests for SUBQ_S_PH and SUBQ_S_W that would trigger the fixed issue, and it removes dead code from the test file. The last test case in subq_s_w.c is a bug found/reported/ isolated by Klaus Peichl from Dolby. Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 71df81afc618da79008a7071a666cf97b62e1237 Merge: a690060... 272d2d8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:22:48 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging # By MORITA Kazutaka (5) and others # Via Stefan Hajnoczi * stefanha/block: block: for HMP commit() operations on 'all', skip non-COW drives sheepdog: add support for connecting to unix domain socket sheepdog: use inet_connect to simplify connect code sheepdog: accept URIs move socket_set_nodelay to osdep.c slirp/tcp_subr.c: fix coding style in tcp_connect dataplane: remove EventPoll in favor of AioContext virtio-blk: fix unplug + virsh reboot ide/macio: Fix macio DMA initialisation. commit a6900601caf2286a704bdc42da33e98c65feb3a9 Merge: e482ded... 554f199... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:22:41 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,vhost,pci,e1000 Mostly bugfixes, but also some ICH work by Laszlo. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Thu 28 Feb 2013 07:13:56 AM CST using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: Set virtio-serial device to have a default of 2 MSI vectors. ICH9 LPC: Reset Control Register, basic implementation Fix guest OS hang when 64bit PCI bar present e1000: unbreak the guest network migration to 1.3 vhost: memory sync fixes commit e482dedc503819a009e245996f7cdb13eed6b165 Merge: bf5363e... 5c75fb1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:20:32 2013 -0600 Merge remote-tracking branch 'kraxel/seabios-1.7.2.1' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2.1: update seabios to 1.7.2.1 commit bf5363efcff81226d779d1cc1117cb277b458ecb Merge: 806f352... af347aa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Mar 4 08:20:06 2013 -0600 Merge remote-tracking branch 'stefanha/net' into staging # By Jason Wang (2) and others # Via Stefan Hajnoczi * stefanha/net: qmp: netdev_add is like -netdev, not -net, fix documentation doc: document -netdev hubport net: reduce the unnecessary memory allocation of multiqueue tap: set IFF_ONE_QUEUE per default tap: forbid creating multiqueue tap when hub is used net: fix unbounded NetQueue net: fix qemu_flush_queued_packets() in presence of a hub commit 272d2d8e1241b92ab9be87b2c8fb590fd84987a8 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Tue Feb 26 09:55:48 2013 -0500 block: for HMP commit() operations on 'all', skip non-COW drives During a commit of 'all' using the HMP non-live commit, the operation is aborted and returns error on the first error enountered. When non-COW drives are in use (e.g. ejected floppy, cdrom, or drives without a backing parent), that means a commit all will return an error of either -ENOMEDIUM or -ENOTSUP. This is not desirable, so for the 'all' commit case, only attempt the commit if both bs->drv and bs->backing_hd are present. More succinctly: 'commit all' now means a commit on all COW drives. This means an individual commit to a specific non-COW drive will still return the appropriate error (-ENOMEDIUM if eject / not present, -ENOTSUP if no backing file). Reported-by: Jan Kiszka <jan.kiszka@xxxxxx> Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1b8bbb46e7593b92ded74cc2a5461202c2b6c05c Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:53 2013 +0900 sheepdog: add support for connecting to unix domain socket This patch adds support for a unix domain socket for a connection between qemu and local sheepdog server. You can use the unix domain socket with the following syntax: $ qemu sheepdog+unix:///<vdiname>?socket=<socket path>[#snapid] Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 25af257d219ed2708b3bcf7f1fabf93234d27620 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:52 2013 +0900 sheepdog: use inet_connect to simplify connect code This uses the form "<host>:<port>" for the representation of the sheepdog server to use inet_connect. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5d6768e3b8908a60f0a3016b7fa24194f6b47c80 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:51 2013 +0900 sheepdog: accept URIs The URI syntax is consistent with the NBD and Gluster syntax. The syntax is sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag] Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bf1c852aa9cbe21beeb7c37d03e167c33ac196b2 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:50 2013 +0900 move socket_set_nodelay to osdep.c Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4ef7b8944cc5eae66159c60066b21466e2dc1ee4 Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Date: Fri Feb 22 12:39:49 2013 +0900 slirp/tcp_subr.c: fix coding style in tcp_connect Fix coding style in tcp_connect before the next patch. Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c20e711de308cdebc91ae4b7a983396b56f1de0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 22 10:40:34 2013 +0100 dataplane: remove EventPoll in favor of AioContext During the review of the dataplane code, the EventPoll API morphed itself (not concidentially) into something very very similar to an AioContext. Thus, it is trivial to convert virtio-blk-dataplane to use AioContext, and a first baby step towards letting dataplane talk directly to the QEMU block layer. The only interesting note is the value-copy of EventNotifiers. At least in my opinion this is part of the EventNotifier API and is even portable to Windows. Of course, in this case you should not close the notifier's underlying file descriptors or handle with event_notifier_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 69b302b2044a9a0f6d157d25b39a91ff7124c61f Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Feb 22 14:37:10 2013 +0100 virtio-blk: fix unplug + virsh reboot virtio-blk registers a vmstate change handler. Unfortunately this handler is not unregistered on unplug, leading to some random crashes if the system is restarted, e.g. via virsh reboot. Lets unregister the vmstate change handler if the device is removed. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 02d583c7232d65920634f7553700eb348f84e472 Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Date: Sun Feb 24 20:46:11 2013 +0000 ide/macio: Fix macio DMA initialisation. Commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 accidentally introduced a bug in the initialisation of the second macio DMA device which could cause some DMA operations to segfault QEMU. CC: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 806f352d3d6f7b326b0ab3a49c622b124459dc8d Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:05 2013 +0000 gen-icount.h: Rename gen_icount_start/end to gen_tb_start/end The gen_icount_start/end functions are now somewhat misnamed since they are useful for generic "start/end of TB" code, used for more than just icount. Rename them to gen_tb_start/end. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3a808cc407744c30daa7470b5f191cde1fbc1aae Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:04 2013 +0000 translate-all.c: Remove cpu_unlink_tb() The (unsafe) function cpu_unlink_tb() is now unused, so we can simply remove it and any code that was only used by it. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 378df4b23753a11be650af7664ca76bc75cb9f01 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:03 2013 +0000 Handle CPU interrupts by inline checking of a flag Fix some of the nasty TCG race conditions and crashes by implementing cpu_exit() as setting a flag which is checked at the start of each TB. This avoids crashes if a thread or signal handler calls cpu_exit() while the execution thread is itself modifying the TB graph (which may happen in system emulation mode as well as in linux-user mode with a multithreaded guest binary). This fixes the crashes seen in LP:668799; however there are another class of crashes described in LP:1098729 which stem from the fact that in linux-user with a multithreaded guest all threads will use and modify the same global TCG date structures (including the generated code buffer) without any kind of locking. This means that multithreaded guest binaries are still in the "unsupported" category. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 77211379d73ea0c89c0b5bb6eee74b17cb06f9a8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:02 2013 +0000 cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC If tcg_qemu_tb_exec() returns a value whose low bits don't indicate a link to an indexed next TB, this means that the TB execution never started (eg because the instruction counter hit zero). In this case the guest PC has to be reset to the address of the start of the TB. Refactor the cpu-exec code to make all tcg_qemu_tb_exec() calls pass through a wrapper function which does this restoration if necessary. Note that the apparent change in cpu_exec_nocache() from calling cpu_pc_from_tb() with the old TB to calling it with the TB returned by do_tcg_qemu_tb_exec() is safe, because in the nocache case we can guarantee that the TB we try to execute is not linked to any others, so the only possible returned TB is the one we started at. That is, we should arguably previously have included in cpu_exec_nocache() an assert(next_tb & ~TB_EXIT_MASK) == tb), since the API requires restore from next_tb but we were using tb. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fadf982584b040527aeee0ede270a4d01463d293 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 22 18:10:01 2013 +0000 cpu: Introduce ENV_OFFSET macros Introduce ENV_OFFSET macros which can be used in non-target-specific code that needs to generate TCG instructions which reference CPUState fields given the cpu_env register that TCG targets set up with a pointer to the CPUArchState struct. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0980011b4f66482d2733ab2dd0f2f61747772c6b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Feb 22 18:10:00 2013 +0000 tcg: Document tcg_qemu_tb_exec() and provide constants for low bit uses Document tcg_qemu_tb_exec(). In particular, its return value is a combination of a pointer to the next translation block and some extra information in the low two bits. Provide some #defines for the values passed in these bits to improve code clarity. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 07ca08bac88f116e9beb05d48d07b406ace8fbc0 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Wed Feb 27 16:09:38 2013 +0000 tcg-sparc: fix build Fix build breakage by 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c: make tcg_out_addsub2() always available. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7a2771d1541ec9a0c585e9b853e5f4dc036919ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 sh: move files referencing CPU to hw/sh4/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9f64bd8aec7c31c76fa0954aaee1475d482662b4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:20:00 2013 +0100 ppc: move more files to hw/ppc These sPAPR files do not implement devices, move them over. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c68c4a56e93f54b374c5207f0185f8e9fa2aec3b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 ppc: move files referencing CPU to hw/ppc/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9743b581a819a05668e6a1f60e3ee6486d25f141 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 m68k: move files referencing CPU to hw/m68k/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8786b05e7bf3c4fc7a25fa14f1736a716cd8a8c4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 i386: move files referencing CPU to hw/i386/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd285b06490d7ef5f7b2f5e6c87b85ddf4345078 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 15:22:56 2013 +0100 arm: move files referencing CPU to hw/arm/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 530182169e897c0e401b245552a4c58dc6846912 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:03:15 2013 +0100 hw: move boards and other isolated files to hw/ARCH Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:52:23 2013 +0100 ppc: express FDT dependency of pSeries and e500 boards via default-configs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 320ba5fe494c0ef59080eac33801ec1e453663fa Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 5 12:36:30 2013 +0100 build: always link device_tree.o into emulators if libfdt available Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 83c9f4ca794ec3b6fa7e5a5bb055d378916503e0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:40:22 2013 +0100 hw: include hw header files with full paths Done with this script: cd hw for i in `find . -name '*.h' | sed 's/^..//'`; do echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,' done | sed -i -f - `find . -type f` This is so that paths remain valid as files are moved. Instead, files in hw/dataplane are referenced with the relative path. We know they are not going to move to include/, and they are the only include files that are in subdirectories _and_ move. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7948b4b009b60c6e3b21daad29088b204ddb1966 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Feb 3 20:18:28 2013 +0100 ppc: do not use ../ in include files This simplifies the scripted execution of the next patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eac7ec7f6a5c9e1a0a082ea8525f31549b1f0cb4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:00:38 2013 +0100 vt82c686: vt82c686 is not a PCI host bridge Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 60653b28f505288689d0b44218de4bb9fd254519 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:37:49 2013 +0100 virtio-9p: remove PCI dependencies from hw/9pfs/ Also move the 9p.h file to 9pfs/virtio-9p-device.h, for consistency with the corresponding .c file. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7e6b14dfb575a687cb26be9995c96e5bbf5cba2e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 15:32:02 2013 +0100 virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1559e0d4b54d1b0744983b57da893617ceae8b94 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 17:20:47 2013 +0100 hw: move device-hotplug.o to toplevel, compile it once The situation with device-hotplug.c is similar to qdev-monitor.c. Add a stub for pci_drive_hot_add, so that it can be compiled once, and move it out of hw/. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4a42f81383d60900aae09513f42eb857a5a7c7c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 11:37:52 2013 +0100 hw: move qdev-monitor.o to toplevel directory qdev-monitor.c is the only "core qdev" file that is not used in user-mode emulation, and it does not define anything that is used by hardware models. Remove it from the hw/ directory and remove hw/qdev-monitor.h from hw/qdev.h too; this requires some files to have some new explicitly includes. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd7f0d66177ec1058a2a256856ff38fc9ceae5af Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Feb 4 10:57:50 2013 +0100 hw: move fifo.[ch] to libqemuutil fifo.c is generic code that can be easily unit tested. So it belongs in libqemuutil. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 159b6e9f144c7afdf3ad95c29d1fede9626fa8b1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Feb 3 20:21:00 2013 +0100 hw: move char backends to backends/ Braille and msmouse support is in hw/, but it is not hardware. Move it to the backends/ directory. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 288f1e3f87ec24abeac38399f175fe74243f7bc5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:16 2013 +0000 cadence_gem: Add debug msgs for rx desc movement Add some helpful messages that show the rx descriptor pointer moving as packets are rxed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1ef2eb34dade64d589a69a2bcfd5aaddb7d50164.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5025388b5083f199b05cc252c2b031d9fc230391 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:16 2013 +0000 cadence_gem: Don't reset rx desc pointer on rx_en This doesn't happen in the real hardware. The Zynq TRM explicitly states that this bit has no effect on the rx descriptor pointer ("The receive queue pointer register is unaffected"). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 06fdf92b78ee62d8965779bafd29c8df1a5d2718.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ae80a3546f412c407199b9b7ebd52ac604361e10 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 cadence_gem: fix interrupt events Bits in the ISR were continually mirroring their corresponding TX/RX SR bits. This is incorrect. The ISR bits are only ever set at the time their corresponding event occurs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: cedfb6d108318846480b416a6041023ea5a353d6.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1c5d07909aea7657c7c6b24223460150526369ba Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 cadence_gem: factor out can_rx() logic replication The gem_receive() function replicates the logic for whether or not the device can rx. Just call the actual gem_can_receive() function in place. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: bf7f93969f3e01fbc76d68d2955307fdbad11bb1.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e3f9d31c9899cc94e124b042d7d5353dbfd812ca Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 cadence_gem: Flush queued packets The device needs to check for queued RX packets when the RX path is re-enabled. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1fa8c88a3b7c654886d0a7484c2463cd4c2a2781.1360901435.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a7fd6915d84b20d5ff9ae287ddfabb9b222e7067 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:15 2013 +0000 m25p80.c: Use QOM classes for part differentiation Currently, M25P80 uses an object property to differentiate between flash parts. Changed this over to use QOM sub-classes - the actual names of the different parts are used to create a set of dynamic classes which passes the part info as class data. The object no longer needs to search the known_devices table for itself, instead it just gets its info from its own class. Kept the intermediate class definition private to m25p80.c for the moment, as the expectation is parts will only be added as new entries in the table. We can factor out the TYPE_M25P80 abstraction into a header on a demand basis. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: e24e156d-ff96-4901-997a-e31178b08bee@xxxxxxxxxxxxxxxxxxxxxx Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit b972b4e25340abdd23238bc8f3bdacbef533bd5a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 xilinx_zynq: Added SD controllers The Xilinx Zynq device has two SDHCI controllers. Added to the machine model. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 80f4d9fcea86aeb3071750c199416cab9abd5c28 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 vl.c: allow for repeated -sd arguments Allows for repeating of -sd arguments in the same way as -pflash and -mtdblock. Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit d7dfca0807a0f579d3ec985bf1220519420c4dfe Author: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 hw/sdhci: introduce standard SD host controller Device model for standard SD Host Controller Interface (SDHCI) compliant with version 2.00 of SD association specification. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 353575f0959234e1680622f747e20308c94505b7 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:14 2013 +0000 arm: a9mpcore: Coreify the SCU Split the SCU in a9mpcore out into its own object definition. mpcore is now just a container for the mpcore components. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 9595978292e9a5b5f0ec77a9f6a0e724c10bf3b4 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: a9mpcore: remove old_timer_status field This field was write only and thus unused. Removed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit cde4577f11cd557cfd48d752b7a0929d19eac9e9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: mptimer: Remove WDT distinction In QEMU emulation, there is no functional difference between the ARM mpcore private timers and watchdogs. Removed all the distinction between the two from arm_mptimer.c and converted it to be just the mptimer. a9mpcore and arm11mpcore just instantiate the same mptimer object twice to get both timer and WDT. If in the future we want to make the WDT functionally different then we can use either QOM hierarchy to derive WDT from from mptimer, or we can add a property "is-wdt" or some such. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 845769fc6319d308a39a78734c6dc03fa93ff2c5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: arm11mpcore, a9mpcore: CamelCased type names To conform with QEMU coding style. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c6205ddf6cff202ac0ce6621987cd3de8b57adee Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Feb 28 18:23:13 2013 +0000 arm: mptimer: CamelCased type names Trivial find replace on type names "timerblock" and "arm_mptimer_state" to conform with QEMU coding style. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1be97bf22447088adebf23b1ca508d4bb00f853c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Feb 28 18:23:12 2013 +0000 hw/pflash_cfi01: Treat read in unknown command state as read The code for handling the default "unknown command state" case in pflash_read in pflash_cfi01.c comments "reset state & treat it as a read". However the code doesn't actually do this. Moving the default case to the top of the switch so it can fall through into the read case brings this file into line with pflash_cfi02 and makes the code behave as the comments suggest. The pflash_cfi01 code has always had this bug -- it was presumably introduced when the original author copied the cfi02 code and rearranged the order of the switch statement without noticing that the default case relied on the fall-through. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1358777318-7579-3-git-send-email-peter.maydell@xxxxxxxxxx commit 6e392787c85809671033ec419d8e8ecf684d55da Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Feb 28 18:23:12 2013 +0000 hw/pflash_cfi01: Make read after byte-write or erase return status The Intel flash command set requires that a read operation after doing a 'single byte write' command returns the status register; add this case to pflash_read() so we return the correct information. Similarly, the case for the 0x28 flavour of block erase was missing. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1358777318-7579-2-git-send-email-peter.maydell@xxxxxxxxxx commit 5c78d6a84b504e831adc8f1917cde0c79061dff0 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Feb 28 18:23:12 2013 +0000 hw/ds1338: Fix conversion between 12 hours and 24 hours modes. The proper mapping between 24 hours and 12 hours modes is: 0 12 AM 1-11 1-11 AM 12 12 PM 13-23 1-11 PM Fix code accordingly. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Feb 28 09:18:56 2013 +0100 update seabios to 1.7.2.1 Alex Williamson (3): seabios q35: Enable all PIRQn IRQs at startup seabios q35: Add new PCI slot to irq routing function seabios: Add a dummy PCI slot to irq mapping function Avik Sil (1): USB-EHCI: Fix null pointer assignment Kevin O'Connor (4): Update tools/acpi_extract.py to handle iasl 20130117 release. Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". build: Don't require $(OUT) to be a sub-directory of the main directory. Verify CC is valid during build tests. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a4bcea3d67949c6be45992bd5092a19f163bcd4e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 26 12:06:23 2013 -0800 target-i386: Use mulu2 and muls2 These correspond very closely to the insns that we're emulating. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 554f1997f0328bc259454239db64b20b3376d9a6 Author: Gal Hammer <ghammer@xxxxxxxxxx> Date: Wed Feb 27 15:15:31 2013 +0200 Set virtio-serial device to have a default of 2 MSI vectors. The virtio-serial device is expected to use 2 MSI vectors, one for control queue and a second shared for all queues. Signed-off-by: Gal Hammer <ghammer@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0e98b436eceb9d31caad898f4983a369c76524e0 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Feb 20 02:51:24 2013 +0100 ICH9 LPC: Reset Control Register, basic implementation This commit does the same for the ICH9 LPC as commit 1ec4ba74 for the PIIX3. For the present we're ignoring the Full Reset (FULL_RST) and System Reset (SYS_RST) bits; the guest can read them back but that's it. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 7feb640cf32d86f91f5a624136345eb6a63eab42 Author: Alexey Korolev <akorolex@xxxxxxxxx> Date: Fri Feb 22 16:58:44 2013 +1300 Fix guest OS hang when 64bit PCI bar present This patch addresses the issue fully described here: http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg01804.html Linux kernels prior to 2.6.36 do not disable the PCI device during enumeration process. Since lower and higher parts of a 64bit BAR are programmed separately this leads to qemu receiving a request to occupy a completely wrong address region for a short period of time. We have found that the boot process screws up completely if kvm-apic range is overlapped even for a short period of time (it is fine for other regions though). This patch raises the priority of the kvm-apic memory region, so it is never pushed out by PCI devices. The patch is quite safe as it does not touch memory manager. Signed-off-by: Alexey Korolev <akorolex@xxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2af234e61d59f39ae16ba882271e7c4fef2c41c1 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Feb 14 19:11:27 2013 +0200 e1000: unbreak the guest network migration to 1.3 QEMU 1.3 does not emulate the link auto negotiation, so if migrate to a 1.3 machine during link auto negotiation, the guest link will be set to down. Fix this by just disabling auto negotiation for 1.3 and older. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit af347aa5a521555f5342e67993eb717d4f542ba8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 22 18:31:51 2013 +0100 qmp: netdev_add is like -netdev, not -net, fix documentation Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 40e8c26d7b7e260cc3566c6b68cee969e816970e Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 26 11:07:16 2013 +0100 doc: document -netdev hubport Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f6b26cf257232e5854c0e5c98a8685c625bf986e Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Feb 22 23:15:06 2013 +0800 net: reduce the unnecessary memory allocation of multiqueue Edivaldo reports a problem that the array of NetClientState in NICState is too large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue is not used. Instead of static arrays, solving this issue by allocating the queues on demand for both the NetClientState array in NICState and VirtIONetQueue array in VirtIONet. Tested by myself, with single virtio-net-pci device. The memory allocation is almost the same as when multiqueue is not merged. Cc: Edivaldo de Araujo Pereira <edivaldoapereira@xxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d26e445c80fddcc7483b83f3115e5067fef28fe6 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 25 10:17:08 2013 +0100 tap: set IFF_ONE_QUEUE per default historically the kernel queues packets two times. once at the device and second in qdisc. this is believed to cause interface stalls if one of these queues overruns. setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the flag is ignored since then. see kernel commit 5d097109257c03a71845729f8db6b5770c4bbedc Signed-off-by: Peter Lieven <pl@xxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ce675a7579fea498397c5d2da3c5367671e9f02a Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Feb 21 11:05:56 2013 +0800 tap: forbid creating multiqueue tap when hub is used Obviously, hub does not support multiqueue tap. So this patch forbids creating multiple queue tap when hub is used to prevent the crash when command line such as "-net tap,queues=2" is used. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7d91ddd25e3a4e5008a2ac16127d51a34fd56bf1 Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Date: Tue Feb 5 18:29:09 2013 +0100 net: fix unbounded NetQueue In the current implementation of qemu, running without a network backend will cause the queue to grow unbounded when the guest is transmitting traffic. This patch fixes the problem by implementing bounded size NetQueue, used with an arbitrary limit of 10000 packets, and dropping packets when the queue is full _and_ the sender does not pass a callback. The second condition makes sure that we never drop packets that contains a callback (which would be tricky, because the producer expects the callback to be run when all previous packets have been consumed; so we cannot run it when the packet is dropped). If documentation is correct, producers that submit a callback should stop sending when their packet is queued, so there is no real risk that the queue exceeds the max size by large values. Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 199ee608f0d08510b5c6c37f31a7fbff211d63c4 Author: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Date: Tue Feb 5 17:53:31 2013 +0100 net: fix qemu_flush_queued_packets() in presence of a hub When frontend and backend are connected through a hub as below (showing only one direction), and the frontend (or in general, all output ports of the hub) cannot accept more traffic, the backend queues packets in queue-A. When the frontend (or in general, one output port) becomes ready again, quemu tries to flush packets from queue-B, which is unfortunately empty. e1000.0 <--[queue B]-- hub0port0(hub)hub0port1 <--[queue A]-- tap.0 To fix this i propose to introduce a new function net_hub_flush() which is called when trying to flush a queue connected to a hub. Signed-off-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6b37a23df98faa26391a93373930bfb15b943e00 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Feb 21 13:16:06 2013 +0200 vhost: memory sync fixes This fixes two bugs related to memory sync during migration: - ram address calculation was missing the chunk address, so the wrong page was dirtied - one after last was used instead of the end address of a region, which might overflow to 0 and cause us to skip the region when the region ends at ~0x0ull. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Jason Wang <jasowang@xxxxxxxxxx> commit ee24aaf356f44ca7c8fbef136a438c12091cffd0 Merge: 31e76f6... 7bd43ec... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 13:36:09 2013 -0600 Merge remote-tracking branch 'kiszka/queues/slirp' into staging # By Jan Kiszka # Via Jan Kiszka * kiszka/queues/slirp: slirp: Properly initialize pollfds_idx of new sockets commit 31e76f65a98e1502cbfd362eed5768c48e264c23 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Feb 26 00:46:10 2013 +0100 glib: Add compat wrapper for g_poll on old glib Older glib doesn't implement g_poll(). Most notably the glib version in use on SLE11 is on 2.18 which is hit by this. We do want to use g_poll() in the source however. So on older systems, just wrap it with functions that do exist on older versions. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> Message-id: 1361835970-2889-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 989b697ddd46769b0999e8cd16b5ecd393204734 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Feb 26 17:52:40 2013 +0000 qemu-log: default to stderr for logging output Switch the default for qemu_log logging output from "/tmp/qemu.log" to stderr. This is an incompatible change in some sense, but logging is mostly used for debugging purposes so it shouldn't affect production use. The previous behaviour can be obtained by adding "-D /tmp/qemu.log" to the command line. This change requires us to: * update all the documentation/help text (we take the opportunity to smooth out minor inconsistencies between the phrasing in linux-user/bsd-user/system help messages) * make linux-user and bsd-user defer to qemu-log for the default logging destination rather than overriding it themselves * ensure that all logfile closing is done via qemu_log_close() and that that function doesn't close stderr as well as the obvious change to the behaviour of do_qemu_set_log() when no logfile name has been specified. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1361901160-28729-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab4004495cb1cf38ab2e35f84ee54e669e2ad08a Author: Hu Tao <hutao@xxxxxxxxxxxxxx> Date: Mon Feb 25 10:27:48 2013 +0800 show --disable-gtk and --enable-gtk in the help message Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx> Message-id: 1361759268-16314-1-git-send-email-hutao@xxxxxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bc0477c7d6445730b22e733ad4a65f0cc23fa405 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:46 2013 +0000 Add compat for GDK_KEY_XXX symbols The GDK_KEY_XXX symbols are new in GTK3 and only the most recent GTK2 releases. Most versions of GTK2 have simply used GDK_XXX Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-14-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ef6413a2a833abe24aae072bd59c7434969fc59d Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:45 2013 +0000 Add compat macro for gtk_widget_get_realized The gtk_widget_get_realized method only arrived in GTK 2.20, so defined a compat macro for earlier GTK Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-13-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 528de90ab7133e22df7c1da4632a6dcd525e88f0 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:44 2013 +0000 Add support for enabling build with GTK3 Add a arg to configure to switch from GTK2 (default) to GTK3 (optional) build for QEMU. ./configure --with-gtkabi=3.0 will choose GTK3, while ./configure --with-gtkabi=2.0 will choose GTK2 (and remains the current default) Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-12-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0d20664018a401120af28ff80ac8d22fbc887956 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:43 2013 +0000 Ensure x_keymap.o is built when GTK is enabled The x_keymap.o file is required by both GTK and SDL builds, so it must be explicitly listed as a GTK dep to ensure the linker works when SDL is disabled Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-11-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fe43bca85b269314b007cd9b2eecc4a52aa73dde Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:42 2013 +0000 Replace expose-event handler with draw handler in GTK3 In GTK3 the 'expose-event' signal has been replaced by a new 'draw' signal. The only difference is that the latter will pre-create the cairo drawing context & set the clip mask. Since the drawing code is already structured in a nice way, we can just wire up the 'gd_draw_event' method to the 'draw' signal in GTK3 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-10-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1ed76b59c4f8670eb06df48cebe086da06111e1f Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:41 2013 +0000 Conditionalize use of gtk_widget_size_request The gtk_widget_size_request method has been replaced by the gtk_widget_get_preferred_size method in GTK3. Conditionally call the new method in GTK3 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-9-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8906de769be0978fed31a0341d0a5829a4ef7ecf Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:40 2013 +0000 Conditionalize use of gdk_display_warp_pointer In GTK3 the gdk_display_warp_pointer method is deprecated. Instead we should use gdk_device_warp on the GdkDevice instead associated with the event being processed. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-8-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 530daf82c129c2a8a6fa757b3ef5a21f1f50f66a Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:39 2013 +0000 Replace gtk_menu_append with gtk_menu_shell_append The gtk_menu_append method has long been deprecated in favour of the gtk_menu_shell_append method. The former is now entirely gone in GTK3, so switch all code to the latter which works on both GTK2 and GTK3 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-7-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 51572ab087b900ea67cc25f1c49dae4112274221 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:38 2013 +0000 Remove use of GtkVBox in GTK3 The GtkVBox class is deprecated, in favour of just using the GtkBox class directly. Eventually even GtkBox will be deprecated in favour of GtkGrid, but that is a bigger fix which can wait. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-6-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2a05485d72504ed92ce91dffd1f5867974c47ff0 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:37 2013 +0000 Conditionalize use of gdk_pointer_grab / gdk_pointer_ungrab On GTK3 there is support for multiple pointer devices, so rather than using gdk_pointer_grab / gdk_pointer_ungrab we should iterate over all devices, grabbing each one in turn Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-5-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 655199da197d2c3407d4bc937c9d3d3ac4551764 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:36 2013 +0000 Conditionalize use of gdk_keyboard_grab / gdk_keyboard_ungrab On GTK3 there is support for multiple keyboard devices, so rather than using gdk_keyboard_grab / gdk_keyboard_ungrab we should iterate over all devices, grabbing each one in turn Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-4-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 66962f14378d0adf2e7d0fcfac66e2248b09bb4d Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:35 2013 +0000 Remove use of gdk_drawable_get_{screen, display} The gdk_drawable_get_screen and gdk_drawable_get_display methods don't exist in GDK3. Fortunately, even on GTK2 they are not required - we can call the equivalent gtk_widget_get_screen/gtk_widget_get_display methods which have existed since GTK 2.2 Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-3-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cba68834c69f2d0fd04127301171fedac63d9b67 Author: Daniel P. Berrange <berrange@xxxxxxxxxx> Date: Mon Feb 25 15:20:34 2013 +0000 Add compat for gdk_drawable_get_size on GTK3 GTK3 lacks the gdk_drawable_get_size method, so we create a stub impl which gets the get_width/get_height mehtods instead Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> Message-id: 1361805646-6425-2-git-send-email-berrange@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f963e4d0ca5b7704aed8048e2bc293597d333dfb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Feb 25 16:02:30 2013 +0100 gtk ui: unbreak spice Merge of the gtk ui brought a initialitation order issue for spice: The using_spice variable isn't set yet when checked, leading to the default UI being activated (additionally to spice remote access). Let's set display_remote when we find a -spice switch on the command line, like we do for vnc. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1361804550-15858-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 864a556e9a800116a305f10fbb714268ca7e9bc3 Merge: 9a1d7f0... bf3caa3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 07:44:39 2013 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Paolo Bonzini (7) and others # Via Kevin Wolf * kwolf/for-anthony: (22 commits) pc: add compatibility machine types for 1.4 blockdev: enable discard by default qemu-nbd: add --discard option blockdev: add discard suboption to -drive block: implement BDRV_O_UNMAP block: complete all IOs before .bdrv_truncate coroutine: trim down nesting level in perf_nesting test coroutine: move pooling to common code qemu-iotests: Test qcow2 image creation options qemu-iotests: Add qemu-img compare test qemu-img: Add compare subcommand qemu-img: Add "Quiet mode" option block: Add synchronous wrapper for bdrv_co_is_allocated_above block: refuse negative iops and bps values block: use Error in do_check_io_limits() qcow2: support compressed clusters in BlockFragInfo qemu-img: add compressed clusters to BlockFragInfo qemu-img: fix missing space in qemu-img check output qcow2: record fragmentation statistics during check qcow2: introduce check_refcounts_l1/l2() flags ... commit 9a1d7f00efd4b69f051d4223a70ca91af0ccb19d Merge: b1c07f0... 90f8ae7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 07:44:32 2013 -0600 Merge remote-tracking branch 'quintela/stats.next' into staging # By Juan Quintela # Via Juan Quintela * quintela/stats.next: migration: calculate expected_downtime migration: don't account sleep time for calculating bandwidth migration: calculate end time after we have sent the data migration: change initial value of expected_downtime commit b1c07f06ed0e2094197274e636a90ad33674653c Merge: 08f4a0f... 3960c41... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 26 07:44:24 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Markus Armbruster # Via Luiz Capitulino * luiz/queue/qmp: check-qjson: More thorough testing of UTF-8 in strings commit 7bd43ec2dd3ffaa12e6331af41fc55d4b2b12f13 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Feb 22 20:47:10 2013 +0100 slirp: Properly initialize pollfds_idx of new sockets Otherwise we may start processing sockets in slirp_pollfds_poll that were created past slirp_pollfds_fill. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 08f4a0f7ee899c32bac91114e859d2687cbcf1d7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 25 11:41:40 2013 -0800 target-ppc: Fix SUBFE carry While ~T0+T1+CF = T1-T0+CF-1 is true for the low 32-bits, it does not produce the correct carry-out to bit 33. Do exactly what the manual says. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e77f083292916ba43b940fdacd2fc1001b750d1d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 25 11:41:39 2013 -0800 target-arm: Fix sbc_CC carry While T0+~T1+CF = T0-T1+CF-1 is true for the low 32-bits, it does not produce the correct carry-out to bit 33. Do exactly what the manual says. Using the ~T1 makes the add and subtract code paths nearly identical, so have sbc_CC use adc_CC. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c3ac601bdaf8d4d81823a79f2a166b586db7dab Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Feb 25 11:41:38 2013 -0800 arm/translate.c: Fix adc_CC/sbc_CC implementation commits 49b4c31efcce45ab714f286f14fa5d5173f9069d and 2de68a4900ef6eb67380b0c128abfe1976bc66e8 reworked the implementation of adc_CC and sub_CC. The new implementations (on the TCG_TARGET_HAS_add2_i32 code path) are incorrect. The new logic is: CF:NF = 0:A +/- 0:CF CF:NF = CF:A +/- 0:B The lower 32 bits of the intermediate result stored in NF needs to be passes into the second addition in place of A (s/CF:A/CF:NF): CF:NF = 0:A +/- 0:CF CF:NF = CF:NF +/- 0:B This patch fixes the issue. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a345481baa2b2fb3d54f8c9ddb58dfcaf75786df Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Thu Feb 7 19:36:09 2013 +0100 target-mips: fix for sign-issue in MULQ_W helper Correct sign-propagation before multiplication in MULQ_W helper. The change also fixes previously incorrect expected values in the tests for MULQ_RS.W and MULQ_S.W. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9c19eb1e205b29018f6f61c5f43db6abbe7dc0e5 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Feb 6 18:05:25 2013 +0100 target-mips: fix for incorrect multiplication with MULQ_S.PH The change corrects sign-related issue with MULQ_S.PH. It also includes extension to the already existing test which will trigger the issue. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d2123a079d983677ec8333940aa4bec803d98cde Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:26 2013 -0800 target-xtensa: Use add2/sub2 for mac Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9cda20bc55e549d31e791bfa55eabe3642b73a7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:25 2013 -0800 target-xtensa: Use mul*2 for mul*hi Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d1f8cd839136337b713a05aaf11a5f189e81532d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:24 2013 -0800 target-unicore32: Use mul*2 for do_mult Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1d3b708491b9d7dde573261fdee8ca0afc6980fd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:23 2013 -0800 target-sh4: Use mul*2 for dmul* Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 528692a8a4fb6c545d818957e758d6ad70fa255c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:22 2013 -0800 target-sparc: Use mul*2 for multiply Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 15fe216fc510c2a0ecf39536bbbc92ba75beb963 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:21 2013 -0800 target-sparc: Use official add2/sub2 interfaces for addx/subx Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e4a2c846248ff8e786e741bc4bc3103b24dfba74 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:20 2013 -0800 target-ppc: Compute mullwo without branches Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ba4af3e422f7ba2de58fd752d6ca89922c259a74 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:19 2013 -0800 target-ppc: Compute arithmetic shift carry without branches Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fd3f0081e5d873b26b9988b48f7118a9914bbd64 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:18 2013 -0800 target-ppc: Implement neg in terms of subf Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b5a73f8d8a57e940f9bbeb399a9e47897522ee9a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:17 2013 -0800 target-ppc: Use add2 for carry generation Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 146de60dcade65a401c6665ae4b51c2b15dfaa55 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:16 2013 -0800 target-ppc: Compute addition carry with setcond Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ffe30937c89dd67a53bf3f35b962701cd9d8f70e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:15 2013 -0800 target-ppc: Compute addition overflow without branches Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2fdcb629071cb6206028bc7d6b69f3585fc365ec Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:14 2013 -0800 target-ppc: Use setcond in gen_op_cmp Which means that callers need not copy data into local tmps. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit da91a00f191fc70ea7d81d7476ef933c562e6fcd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:13 2013 -0800 target-ppc: Split out SO, OV, CA fields from XER In preparation for more efficient setting of these fields. Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 23ad1d5d3c00cd07ab7aedc128565c6029802c30 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:12 2013 -0800 target-ppc: Use mul*2 in mulh* insns Cc: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bf45f97133b7f81d27711971a9e28d60528d90c8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:11 2013 -0800 target-cris: Use mul*2 in mul* insns Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ce1dd5d1bbb0a3769566cb6967714c8c8c97a815 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:10 2013 -0800 target-mips: Use mul[us]2 in [D]MULT[U] insns Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2de68a4900ef6eb67380b0c128abfe1976bc66e8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:09 2013 -0800 target-arm: Implement sbc_cc inline Use sub2 if available, otherwise use 64-bit arithmetic. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 49b4c31efcce45ab714f286f14fa5d5173f9069d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:08 2013 -0800 target-arm: Implement adc_cc inline Use add2 if available, otherwise use 64-bit arithmetic. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e3482cb8063575f9fe0f39b701a4b6dc5a55c9cd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:07 2013 -0800 target-arm: Use add2 in gen_add_CC Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9f10124a2704b6bab21b31e79735b18d414a654 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:06 2013 -0800 target-arm: Use mul[us]2 and add2 in umlal et al Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 831d7fe800774db0d7142fdf2a8f8758c8bf9c92 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:05 2013 -0800 target-arm: Use mul[us]2 in gen_mul[us]_i64_i32 Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit dc46d1c68aa107b8e3c95f66e87cd9d02e6452a9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:04 2013 -0800 target-s390x: Use mulu2 for mlgr insn Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 962415fcd5f8223a6fbc6f7bb8c5fdf2500f2f84 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:03 2013 -0800 target-alpha: Use mulu2 for umulh insn Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f1fae40c61fd4558c7d10992c98b4bb47f99e0ed Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:02 2013 -0800 tcg: Apply life analysis to 64-bit multiword arithmetic ops Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f402f38f439f17d4361b28248f948a6170d30133 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:01 2013 -0800 tcg: Implement muls2 with mulu2 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 76f131332310d8317880ef73a2bc90725d857ed3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:52:00 2013 -0800 target-i386: Use add2 to implement the ADX extension Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d693e14733509f9a2124b03a912058790411140a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:58 2013 -0800 tcg-arm: Implement muls2_i32 We even had the encoding of smull already handy... Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 624988a53b4db34ee2a2b96dc2bccdf52e133a0a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:57 2013 -0800 tcg-i386: Implement multiword arithmetic ops Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f6953a739972353f2cc5e3d5994127ca8c8236ce Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:56 2013 -0800 tcg: Implement multiword addition helpers Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 696a8be6a077a5760bbf9822209999c908cdf0b1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:55 2013 -0800 tcg: Implement multiword multiply helpers Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3c51a98507f9ff64fc2a3841c0e5b8a0c9e3c2b7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:54 2013 -0800 tcg: Implement a 64-bit to 32-bit extraction helper We're going to have use for this shortly in implementing other helpers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4d3203fd0b5d17e39f631f2534e7cbb37d04ce3f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:53 2013 -0800 tcg: Add signed multiword multiplication operations Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d7156f7ce4581c874df4a27409e7d99873faa413 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:52 2013 -0800 tcg: Add 64-bit multiword arithmetic operations Matching the 32-bit multiword arithmetic that we already have. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:51 2013 -0800 tcg-sparc: Always implement 32-bit multiword ops Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bbc863bfecfb3e3a3e21ce569e25046e24c0487c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:50 2013 -0800 tcg-i386: Always implement 32-bit multiword ops Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e6a72734549bd05d06d19957518811c24a6cbee4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 23:51:49 2013 -0800 tcg: Make 32-bit multiword operations optional for 64-bit hosts Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f708e736d0dafc05f8b7e9e73d6440c930b94686 Merge: 6ab7e54... f437d0a... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Feb 23 17:21:41 2013 +0000 Merge branch 'eflags3' of git://github.com/rth7680/qemu * 'eflags3' of git://github.com/rth7680/qemu: (61 commits) target-i386: Use movcond to implement shiftd. target-i386: Discard CC_OP computation in set_cc_op also target-i386: Use movcond to implement rotate flags. target-i386: Use movcond to implement shift flags. target-i386: Add CC_OP_CLR target-i386: Implement tzcnt and fix lzcnt target-i386: Use clz/ctz for bsf/bsr helpers target-i386: Implement ADX extension target-i386: Implement RORX target-i386: Implement SHLX, SARX, SHRX target-i386: Implement PDEP, PEXT target-i386: Implement MULX target-i386: Implement BZHI target-i386: Implement BLSR, BLSMSK, BLSI target-i386: Implement BEXTR target-i386: Implement ANDN target-i386: Implement MOVBE target-i386: Decode the VEX prefixes target-i386: Tidy prefix parsing target-i386: Use CC_SRC2 for ADC and SBB ... commit 6ab7e5465a4d6188e29398fb43a30dbab1015b75 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Feb 20 15:21:09 2013 +0000 Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() The setjmp() function doesn't specify whether signal masks are saved and restored; on Linux they are not, but on BSD (including MacOSX) they are. We want to have consistent behaviour across platforms, so we should always use "don't save/restore signal mask" (this is also generally going to be faster). This also works around a bug in MacOSX where the signal-restoration on longjmp() affects the signal mask for a completely different thread, not just the mask for the thread which did the longjmp. The most visible effect of this was that ctrl-C was ignored on MacOSX because the CPU thread did a longjmp which resulted in its signal mask being applied to every thread, so that all threads had SIGINT and SIGTERM blocked. The POSIX-sanctioned portable way to do a jump without affecting signal masks is to siglongjmp() to a sigjmp_buf which was created by calling sigsetjmp() with a zero savemask parameter, so change all uses of setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf, 0) to save the signal mask; however the following siglongjmp() must not restore the signal mask, so the pair can be effectively considered as "sigjmp/longjmp which don't touch the mask".] For Windows we provide a trivial sigsetjmp/siglongjmp in terms of setjmp/longjmp -- this is OK because no user will ever pass a non-zero savemask. The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c are left untouched because these are self-contained singlethreaded test programs intended to be run under QEMU's Linux emulation, so they have neither the portability nor the multithreading issues to deal with. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Tested-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d1c36ba707637173b818652e51181370d51b6c58 Author: Ronald Hecht <ronald.hecht@xxxxxx> Date: Tue Feb 19 12:45:07 2013 +0100 SPARC LEON power-down support added Signed-off-by: Ronald Hecht <address@hidden> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7a0a9c2c64be242d5953d5ce6172976b05f6c14f Author: Ronald Hecht <ronald.hecht@xxxxxx> Date: Tue Feb 19 12:45:06 2013 +0100 Added LEON MMU ASI mappings and corrected LEON3 MMU masks. This patch adds SPARC ASI mappings that are used by the LEON processor.It also corrects the MMU context register and context table pointer mask of the LEON3. Signed-off-by: Ronald Hecht <ronald.hecht@xxxxxx> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 99e448006d9267d71c2e3a629b6e5d29ed67bb30 Author: Ronald Hecht <ronald.hecht@xxxxxx> Date: Tue Feb 19 17:22:11 2013 +0100 grlib-apbuart: Add support of various flags - enable/disable Rx and Tx - Rx and Tx interrupt - Tx FIFO empty and Tx SHIFT empty Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 8eda222831d31e6562bf1ce50d22fa29e1b6d958 Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Feb 19 17:22:10 2013 +0100 Typo: replace gptimer by apbuart Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit af18078d8057203b1ed26ac5534d233aabb36886 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Feb 2 17:17:54 2013 +0000 disas/i386.c: Add explicit braces round empty for-loop body Add explicit braces round an empty for-loop body; this fits QEMU style and is easier to read than an inconspicuous semicolon at the end of the line. It also silences a clang warning: disas/i386.c:4723:49: warning: for loop has empty body [-Wempty-body] for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++); ^ disas/i386.c:4723:49: note: put the semicolon on a separate line to silence this warning [-Wempty-body] Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 632314c49ce20ee9c974f07544d9125fbbbfbe1b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Feb 12 16:13:27 2013 +0000 qemu-log: Remove qemu_log_try_set_file() and its users Remove the function qemu_log_try_set_file() and its users (which are all in TCG code generation functions for various targets). This function was added to abstract out code which was originally written as "if (!logfile) logfile = stderr;" in order that BUG: case code which did an unguarded "fprintf(logfile, ...)" would not crash if debug logging was not enabled. Since those direct uses of logfile have also been abstracted away into qemu_log() calls which check for a NULL logfile, there is no need for the target-* files to mess with the user's chosen logging settings. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Michael Walle <michael@xxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 685cbd2f63a48bd111bd2c3c4a2228029595ba12 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Thu Feb 21 22:58:08 2013 +0100 xhci: fix bad print specifier This fixes the following compilation error: hw/usb/hcd-xhci.c:1156:17: error: format â??%llxâ?? expects argument of type â??long long unsigned intâ??, but argument 4 has type â??unsigned intâ?? Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 30e8f22b7bc6694b9abea43f45db6fd5be4df429 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Feb 22 20:53:33 2013 +0100 gtk: Rename File to Machine menu and add pause, reset and power down items This adds basic guest control commands to the "Machine" menu - a nice added-value for the GTK UI. We use "pause" as the term for stopping the machine here. So reword also the related caption tag. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 104092825ac3274d16ffc35b7ef9ac8c636e1c48 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Feb 22 20:33:34 2013 +0100 ui/gtk: Use menu item from stock for full screen This reduces the required translations and gives a nicer menu with an icon. The full screen menu item is no longer a check menu item. A checked item is not visible in full screen mode, so it is not needed for this special menu item. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1361561614-11180-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 28d2e5b27d538d94d2489d657b563c58b4d69bc4 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Feb 22 20:09:59 2013 +0100 ui/gtk: Support versions of VTE before 0.26 This is needed for current Debian stable (Squeeze). VTE versions before 0.26 did not support VtePty. Lower the version requirement and use alternate code which works for Debian. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1361560199-28906-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c95e3080a44946ac5739542b549f5a10ee4ec377 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Feb 22 21:08:51 2013 +0100 Reenable -Wstrict-prototypes One part of this patch reverts commit 22bc9a46, which disabled the warning. The rest of it deals with the warning by adding a #pragma for newer gcc and by disabling -Werror for compilers that can't deal with the #pragma. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Message-id: 1361563731-13307-1-git-send-email-kwolf@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bf3caa3dc17552b323cec6831301a22cfc98ecd5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:15 2013 +0100 pc: add compatibility machine types for 1.4 Adds both pc-i440fx-1.4 and pc-q35-1.4. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 215e47b9ea2cd7926333b7dc683024aa00e0c386 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:14 2013 +0100 blockdev: enable discard by default Because discard is now a host parameter, we can always fake it as enabled in the guest. This is an extension of the current choice to ignore "not supported" errors from the host when discard_granularity is set to nonzero. The default granularity is set to the logical block size or 4k, whichever is largest, because cluster sizes below 4k are rarely used and 4K is a typical block size for files. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ded9d2d5e247dc4d141c01bc8dc99d6ec832f9e8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:13 2013 +0100 qemu-nbd: add --discard option Similar to --cache and --aio, this option mimics the discard suboption of "-drive". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a9384aff5315e7568b6ebc171f4a482e01f06526 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:12 2013 +0100 blockdev: add discard suboption to -drive Add support for BDRV_O_UNMAP from the QEMU command-line. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9e8f1835ea3ab3be83634f34c1bb8b69cd871766 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 14:06:11 2013 +0100 block: implement BDRV_O_UNMAP It is better to present homogeneous hardware independent of the storage technology that is chosen on the host, hence we make discard a host parameter; the user can choose whether to pass it down to the image format and protocol, or to ignore it. Using DISCARD with filesystems can cause very severe fragmentation, so it is left default-off for now. This can change later when we implement the "anchor" operation for efficient management of preallocated files. There is still one choice to make: whether DISCARD has an effect on the dirty bitmap or not. I chose yes, though there is a disadvantage: if the guest is buggy and issues discards for data that is in use, there will be no way to migrate storage for that guest without downgrading the machine type to an older one. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9a665b2b8640e464f0a778216fc2dca8d02acf33 Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Feb 18 13:48:31 2013 +0100 block: complete all IOs before .bdrv_truncate bdrv_truncate() invalidates the bdrv_check_request() result for in-flight requests, so there should better be none. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Peter Lieven <pl@xxxxxxx> Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 027003152f4cf21952f9282b4487daf3fdd372ba Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 19 11:59:10 2013 +0100 coroutine: trim down nesting level in perf_nesting test 20000 nested coroutines require 20 GB of virtual address space. Only nest 1000 of them so that the test (only enabled with "-m perf" on the command line) runs on 32-bit machines too. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 402397843e20e35d6cb7c80837c7cfdb19ede591 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Feb 19 11:59:09 2013 +0100 coroutine: move pooling to common code The coroutine pool code is duplicated between the ucontext and sigaltstack backends, and absent from the win32 backend. But the code can be shared easily by moving it to qemu-coroutine.c. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4dc9f9d67dbf5d062d8db188b81cef435f291dd8 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jan 29 10:46:52 2013 +0100 qemu-iotests: Test qcow2 image creation options Just create lots of images and try out each of the creation options that qcow2 provides (except backing_file/fmt for now) I'm not totally happy with the behaviour of qemu-img in each of the cases, but let's be explicit and update the test when we do change things later. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e930d201bc8066a314b9e115e4a2afca50f9c504 Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:42 2013 +0100 qemu-iotests: Add qemu-img compare test Simple test for qemu-img compare to check it's working correctly. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d14ed18c8d10a936e6f8b55f56afb4b75c305e10 Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:41 2013 +0100 qemu-img: Add compare subcommand This patch adds new qemu-img subcommand that compares content of two disk images. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f382d43a9180ed20c671dc058d5452c2df7d3c61 Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:40 2013 +0100 qemu-img: Add "Quiet mode" option There can be a need to turn output to stdout off. This patch adds a -q option that enable "Quiet mode". In Quiet mode, only errors are printed out. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b35b2bba5b372ff912c5fe7e5ad6c5a9d883464f Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Date: Wed Feb 13 09:09:39 2013 +0100 block: Add synchronous wrapper for bdrv_co_is_allocated_above There's no synchronous wrapper for bdrv_co_is_allocated_above function so it's not possible to check for sector allocation in an image with a backing file. Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7d81c1413c9c9bdcc966453636e4ca7776b59861 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 13 16:53:43 2013 +0100 block: refuse negative iops and bps values Negative I/O throttling iops and bps values do not make sense so reject them with an error message. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c546194f260fb3e391193cb8cc33505618077ecb Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 13 16:53:42 2013 +0100 block: use Error in do_check_io_limits() The do_check_io_limits() function returns false when I/O limits are invalid but it doesn't set an Error to indicate why. The two do_check_io_limits() callers duplicate error reporting. Solve this by passing an Error pointer into do_check_io_limits(). Note that the two callers report slightly different errors: drive_init() prints a custom error message while qmp_block_set_io_throttle() does error_set(errp, QERR_INVALID_PARAMETER_COMBINATION). QERR_INVALID_PARAMETER_COMBINATION is a generic error, see include/qapi/qmp/qerror.h: #define QERR_INVALID_PARAMETER_COMBINATION \ ERROR_CLASS_GENERIC_ERROR, "Invalid parameter combination" Since it is generic we are not obliged to keep this error. Switch to the custom error message which contains more information. This patch prepares for adding additional checks with their own error messages to do_check_io_limits(). The next patch adds a new check. Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4db35162ea54d84c29074adfcff470ee2687e7b9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:05 2013 +0100 qcow2: support compressed clusters in BlockFragInfo Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e6439d783cce2c5cdbe4f8028f0b45162b540f82 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:04 2013 +0100 qemu-img: add compressed clusters to BlockFragInfo Show how many clusters are compressed. This can be used to monitor how many compressed clusters remain and whether to recompress the image. Suggested-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c9fc50839863f05545caca92bb9fbead8b1c91bd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:03 2013 +0100 qemu-img: fix missing space in qemu-img check output The qemu-img check fragmentation printf() is missing a space before the '=' sign. The human output is not guaranteed to be stable and we are not aware of screen scrapers, so add the missing space. Also fix the missing indentation of the printf() arguments. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fba31bae2d776fb4134186a830a252523df7933f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:02 2013 +0100 qcow2: record fragmentation statistics during check The qemu-img check command can display fragmentation statistics: * Total number of clusters in virtual disk * Number of allocated clusters * Number of fragmented clusters This patch adds fragmentation statistics support to qcow2. Compressed and normal clusters count as allocated. Zero clusters are not counted as allocated unless their L2 entry has a non-zero offset (e.g. preallocation). Only the current L1 table counts towards the statistics - snapshots are ignored. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 801f70445293ec8ed2d78fd92313c2f71fa48ac9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Feb 7 17:15:01 2013 +0100 qcow2: introduce check_refcounts_l1/l2() flags The check_refcounts_l1/l2() functions have a check_copied argument to check that the QCOW_O_COPIED flag is consistent with refcount == 1. This should be a bool, not an int. However, the next patch introduces qcow2 fragmentation statistics and also needs to pass an option to check_refcounts_l1/l2(). This is a good opportunity to use an int flags field. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8599ea4c42c098d2657ed632ad569f7a665706a4 Author: Federico Simoncelli <fsimonce@xxxxxxxxxx> Date: Mon Jan 28 06:59:47 2013 -0500 qemu-img: add json output option to the check command This option --output=[human|json] makes qemu-img check output a human or JSON representation at the choice of the user. Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c6bb9ad198c2caa9c7c8ba360a07630b5c10e4a8 Author: Federico Simoncelli <fsimonce@xxxxxxxxxx> Date: Mon Jan 28 06:59:46 2013 -0500 qemu-img: find the image end offset during check This patch adds the support for reporting the image end offset (in bytes). This is particularly useful after a conversion (or a rebase) where the destination is a block device in order to find the first unused byte at the end of the image. Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 5cbb08283789caf7dbfd0890dcff47124ad766c2 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 22 08:40:30 2013 -0600 ui/gtk: require at least GTK 2.18 and VTE 0.26 This gives us the bare amount of features we need. We can add work arounds for older versions and lower the requirement but this should be a good starting point. Suggested-by: Daniel Berrange <berrange@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> --- v1 -> v2 - tremendous simplification suggested by danpb commit 82fb0c8908ccbf775be749be9eb3fc0a5813ceaa Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 22 12:11:59 2013 +0100 unbreak hw/usb/redirect.c build Commit 8550a02d1239415342959f6a32d178bc05c557cc added a streams parameter to usb_wakeup and didn't update redirect.c. Fix it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3f58eadeed497445a0ce11468c7394cb3d3f1b65 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Feb 22 07:28:01 2013 +0100 ui/gtk: Fix build (missing include for setlocale) At least for Ubuntu Linux locale.h is needed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1361514481-26164-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 90f8ae724a575861f093fbdbfd49a925bcfec327 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 13:22:37 2013 +0100 migration: calculate expected_downtime We removed the calculation in commit e4ed1541ac9413eac494a03532e34beaf8a7d1c5 Now we add it back. We need to create dirty_bytes_rate because we can't include cpu-all.h from migration.c, and there is no other way to include TARGET_PAGE_SIZE. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit 7161082c8d8cf167c508976887a0a63f4db92b51 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 12:41:38 2013 +0100 migration: don't account sleep time for calculating bandwidth While we are sleeping we are not sending, so we should not use that time to estimate our bandwidth. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit a3e879cd51c4f614f702117c4b1449f0218c00f3 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 12:39:08 2013 +0100 migration: calculate end time after we have sent the data Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit cc283e3bf04d2f64eb6ec2ee5bcd36edd779fe89 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Feb 1 11:12:26 2013 +0100 migration: change initial value of expected_downtime 0 is a very bad initial value, what we are trying to get is max_downtime, so that is a much better estimation. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit 73d4dc71f3a41131541c73b3ac2a8b160a51842b Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:26 2013 -0600 gtk: suppress accelerators from the File menu when grab is active If you're full screen, you probably expect Ctrl-Q to go to the guest, not the host. I think restricting certain menus is the right way to handle this generally speaking. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-10-git-send-email-aliguori@xxxxxxxxxx commit 15546425c5527ebb08ede399373b705866f1ff84 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:25 2013 -0600 gtk: make default UI (v5) A user can still enable SDL with '-sdl' or '-display sdl' but start making the default display GTK by default. I'd also like to deprecate the SDL display and remove it in a few releases. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-9-git-send-email-aliguori@xxxxxxxxxx commit 834574ea89fa9c3ee0a557a13ad3f50db2509054 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:24 2013 -0600 gtk: add translation support (v5) This includes a de_DE translation from Kevin Wolf and an it translation from Paolo Bonzini. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-8-git-send-email-aliguori@xxxxxxxxxx commit c61584833c579cd7bf800499124ce3d0e15bfb37 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:23 2013 -0600 gtk: add support for screen scaling and full screen (v5) Basic menu items to enter full screen mode and zoom in/out. Unlike SDL, we don't allow arbitrary scaling based on window resizing. The current behavior with SDL causes a lot of problems for me. Sometimes I accidentally resize the window a tiny bit while trying to move it (Ubuntu's 1-pixel window decorations don't help here). After that, scaling is now active and if the screen changes size again, badness ensues since the aspect ratio is skewed. Allowing zooming by 25% in and out should cover most use cases. We can add a more flexible scaling later but for now, I think this is a more friendly behavior. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-7-git-send-email-aliguori@xxxxxxxxxx commit 5104a1f65088285ddf870aa641b9061064e8757d Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:22 2013 -0600 gtk: add support for input grabbing (v2) There is a small deviation from SDL's behavior here. Instead of Ctrl+Alt triggering grab, we now use Ctrl-Alt-g to trigger grab. GTK will not accept Ctrl+Alt as an accelerator since it just consists of modifiers. Having grab as a proper accelerator is important as it allows a user to override the accelerator for accessibility purposes. We also are not automatically grabbing on left-click. Besides the inability to tie mouse clicks to an accelerator, I think this behavior is hard to discover and since it only happens depending on the guest state, it can lead to confusing behavior. This can be changed in the future if there's a strong resistence to dropping left-click-to-grab, but I think we're better off dropping it. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-6-git-send-email-aliguori@xxxxxxxxxx commit d861def367b516055dc4c46dc1305143ee653c84 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:21 2013 -0600 gtk: add virtual console support (v2) This enables VteTerminal to be used to render the text consoles. VteTerminal is the same widget used by gnome-terminal which means it's VT100 emulation is as good as they come. It's also screen reader accessible, supports copy/paste, proper scrolling and most of the other features you would expect from a terminal widget. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-5-git-send-email-aliguori@xxxxxxxxxx commit a4ccabcf6deaeb42c65d5d6d84ba0ceff8003876 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:20 2013 -0600 ui: add basic GTK gui (v5) This is minimalistic and just contains the basic widget infrastructure. The GUI consists of a menu and a GtkNotebook. To start with, the notebook has its tabs hidden which provides a UI that looks very similar to SDL with the exception of the menu bar. The menu bar allows a user to toggle the visibility of the tabs. Cairo is used for rendering. I used gtk-vnc as a reference. gtk-vnc solves the same basic problems as QEMU since it was originally written as a remote display for QEMU. So for the most part, the approach to rendering and keyboard handling should be pretty solid for GTK. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-4-git-send-email-aliguori@xxxxxxxxxx commit d82831dbc5471d72785c49b33710436af49bf9ca Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:19 2013 -0600 console: allow VCs to be overridden by UI We want to expose VCs using a VteTerminal widget. We need access to provide our own CharDriverState in order to do this. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-3-git-send-email-aliguori@xxxxxxxxxx commit 22bc9a46bda8f5f88626d3fb578f5d55953c9743 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 20 07:43:18 2013 -0600 build: disable Wstrict-prototypes GTK won't build with strict-prototypes due to gtkitemfactory.h: /* We use () here to mean unspecified arguments. This is deprecated * as of C99, but we can't change it without breaking compatibility. * (Note that if we are included from a C++ program () will mean * (void) so an explicit cast will be needed.) */ typedef void (*GtkItemFactoryCallback) (); Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1361367806-4599-2-git-send-email-aliguori@xxxxxxxxxx commit 00e2ceae6c55bef40f5128a3e606f5c44351e0f9 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 19 14:02:10 2013 +1000 qom/object.c: Allow itf cast with num_itfs = 0 num_interfaces only tells you how many interfaces the concrete child class has (as defined in the TypeInfo). This means if you have a child class which defines no interfaces of its own, but its parent has interfaces you cannot cast to those parent interfaces. Fixed changing the guard to check the class->interfaces list instead (which is a complete flattened list of implemented interfaces). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: a8c2db3b9b1f3c4bb81aca352b69e33260f36545.1361246206.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3e407de47700cce4babbe0f3ac35677e7b852cf6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 19 14:02:09 2013 +1000 qom/object.c: Reset interface list on inheritance The QOM framework will attempt the recreate a classes interface list from scratch for each class. This means that a child class should zero out the list of interfaces when cloned from the parent class. Currently the list is memcpy()d from the parent to the child. As the interface list is just a pointer to a list, this means the parent and child will share the same list of interfaces. When the child inits, it will append its own interfaces to the parents list. This is incorrect as the parent should not pick up its childs interfaces. This actually causes an infinite loop at class init time, as the child will iterate through the parent interface list adding each itf to its own list(in type_initialize()). As the list is (erroneously) shared, the new interface instances for the child are appended to the parent, and the iterator never hits the tail and loops forever. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1f58d2b629d82865dbb2fd5ba8445854049c4382.1361246206.git.peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b1424e0381a7f1c9969079eca4458d5f20bf1859 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Feb 20 09:37:12 2013 +0100 vga: fix byteswapping. In case host and guest endianness differ the vga code first creates a shared surface (using qemu_create_displaysurface_from), then goes patch the surface format to indicate that the bytes must be swapped. The switch to pixman broke that hack as the format patching isn't propagated into the pixman image, so ui code using the pixman image directly (such as vnc) uses the wrong format. Fix that by adding a byteswap parameter to qemu_create_displaysurface_from, so we'll use the correct format when creating the surface (and the pixman image) and don't have to patch the format afterwards. [ v2: unbreak xen build ] Cc: qemu-stable@xxxxxxxxxx Cc: mark.cave-ayland@xxxxxxxxxxxx Cc: agraf@xxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Message-id: 1361349432-23884-1-git-send-email-kraxel@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ba43da36983a0bff2778abfa2338697da129030c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Feb 20 16:24:22 2013 +0000 Remove elderly top level TODO file The top level TODO file hasn't been touched since 2008, so it's now an unhelpful and out of date mix of things that have already been done, things that don't make sense any more and things which could in theory be done but are not in practice important enough (or we'd have done them some time in the last five years). Remove it. The bug tracking system is probably a better place to track TODO items if we want to do so. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Message-id: 1361377462-19816-1-git-send-email-peter.maydell@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2ca81baa0b3363d57de94f8b80c02a003b361161 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Feb 20 18:04:01 2013 +0800 help: add docs for multiqueue tap options Cc: Markus Armbruster <armbru@xxxxxxxxxx> Cc: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Message-id: 1361354641-51969-1-git-send-email-jasowang@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b5a01a70ad49b518c2c4b0f0a37f5435f01ce716 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:33 2013 +0100 aio: support G_IO_HUP and G_IO_ERR aio-posix.c could not take advantage of G_IO_HUP and G_IO_ERR because select(2) does not have equivalent events. Now that g_poll(3) is used we can support G_IO_HUP and G_IO_ERR. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-11-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6b5f876252b7aeec43e319afdf17705f512be2bc Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:32 2013 +0100 aio: convert aio_poll() to g_poll(3) AioHandler already has a GPollFD so we can directly use its events/revents. Add the int pollfds_idx field to AioContext so we can map g_poll(3) results back to AioHandlers. Reuse aio_dispatch() to invoke handlers after g_poll(3). Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-10-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d0c8d2c05f67a1a007d87fa3b99254abfa42d06d Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:31 2013 +0100 aio: extract aio_dispatch() from aio_poll() We will need to loop over AioHandlers calling ->io_read()/->io_write() when aio_poll() is converted from select(2) to g_poll(2). Luckily the code for this already exists, extract it into the new aio_dispatch() function. Two small changes: * aio_poll() checks !node->deleted to avoid calling handlers that have been deleted. * Fix typo 'then' -> 'them' in aio_poll() comment. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-9-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9cbaacf999b01b27dc3a22502705178057af66de Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:30 2013 +0100 main-loop: drop rfds/wfds/xfds for good Now that all *_fill() and *_poll() functions use GPollFD we no longer need rfds/wfds/xfds or pollfds_from_select()/pollfds_to_select(). >From now on everything uses GPollFD. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-8-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a3e4b4a8091cc4fcf7cb619570c72c54c2d6a6e9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:29 2013 +0100 iohandler: switch to GPollFD Convert iohandler_select_fill() and iohandler_select_poll() to use GPollFD instead of rfds/wfds/xfds. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-7-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8917c3bdba37d6fe4393db0fad3fabbde9530d6b Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:28 2013 +0100 slirp: switch to GPollFD Slirp uses rfds/wfds/xfds more extensively than other QEMU components. The rarely-used out-of-band TCP data feature is used. That means we need the full table of select(2) to g_poll(3) events: rfds -> G_IO_IN | G_IO_HUP | G_IO_ERR wfds -> G_IO_OUT | G_IO_ERR xfds -> G_IO_PRI I came up with this table by looking at Linux fs/select.c which maps select(2) to poll(2) internally. Another detail to watch out for are the global variables that reference rfds/wfds/xfds during slirp_select_poll(). sofcantrcvmore() and sofcantsendmore() use these globals to clear fd_set bits. When sofcantrcvmore() is called, the wfds bit is cleared so that the write handler will no longer be run for this iteration of the event loop. This actually seems buggy to me since TCP connections can be half-closed and we'd still want to handle data in half-duplex fashion. I think the real intention is to avoid running the read/write handler when the socket has been fully closed. This is indicated with the SS_NOFDREF state bit so we now check for it before invoking the TCP write handler. Note that UDP/ICMP code paths don't care because they are connectionless. Note that slirp/ has a lot of tabs and sometimes mixed tabs with spaces. I followed the style of the surrounding code. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-6-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cf1d078e4ea094e516faab49678fbea3a34b7848 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:27 2013 +0100 slirp: slirp/slirp.c coding style cleanup The slirp glue code uses tabs in some places. Since the next patch will modify the file, convert tabs to spaces and fix checkpatch.pl issues. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-5-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 48ce11ff972c733afaed3e2a2613a2e56081ec92 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:26 2013 +0100 main-loop: switch POSIX glib integration to GPollFD Convert glib file descriptor polling from rfds/wfds/xfds to GPollFD. The Windows code still needs poll_fds[] and n_poll_fds but they can now become local variables. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-4-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cbff4b342b000a7642125dbdabf61113e05eee44 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:25 2013 +0100 main-loop: switch to g_poll() on POSIX hosts Use g_poll(3) instead of select(2). Well, this is kind of a cheat. It's true that we're now using g_poll(3) on POSIX hosts but the *_fill() and *_poll() functions are still using rfds/wfds/xfds. We've set the scene to start converting *_fill() and *_poll() functions step-by-step until no more rfds/wfds/xfds users remain. Then we'll drop the temporary gpollfds_from_select() and gpollfds_to_select() functions and be left with native g_poll(2). On Windows things are a little crazy: convert from rfds/wfds/xfds to GPollFDs, back to rfds/wfds/xfds, call select(2), rfds/wfds/xfds back to GPollFDs, and finally back to rfds/wfds/xfds again. This is only temporary and keeps the Windows build working through the following patches. We'll drop this excessive conversion later and be left with a single GPollFDs -> select(2) -> GPollFDs sequence that allows Windows to use select(2) while the rest of QEMU only knows about GPollFD. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 134a03e0b3d34b01b68107104c525c3bff1211d4 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 20 11:28:24 2013 +0100 main-loop: fix select_ret uninitialized variable warning Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1361356113-11049-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3960c41f05bf776cc23a4a3b861f729fa65295a5 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Feb 5 09:30:55 2013 +0100 check-qjson: More thorough testing of UTF-8 in strings Test cases are scraped from Markus Kuhn's UTF-8 decoder capability and stress test at http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt Unfortunately, both JSON parser and formatter misbehave right now. This test expects current, incorrect results. They're all clearly marked, and are to be replaced by correct ones as the bugs get fixed. See comments in new utf8_string() for details. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 70aa41b56ce3f34fceac44e828ba2d8cc19523ee Merge: 259dc0c... 89a453d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Feb 21 09:39:17 2013 -0600 Merge remote-tracking branch 'kraxel/usb.78' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.78: uas-uas: usb3 streams usb-xhci: usb3 streams usb-core: usb3 streams usb: fix endpoint descriptor ordering usb-redir: simplify packet copy usb: make usb_packet_copy operate on combined packets usb: add usb_ep_set_halted usb-host: remove usb_host_device_close usb-host: move legacy cmd line bits usb-storage: use scsi_req_enqueue return value allow disabling usb smartcard support make usb devices configurable fix scripts/make_device_config.sh usb: Makefile cleanup commit 259dc0c1ce8eef14e5e0c349bc68ba05c9d5d82f Merge: cc2832a5... 159c983... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Feb 21 09:38:27 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Alin Tomescu (1) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: .gitignore: Ignore optionrom/*.asm ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c Add some missing qtest binaries to .gitignore xilinx_axienet.c: Assert no error when making link Remove forward declaration of non-existant variable commit 159c9836d057d8990e71399e8a431b2b911e2885 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Feb 19 17:41:28 2013 -0500 .gitignore: Ignore optionrom/*.asm Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 11e5d738a4c68cd20e90477fa8b7ee873bf3e2c0 Author: Alin Tomescu <tomescu.alin@xxxxxxxxx> Date: Wed Feb 20 21:36:09 2013 -0500 ppc: fix bamboo >256MB RAM initialization in hw/ppc4xx_devs.c I was trying to launch a PowerPC "bamboo" machine with more than 256MB of RAM with qemu-system-ppc -M bamboo -kernel $kernel -initrd $ramdisk -m 512, but QEMU would just hang. However, when I used -m 256, the machine would boot. I looked through the code in hw/ and it seems there is an error when the RAM memory is setup (if my understanding is correct). After patching it, the machine launched and booted successfully with 512MB of RAM. Signed-off-by: Alin Tomescu <tomescu.alin@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 499a6165bef56ce3f5297fa7b1abaab32858a34f Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Feb 21 13:34:40 2013 +1100 Add some missing qtest binaries to .gitignore These binaries are generated during make check on at least some configurations, so att them to .gitignore. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b15aaca4303fe009870842dd922a0128b332a2fd Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Feb 11 17:16:05 2013 +1000 xilinx_axienet.c: Assert no error when making link This gives an awful silent failure when it doesn't work. Assert against link creation failure. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 87f1361c193c77dad428a7aa9bdce7ae2b76871f Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sun Feb 10 23:11:05 2013 +0100 Remove forward declaration of non-existant variable This variable has been removed 5 years ago in 970ac5a3082428dca91171f270dcd95d6f4b2636. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f437d0a3c24e471a855da33a086fe529e09a06af Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 21:06:31 2013 -0800 target-i386: Use movcond to implement shiftd. With this being all straight-line code, it can get deleted when the cc variables die. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e2f515cf2f3795b9edb68eee42262e7c5f88fe98 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Feb 19 14:48:43 2013 -0800 target-i386: Discard CC_OP computation in set_cc_op also The shift and rotate insns use movcond to set CC_OP, and thus achieve a conditional EFLAGS setting. By discarding CC_OP in a later flags setting insn, we can discard that movcond. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 34d80a55ff8517fd37bcfea5063b9797e2bd9132 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 19:16:45 2013 -0800 target-i386: Use movcond to implement rotate flags. With this being all straight-line code, it can get deleted when the cc variables die. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a41f62f592d9ecf97df4a12023760fe082b1ee68 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 30 17:52:59 2013 -0800 target-i386: Use movcond to implement shift flags. With this being all straight-line code, it can get deleted when the cc variables die. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 436ff2d227588d42970c4f0ed1cdfcb87c872fba Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Jan 29 13:38:43 2013 -0800 target-i386: Add CC_OP_CLR Special case xor with self. We need not even store the known zero into cc_src. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 321c535105a182501b888f095f7ec4dbb5f3f6ae Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jan 21 13:32:02 2013 -0800 target-i386: Implement tzcnt and fix lzcnt We weren't computing flags for lzcnt at all. At the same time, adjust the implementation of bsf/bsr to avoid the local branch, using movcond instead. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f1300734cbca515d30953b2c87e259fa378ea301 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Jan 21 11:52:26 2013 -0800 target-i386: Use clz/ctz for bsf/bsr helpers And mark the helpers as NO_RWG_SE. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cd7f97cafdd80d6bd4950ccfdcd9acb7850184b2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:17:33 2013 -0800 target-i386: Implement ADX extension Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 89a453d4a5c195e6d0a3c3d4fcaacb447447115f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 25 17:38:59 2013 +0100 uas-uas: usb3 streams Add usb3 streams support to the uas (usb attached scsi) emulation. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 024426acc0a2707a85faa1983499647649d6d2db Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 25 17:23:44 2013 +0100 usb-xhci: usb3 streams Add streams support to the xhci emulation. No secondary streams yet, only linear stream arays are supported for now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8550a02d1239415342959f6a32d178bc05c557cc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 29 12:44:35 2013 +0100 usb-core: usb3 streams This patch adds support for usb3 streams to the usb subsystem core. This is just adding a streams field / parameter in a number of places. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2e5df36df8d0c3ffe59de254ef016508b27562bb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 28 15:52:57 2013 +0100 usb: fix endpoint descriptor ordering Fix the ordering of the endpoint descriptors for superspeed endpoints: The superspeed companion must come first, possible additional descriptors for the endpoint after that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6ef3ccd18f881a7bece556ff0fe1b0bf70ac2262 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 24 15:40:37 2013 +0100 usb-redir: simplify packet copy usb_packet_copy can handle combined packets now, so it isn't needed to special-case them any more. Also use the new usb_packet_size() function. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6a98d1c0f9e4f6a95d6ecd730ae6fdc70d15c73f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 24 15:38:23 2013 +0100 usb: make usb_packet_copy operate on combined packets Likewise usb_packet_skip. Also usb_packet_size. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e382d966d06d2989fc28eec8cfdcc2fd99ebfbb7 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 12 13:40:59 2012 +0100 usb: add usb_ep_set_halted Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 1a3973b33d36583d7194798f789a37759a13e269 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 30 13:02:47 2012 +0100 usb-host: remove usb_host_device_close Nobody implements that anyway. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4075975d832c55abdfc951726e54f9a28a2421c8 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jan 23 14:15:38 2013 +0100 usb-host: move legacy cmd line bits The code handling the "-usbdevice host:..." legacy command line syntax is moved to the new hw/usb/host-legacy.c file. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9db7c41419e89adee5650a5868ac91e83614abf5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 22 14:17:05 2013 +0100 usb-storage: use scsi_req_enqueue return value Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 07d17e772095ee2b1171498536e5671a97920149 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 11:08:24 2013 +0100 allow disabling usb smartcard support Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6c83f81542e4fda1777a74e4647a69086e44357c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 10:49:43 2013 +0100 make usb devices configurable Leave the core usb devices (usb hub, tablet, mouse, keyboard) enabled unconditionally. Make the other ones configurable. Exceptions: - bluetooth: not qdevified yet, has a vl.c dependency because of that, thus disabling isn't as easy as not linking the object file. - smardcard: ccid-card-emulated depends on that one *and* CONFIG_SMARTCARD_NSS. So it isn't a one-liner and comes as separate patch because of that. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f4ece4046344230a3a030ef1e494599eaf0a5935 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 10:48:34 2013 +0100 fix scripts/make_device_config.sh Make it handle multiple include statements in a file: (1) The printf needs a space so the include files will be separated. (2) Also $f can contain multiple failes, so redirection will not work and we have to use cat to process all files. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 62162fff598f941c198b16b4e8814015ec5a0bef Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Feb 1 09:53:17 2013 +0100 usb: Makefile cleanup Group files, sprinkle in some comments. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e2c3c2c551bccd843135eab1ba202f8d2f86800b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 16 14:55:09 2013 -0800 target-i386: Implement RORX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4a554890e479a43568de8b5354d9ca8583f5ec7f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:12:13 2013 -0800 target-i386: Implement SHLX, SARX, SHRX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0592f74a75ab695efd48a151219667adc0fa7cc4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:09:43 2013 -0800 target-i386: Implement PDEP, PEXT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5f1f4b177152286102475f9bffc359002a14d9c9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 18:06:18 2013 -0800 target-i386: Implement MULX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 02ea1e6b4fab803551bbea47eea29bc7709ba008 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 17:01:10 2013 -0800 target-i386: Implement BZHI Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit bc4b43dc2fe88712ad921c05fc1ab9ebc4cb6778 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:44:37 2013 -0800 target-i386: Implement BLSR, BLSMSK, BLSI Do all of group 17 at one time for ease. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c7ab7565bc6d52cc140230aa4d0533d13d89c8b1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:21:33 2013 -0800 target-i386: Implement BEXTR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7073fbada733c8d10992f00772c9b9299d740e9b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:17:10 2013 -0800 target-i386: Implement ANDN As this is the first of the BMI insns to be implemented, this carries quite a bit more baggage than normal. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 111994ee05b810d81dc6abea7fac5280e48dc198 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 10 12:06:59 2013 -0800 target-i386: Implement MOVBE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 701ed211d62b2b0dba732d75997c4bbf37010c1e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 11 11:35:02 2013 -0800 target-i386: Decode the VEX prefixes No actual required uses of these encodings yet. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4a6fd938f5457ee161d2acbd9364608a2a68b7a1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Jan 10 13:29:23 2013 -0800 target-i386: Tidy prefix parsing Avoid duplicating switch statement between 32 and 64-bit modes. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 988c3eb0d6f41ac13f4ec145c637f12c776de602 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:03:16 2013 -0800 target-i386: Use CC_SRC2 for ADC and SBB Add another slot in ENV and store two of the three inputs. This lets us do less work when carry-out is not needed, and avoids the unpredictable CC_OP after translating these insns. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit db9f2597722d5d8bc5f2330f186288d893114338 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:10:49 2013 -0800 target-i386: Make helper_cc_compute_{all,c} const Pass the data in explicitly, rather than indirectly via env. This avoids all sorts of unnecessary register spillage. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8601c0b6c553a018fc62007efa8ac2a71d77f449 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 16:06:38 2013 -0800 target-i386: Don't reference ENV through most of cc helpers In preparation for making this a const helper. By using the proper types in the parameters to the helper functions, we get to avoid quite a lot of subsequent casting. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a3251186fc6a04d421e9c4b65aa04ec32379ec38 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 15:43:03 2013 -0800 target-i386: optimize flags checking after sub using CC_SRCT After a comparison or subtraction, the original value of the LHS will currently be reconstructed using an addition. However, in most cases it is already available: store it in a temp-local variable and save 1 or 2 TCG ops (2 if the result of the addition needs to be extended). The temp-local can be declared dead as soon as the cc_op changes again, or also before the translation block ends because gen_prepare_cc will always make a copy before returning it. All this magic, plus copy propagation and dead-code elimination, ensures that the temp local will (almost) never be spilled. Example (cmp $0x21,%rax + jbe): Before After ---------------------------------------------------------------------------- movi_i64 tmp1,$0x21 movi_i64 tmp1,$0x21 movi_i64 cc_src,$0x21 movi_i64 cc_src,$0x21 sub_i64 cc_dst,rax,tmp1 sub_i64 cc_dst,rax,tmp1 add_i64 tmp7,cc_dst,cc_src movi_i32 cc_op,$0x11 movi_i32 cc_op,$0x11 brcond_i64 tmp7,cc_src,leu,$0x0 discard loc11 brcond_i64 rax,cc_src,leu,$0x0 Before After ---------------------------------------------------------------------------- mov (%r14),%rbp mov (%r14),%rbp mov %rbp,%rbx mov %rbp,%rbx sub $0x21,%rbx sub $0x21,%rbx lea 0x21(%rbx),%r12 movl $0x11,0xa0(%r14) movl $0x11,0xa0(%r14) movq $0x21,0x90(%r14) movq $0x21,0x90(%r14) mov %rbx,0x98(%r14) mov %rbx,0x98(%r14) cmp $0x21,%r12 | cmp $0x21,%rbp jbe ... jbe ... Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 891a5133f1637296c3823229180b5851132ed5f5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 18 10:06:55 2013 -0800 target-i386: Update cc_op before TCG branches Placing the CC_OP_DYNAMIC at the join is less effective than before the branch, as the branch will have forced global registers to their home locations. This way we have a chance to discard CC_SRC2 before it gets stored. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dc259201f8b471f27136ffe50cc7019c8311ccb6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 15:01:35 2013 -0800 target-i386: introduce gen_jcc1_noeob A jump that ends a basic block or otherwise falls back to CC_OP_DYNAMIC will always have to call gen_op_set_cc_op. However, not all jumps end a basic block, so introduce a variant that does not do this. This was partially undone earlier (i386: drop cc_op argument of gen_jcc1), redo it now also to prepare for the introduction of src2. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 63633fe6eb15107d688f3b7f61a4b379f57fc4ca Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:51:34 2013 -0800 target-i386: use gen_op for cmps/scas Replace low-level ops with a higher-level "cmp %al, (A0)" in the case of scas, and "cmp T0, (A0)" in the case of cmps. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3b9d3cf1609ec98411508c1e8b6dde711117825f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 15:04:10 2012 +0200 target-i386: kill cpu_T3 It is almost unused, and it is simpler to pass a TCG value directly to gen_shiftd_rm_T1_T3. This value is then written to t2 without going through a temporary register. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 57eb0cc85469a8948d1036ab830951e63aa32f66 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 16 11:00:14 2013 -0800 target-i386: expand cmov via movcond Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f32d3781de8328237c2db45ff774cbd4b30134d6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Oct 7 17:55:26 2012 +0200 target-i386: introduce gen_cmovcc1 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cc8b6f5b39ae47a93074a5384faa734bf2a6ae61 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Oct 8 09:42:48 2012 +0200 target-i386: cleanup temporary macros for CCPrepare Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 69d1aa31f7551050bf918dc22f0fe3307b779186 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:41:21 2013 -0800 target-i386: inline gen_prepare_cc_slow Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 943131ca98af142da7b99111b410e741a5d42338 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Oct 7 15:53:23 2012 +0200 target-i386: use CCPrepare to generate conditional jumps This simplifies all the jump generation code. CCPrepare allows the code to create an efficient brcond always, so there is no need to duplicate the setcc and jcc code. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 276e6b5f069e189e204a4320f824daa07db10286 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:33:45 2013 -0800 target-i386: introduce gen_prepare_cc This makes the i386 front-end able to create CCPrepare structs for all condition, not just those that come from a single flag. In particular, JCC_L and JCC_LE can be optimized because gen_prepare_cc is not forced to return a result in bit 0 (unlike gen_setcc_slow). However, for now the slow jcc operations will still go through CC computation in a single-bit temporary, followed by a brcond if the temporary is nonzero. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit bec93d7283b635aabaf0bbff67b6da7fc99e020a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 14:21:52 2013 -0800 target-i386: introduce CCPrepare Introduce a struct that describes how to build a *cond operation that checks for a given x86 condition code. For now, just change gen_compute_eflags_* to return the new struct, generate code for the CCPrepare struct, and go on as before. [rth: Use ctz with the proper width rather than ffs.] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c365395e9bd2b3bcac48ef562c187ea6ab9820ad Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 23:00:10 2012 +0200 target-i386: optimize setcc instructions Reconstruct the arguments for complex conditions involving CC_OP_SUBx (BE, L, LE). In the others do it via setcond and gen_setcc_slow (which is not that slow in many cases). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit be10b289d697420b6e0d8d1a681aa64555066639 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:53:51 2013 -0800 target-i386: optimize setle And allow gen_setcc_slow to operate on cpu_cc_src. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2cb4764577f270eec259123955a6396ad6a2f161 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:49:43 2013 -0800 target-i386: optimize setbe This is looking at EFLAGS, but it can do so more efficiently with setcond. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1a5c635947e60167c4626dd274531b8b0eacc2e5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 22:54:34 2012 +0200 target-i386: change gen_setcc_slow_T0 to gen_setcc_slow Do not hard code the destination register. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 06847f1f1a7cff71f68dc6416cdd729c01ae2305 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:46:02 2013 -0800 target-i386: convert gen_compute_eflags_c to TCG Do the switch at translation time, converting the helper templates to TCG opcodes. In some cases CF can be computed with a single setcond, though others it may require a little more work. In the CC_OP_DYNAMIC case, compute the whole EFLAGS, same as for ZF/SF/PF. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8115f117357a63bff84522caac6c3bcadee0a285 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:37:28 2013 -0800 target-i386: use inverted setcond when computing NS or NZ Make gen_compute_eflags_z and gen_compute_eflags_s able to compute the inverted condition, and use this in gen_setcc_slow_T0. We cannot do it yet in gen_compute_eflags_c, but prepare the code for it anyway. It is not worthwhile for PF, as usual. shr+and+xor could be replaced by and+setcond. I'm not doing it yet. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 086c40778485f9a52d41a66fd4ef0d8723a2ac0a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:33:59 2013 -0800 target-i386: do not call helper to compute ZF/SF ZF, SF and PF can always be computed from CC_DST except in the CC_OP_EFLAGS case (and CC_OP_DYNAMIC, which just resolves to CC_OP_EFLAGS in gen_compute_eflags). Use setcond to compute ZF and SF. We could also use a table lookup to compute PF. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b666265b2071e4288110f6553b598efe00246d06 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:26:38 2013 -0800 target-i386: Move CC discards to set_cc_op This gets us universal coverage, rather than scattering discards around at various places. As a bonus, we do not emit redundant discards e.g. between sequential logic insns. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ccfcdd09bf91aabe039d2dae0b5ec3a05f083e59 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:07:10 2013 -0800 target-i386: no need to flush out cc_op before gen_eob This makes code more similar to the other callers of gen_eob, especially loopz/loopnz/jcxz. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d229edce1c58e6bb13d386bef4c31fc2e3850cb6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 13:03:26 2013 -0800 target-i386: do not compute eflags multiple times consecutively After calling gen_compute_eflags, leave the computed value in cc_reg_src and set cc_op to CC_OP_EFLAGS. The next few patches will remove anyway most calls to gen_compute_eflags. As a result of this change it is more natural to remove the register argument from gen_compute_eflags and change all the callers. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1608ecca95188dcf4f78072be48f41dbe2062b25 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 18:42:59 2012 +0200 target-i386: add helper functions to get other flags Introduce new functions to extract PF, SF, OF, ZF in addition to CF. These provide single entry points for optimizing accesses to a single flag. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 773cdfccb835cc82aca2b2ff34277b4bf58d6bb9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 12:43:12 2013 -0800 target-i386: Use gen_update_cc_op everywhere All of the conditional calls to gen_op_set_cc_op go away, and gen_op_set_cc_op itself gets inlined into its only remaining caller. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e207582f6660e0e2d10a2e79e664e456e80b2887 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 12:34:26 2013 -0800 target-i386: Don't clobber s->cc_op in gen_update_cc_op Use a dirty flag to know whether env->cc_op is up to date, rather than forcing s->cc_op to DYNAMIC and losing info. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3ca51d07dae5b2d2301431c55b08d4faaad95d91 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 23 12:30:52 2013 -0800 target-i386: Introduce set_cc_op This will provide a good hook into which we can consolidate all of the cc variable discards. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit fee71888a29ab9f31b23386383812a4f5c953829 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Jan 16 16:23:46 2013 -0800 target-i386: Name the cc_op enumeration Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c7b3c87397a3458d3d26499c483e0badaf79849c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 18:29:21 2012 +0200 target-i386: factor gen_op_set_cc_op/tcg_gen_discard_tl around computing flags Before computing flags we need to store the cc_op to memory. Move this to gen_compute_eflags_c and gen_compute_eflags rather than doing it all over the place. Alo, after computing the flags in cpu_cc_src we are in EFLAGS mode. Set s->cc_op and discard cpu_cc_dst in gen_compute_eflags, rather than doing it all over the place. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5bdb91b0dd66b7e0fdfc801601c433ad4752aeb0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 13:35:40 2012 +0200 target-i386: use gen_jcc1 to compile loopz Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6fa38ed219587723fcab9b878f42269489d51705 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: clean up sahf Discard CC_DST and set s->cc_op immediately after computing EFLAGS. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f5847c912d62d60a9917ed1e88cd6d4548fd40f3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: compute eflags outside rcl/rcr helper Always compute EFLAGS first since it is needed whenever the shift is non-zero, i.e. most of the time. This makes it possible to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases where s->cc_op becomes CC_OP_DYNAMIC. Also, we can remove cc_tmp and just modify cc_src from within the helper. Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op and discarding cpu_cc_dst. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0ff6addd92979b9759efa1c0945526e6ac78ce5b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: move eflags computation closer to gen_op_set_cc_op This ensures the invariant that cpu_cc_op matches s->cc_op when calling the helpers. The next patches need this because gen_compute_eflags and gen_compute_eflags_c will take care of setting cpu_cc_op. Always compute EFLAGS first since it is needed whenever the shift is non-zero, i.e. most of the time. This makes it possible to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases where s->cc_op becomes CC_OP_DYNAMIC. These are slow and we want to avoid them: CC_OP_EFLAGS is quite efficient once we paid the initial cost of computing the flags. Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op and discarding cpu_cc_dst. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 52320e15dbb0c2531501a924972e63cdb59742a7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 00:18:55 2012 +0200 target-i386: move carry computation for inc/dec closer to gen_op_set_cc_op This ensures the invariant that cpu_cc_op matches s->cc_op when calling the helpers. The next patches need this because gen_compute_eflags and gen_compute_eflags_c will take care of setting cpu_cc_op. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b27fc131fe8dc18924904e4dd0b82dfd77dc51c7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 01:36:45 2012 +0200 target-i386: drop cc_op argument of gen_jcc1 As in the gen_repz_scas/gen_repz_cmps case, delay setting CC_OP_DYNAMIC in gen_jcc until after code generation. All of gen_jcc1/is_fast_jcc/gen_setcc_slow_T0 now work on s->cc_op, which makes things a bit easier to follow and to patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 91642ff80607ad90c66ba044fe91e4a53b09bdbb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 01:22:09 2012 +0200 target-i386: factor setting of s->cc_op handling for string functions Set it to the appropriate CC_OP_SUBx constant in gen_scas/gen_cmps. In the repz case it can be overridden to CC_OP_DYNAMIC after generating the code. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d824df34e8cdd2fbe55258f26731d7ef3ac7ced2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 5 18:02:41 2012 +0200 target-i386: introduce gen_ext_tl Introduce a function that abstracts extracting an 8, 16, 32 or 64-bit value with or without sign, generalizing gen_extu and gen_exts. Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 93ab25d7d129fbe47a99fd8c91292ea99bff747e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Oct 6 01:56:03 2012 +0200 target-i386: use OT_* consistently Reviewed-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1b99f83e3946c447eefb3417ec1ea4c2f3b44582 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 16:40:21 2012 +0200 test-i386: make it compile with a recent gcc Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 40475087a5ee80f5251dac6087142458d8dc7d99 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Oct 12 16:40:41 2012 +0200 test-i386: QEMU_PACKED is not defined here Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cc2832a51c8ce43349967ab1b6c7aafd510e55b2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 17:46:57 2013 +0100 rtc-test: add testcases for alarms in 12hour mode Trying (unsuccessfully) to break the device model as mentioned in https://bugs.launchpad.net/qemu/+bug/1090558. At least if someone tries to fix that, it won't break what works... Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1357922817-17584-3-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f9b3ed401c5cf3df9689f74c15a7b4d91566a3ac Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 17:46:56 2013 +0100 rtc-test: always set register B in its entirety Eliminate dependencies between one test and the others. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1357922817-17584-2-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7d2a929feba319c18603e324b1750830d6c8b7a1 Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Thu Oct 18 11:16:58 2012 +0200 vnc-tls: Fix compilation with newer versions of GNU-TLS In my installation of GNU-TLS (v3.0.23) the type gnutls_anon_server_credentials is marked deprecated, so -Werror breaks compilation. Simply replacing it with the newer ..._t version fixed the compilation on my machine (Slackware 14.0). I cannot tell how far back this "new" type goes, at least the header file in RHEL 5.0 (v1.4.1) seems to have it already. If someone finds a broken distribution, tell me and I insert some compat code. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Message-id: 1350551818-14717-1-git-send-email-andre.przywara@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 10adb8be87c315573a5bf9f5bda885f25da28ce6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:43 2013 +0100 doc help: Collect block device stuff under its own heading Collect them from "Standard options", "File system options", "Virtual File system pass-through options", "Debug/Expert options". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-8-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 84644c451ce7cf8e3cf027501f0f44041f8c6972 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:42 2013 +0100 doc help: A few options are under inappropriate headings, fix --device is under heading "USB options". --name and --uuid are under "Virtual File system pass-through options". Move all three to "Standard options". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f037809907bcc51295a471ad66b14e90f22d8caa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:41 2013 +0100 help: Fix markup of heading "USB options" so it appears in -help Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c70a01e449536c616c85ab820c6fbad7d7e9cf39 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:40 2013 +0100 doc: Fix texinfo @table markup in qemu-options.hx End tables before headings, start new ones afterwards. Fixes incorrect indentation of headings "File system options" and "Virtual File system pass-through options" in manual page and qemu-doc. Normalize markup some to increase chances it survives future edits. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6265c43b0c872015e4331d3a93ff99946f3edb01 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:39 2013 +0100 doc: Fill some option doc gaps in manual page and qemu-doc Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b8f490eb271cf07f491f05e11e3a3a4e7fde9f70 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:38 2013 +0100 doc: Fix some option entries in qemu-doc's function index Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 31e70d6c12d8f0170d7eeb56fa8275a9cc77c4a4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 19:49:37 2013 +0100 help: Drop bogus help on -qtest and -qtest-log Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360781383-28635-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c538ca66ffec97432057d3fe1aa5a4bb417ae9e9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 11:27:26 2013 +0100 isa: Split off instance_init for ISADevice Prepares for assigning IRQs before QOM realize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361010446-1427-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 872536bf5dfdf207d275cd627caec2aefb68aab9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 22:44:03 2013 +0100 qtest: Add MMIO support Introduce [qtest_]{read,write}[bwlq]() libqtest functions and corresponding QTest protocol commands to replace local versions in libi2c-omap.c. Also convert m48t59-test's cmos_{read,write}_mmio() to {read,write}b(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361051043-27944-4-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b73cf9e93f1c7fd6e949f71172c49848b4d70aa9 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 22:44:02 2013 +0100 libqtest: Introduce qtest_qmpv() and convert remaining macro In order to convert qmp() macro to an inline function, expose a qtest_qmpv() function, reused by qtest_qmp(). We can't apply GCC_FMT_ATTR() since fdc-test is using zero-length format strings, which would result in warnings treated as errors. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361051043-27944-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6acf801de5a6e299c02ab3efe3e0dcd75ae678e0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 16 22:44:01 2013 +0100 libqtest: Convert macros to functions and clean up documentation libqtest.h provides a number of shortcut macros to avoid tests feeding it the QTestState they operate on. Most of these can easily be turned into static inline functions, so let's do that for clarity. This avoids getting off-by-one error messages when passing wrong args. Some macros had a val argument but documented @value argument. Fix this. While touching things, enforce gtk-doc markup for return values and for referencing types. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1361051043-27944-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3c3adde005ec929d7d581d495d9a0bb223e6e055 Merge: f4c0f98... 2d64255... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Feb 18 08:37:29 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber # Via Andreas Färber * afaerber/qom-cpu: (47 commits) target-i386: Split command line parsing out of cpu_x86_register() target-i386: Move cpu_x86_init() target-lm32: Drop unused cpu_lm32_close() prototype target-s390x: Drop unused cpu_s390x_close() prototype spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu() ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu() e500: Replace open-coded loop with qemu_get_cpu() cpu: Add CPUArchState pointer to CPUState cputlb: Pass CPUState to cpu_unlink_tb() cpu: Move current_tb field to CPUState cpu: Move exit_request field to CPUState cpu: Move running field to CPUState cpu: Move host_tid field to CPUState target-cris: Introduce CRISCPU subclasses target-m68k: Pass M68kCPU to m68k_set_irq_level() mcf_intc: Pass M68kCPU to mcf_intc_init() mcf5206: Pass M68kCPU to mcf5206_init() target-m68k: Return M68kCPU from cpu_m68k_init() ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset() target-xtensa: Move TCG initialization to XtensaCPU initfn ... commit f4c0f986c061f34fd5b020c30e2aa8c37e17193b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 16 12:47:01 2013 -0800 tests: Add unit tests for mulu64 and muls64 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ff7a1eb0a1262f7d451cc1e70c65dd23771ce2a2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 16 12:47:00 2013 -0800 host-utils: Improve mulu64 and muls64 The new formulation makes better use of add-with-carry type insns that the host may have. Use gcc's sign adjustment trick to avoid having to perform a 128-bit negation. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f540166b7dfdf4ec2057ac322d8cbfd0691e1d65 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Feb 16 12:46:59 2013 -0800 host-utils: Use __int128_t for mul[us]64 Replace some x86_64 specific inline assembly with something that all 64-bit hosts ought to optimize well. At worst this becomes a call to the gcc __multi3 routine, which is no worse than our implementation in util/host-utils.c. With gcc 4.7, we get identical code generation for x86_64. We now get native multiplication on ia64 and s390x hosts. With minor improvements to gcc we can get it for ppc64 as well. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit be96bd3fbffde908a392c830c856063e122791c1 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Feb 16 23:21:24 2013 +0100 tcg/ppc: Fix build of tcg_qemu_tb_exec() Commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 (TCG: Final globals clean-up) moved code_gen_prologue but forgot to update ppc code. This broke the build on 32-bit ppc. ppc64 is unaffected. Cc: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 05499f4b9fd431631299dc1b70156dbc1fb43318 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 14:32:05 2013 +0100 target-sparc: Fix debug output for DEBUG_MMU Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2d64255bd7c0d3933ff5ab2cabff11bcb09117a8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 14:06:56 2013 +0100 target-i386: Split command line parsing out of cpu_x86_register() In order to instantiate a CPU subtype we will need to know which type, so move the cpu_model splitting into cpu_x86_init(). Parameters need to be set on the X86CPU instance, so move cpu_x86_parse_featurestr() into cpu_x86_init() as well. This leaves cpu_x86_register() operating on the model name only. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5c3c6a682dedb3ef6becf112867cf92abf203816 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 1 15:12:13 2013 +0100 target-i386: Move cpu_x86_init() Consolidate CPU functions in cpu.c. Allows to make cpu_x86_register() static. No functional changes. Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0203f86f5205e09a56df41021d872c6353754250 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 12:13:15 2013 +0100 target-lm32: Drop unused cpu_lm32_close() prototype It was never implemented. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0dac84597a66eb8f416972faef451ce786b3cdd4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Feb 2 12:10:37 2013 +0100 target-s390x: Drop unused cpu_s390x_close() prototype It was never implemented. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5353d03dd7917875b46ff03e0d9e2935770f5e9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 16:43:08 2013 +0100 spapr_hcall: Replace open-coded CPU loop with qemu_get_cpu() The helper functions all access ppc-specific fields only so don't bother to change arguments to PowerPCCPU and use env_ptr instead. No functional change. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 912ebe10eff6cf7e05f908a44283033c1c0270a0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 15:56:27 2013 +0100 ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu() Potentially env could be NULL whereas cpu would still be valid and correspond to a previous env. Wrapping this in qemu_get_cpu(), env is no longer needed, so simplify code that existed before 55e5c2850293547203874098f7cec148ffd12dfa. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 440c8152bd410b0f928d4de6f187f1e2280e1324 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 15 15:21:13 2013 +0100 e500: Replace open-coded loop with qemu_get_cpu() Since we still need env for ppc-specific fields, obtain it via the new env_ptr fields to avoid "cpu" name conflicts between CPUState and PowerPCCPU for now. This fixes a potential issue with env being NULL at the end of the loop but cpu still being a valid pointer corresponding to a previous env. Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c05efcb18ee30cdf2b00b3512aa0f5233b52911f Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 12:13:41 2013 +0100 cpu: Add CPUArchState pointer to CPUState The target-specific ENV_GET_CPU() macros have allowed us to navigate from CPUArchState to CPUState. The reverse direction was not supported. Avoid introducing CPU_GET_ENV() macros by initializing an untyped pointer that is initialized in derived instance_init functions. The field may not be called "env" due to it being poisoned. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 907a5e32f293a0af8875973d4cce12b96bea5bae Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 09:16:15 2013 +0100 cputlb: Pass CPUState to cpu_unlink_tb() CPUArchState is no longer needed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d77953b94ff20868b21796ee22ca57baa1cfc941 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 19:29:31 2013 +0100 cpu: Move current_tb field to CPUState Explictly NULL it on CPU reset since it was located before breakpoints. Change vapic_report_tpr_access() argument to CPUState. This also resolves the use of void* for cpu.h independence. Change vAPIC patch_instruction() argument to X86CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fcd7d0034b7eddba505a548f456f452bf5a7d56c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 08:02:44 2012 +0100 cpu: Move exit_request field to CPUState Since it was located before breakpoints field, it needs to be reset. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0315c31cda054775585b31f8cb3c9228cc6fc28b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 07:34:52 2012 +0100 cpu: Move running field to CPUState Pass CPUState to cpu_exec_{start,end}() functions. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0d34282fdde1d8f337d2a9e10f5ac793b12ef2e7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 07:12:13 2012 +0100 cpu: Move host_tid field to CPUState Change gdbstub's cpu_index() argument to CPUState now that CPUArchState is no longer used. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6ae064fc671f1c475b1371c067fa3100ec6daf80 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Feb 6 17:18:12 2013 +0100 target-cris: Introduce CRISCPU subclasses Use class_init functions to initialize the VR in preparation for overriding v32+ behavior there. Move cpu_cris_init() to cpu.c and hook up a class_by_name callback. This change leads to unknown -cpu model names no longer falling back to a CPU with VR 32 but instead returning NULL. Acked-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cb3fb38e91caacfcb0f86e8c587ed74ffa34fe8e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:20:52 2013 +0100 target-m68k: Pass M68kCPU to m68k_set_irq_level() Simplifies use of cpu_reset_interrupt() et al. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9a6ee9fd35483446fe14e083fa335358c86ba595 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:15:09 2013 +0100 mcf_intc: Pass M68kCPU to mcf_intc_init() Store it in mcf_intc_state. Prepares for passing it to m68k_set_irq_level(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4025cfd5d7175203008343a375f9287c77cd383c Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:10:34 2013 +0100 mcf5206: Pass M68kCPU to mcf5206_init() Store it in m5206_mbar_state. Prepares for passing M68kCPU to m68k_set_irq_level(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c7937d9f9a99d8cc2848e85f608d89c6f326daf0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 14:03:58 2013 +0100 target-m68k: Return M68kCPU from cpu_m68k_init() Turn cpu_init() into a static inline function for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit f3273ba643f2d0221492381b24bbc35fb6089a48 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 15:57:51 2013 +0100 ppc405_uc: Pass PowerPCCPU to ppc40x_{core,chip,system}_reset() Prepares for changing cpu_interrupt() argument to CPUState. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> commit 25733eada6c1d4928262e77e2ee1e9ed12de18fb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:46:45 2013 +0100 target-xtensa: Move TCG initialization to XtensaCPU initfn Combine this with breakpoint handler registration, guarding both with tcg_enabled() to suppress also TCG init for qtest. Rename the handler to xtensa_breakpoint_handler() since it needs to become global. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d9c27f00b174df070470d48d6577042d2186d969 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:36:47 2013 +0100 target-unicore32: Move TCG initialization to UniCore32CPU initfn Normalize the "inited" logic and add a tcg_enabled() check to suppress it for qtest. Ensures that a QOM-created UniCore32CPU is usable. Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5266d20a12f2ef01841aad5f1692d73551a39dac Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:34:18 2013 +0100 target-sparc: Move TCG initialization to SPARCCPU initfn Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aa7408ec18c3517b2476a3671cd0b7f171241e2d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:30:32 2013 +0100 target-sh4: Move TCG initialization to SuperHCPU initfn Add a tcg_enabled() check to suppress it for qtest. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2b7ac76729c8253d799a8d3bb9bae76cccb0714e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 22:43:32 2013 +0100 target-s390x: Move TCG initialization to S390CPU initfn Ensures that a QOM-created S390CPU is usable. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 60925d2644953ce1ca7813411853d8c04e637050 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:26:37 2013 +0100 target-ppc: Move TCG initialization to PowerPCCPU initfn Ensures that a QOM-created PowerPCCPU is usable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 78ce64f492498050083e46cdd7e6cbae6435843c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:22:25 2013 +0100 target-mips: Move TCG initialization to MIPSCPU initfn Make mips_tcg_init() non-static and add tcg_enabled() check to suppress it for qtest. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cd0c24f9095b1f825210bb9d9f99532c78668074 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 01:10:52 2013 +0100 target-microblaze: Move TCG initialization to MicroBlazeCPU initfn Split off TCG initialization from cpu_mb_init() into mb_tcg_init() to call it from the initfn. Ensures that a QOM-created MicroBlazeCPU is usable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1cc896195bae54d7a5f48f9032037d8f6f65abd5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 00:48:29 2013 +0100 target-m68k: Move TCG initialization to M68kCPU initfn Add a tcg_enabled() check to suppress it for qtest. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 868e2824276cbe6ef2e202c05c4eb3a3a19d3ee0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 00:05:12 2013 +0100 target-lm32: Move TCG initialization to LM32CPU initfn Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d1a94fec3d8d70009fd5ac27ade5539fe58cd702 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 23:55:42 2013 +0100 target-cris: Move TCG initialization to CRISCPU initfn Split out TCG initialization from cpu_cris_init(). Avoid CPUCRISState dependency for v10-specific initialization and for non-v10 by inlining the decision into the initfn as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 79614b781df5096ffecf531992314781dbab54af Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 07:37:45 2013 +0100 target-arm: Move TCG initialization to ARMCPU initfn Ensures that a QOM-created ARMCPU is usable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5f6c964389ea5320e81e2fb8c2bc3aa40c5a8013 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 04:19:35 2013 +0100 target-xtensa: Introduce QOM realizefn for XtensaCPU Introduce realizefn and set realized = true in cpu_xtensa_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 088383e3220776917f538d0e43933e842e16b804 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:38:30 2013 +0100 target-unicore32: Introduce QOM realizefn for UniCore32CPU Introduce a realizefn and set realized = true in uc32_cpu_init(). Acked-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> [AF: Invoke the parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b6e91ebfe06f1d90331d162259553a5330514143 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 04:13:19 2013 +0100 target-sparc: Introduce QOM realizefn for SPARCCPU Introduce realizefn and set realized = true in cpu_sparc_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 55acb588dd184a1e33be0ff1fe23f8c19f88fd6c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Apr 23 18:16:02 2012 +0200 target-sh4: Introduce QOM realizefn for SuperHCPU Introduce a realizefn and set realized = true in cpu_sh4_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1f1366322b21678c33003a373366697a4542d2d4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 04:00:41 2013 +0100 target-s390x: Introduce QOM realizefn for S390CPU Introduce realizefn and set realized = true in cpu_s390x_init(). Defer CPU reset from initfn to realizefn. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> [AF: Invoke parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c1caf1d961288e41c25de6631c6751ae7baa20f0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:48:37 2013 +0100 target-mips: Introduce QOM realizefn for MIPSCPU Introduce a realizefn and set realized = true from cpu_mips_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 746b03b27cac48be5a376d8635ffaf568339ebd7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 15:27:31 2013 +0100 target-microblaze: Introduce QOM realizefn for MicroBlazeCPU Introduce realizefn and set realized = true from cpu_mb_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6d1bbc6273d45520c5ce6475186bfa30d8afb47c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 15:15:30 2013 +0100 target-m68k: Introduce QOM realizefn for M68kCPU Introduce realizefn and set realized = true in cpu_m68k_init(). Split off GDB registration to a new m68k_cpu_init_gdb() so that it can be called from the realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9c23169e8cd54b490d55221b6498d42966f964f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:31:27 2013 +0100 target-lm32: Introduce QOM realizefn for LM32CPU Introduce a realizefn and set realized = true in cpu_lm32_init(). Also move cpu_reset() call from initfn to realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ca45f8b0440358ccca63446cf0df05772791b2a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 15:41:21 2013 +0100 target-cris: Introduce QOM realizefn for CRISCPU Introduce realizefn and set realized = true from cpu_cris_init(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4776ce600338e17f75d200d1ad17d4ce9effa57f Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:55:14 2013 +0100 target-ppc: Update PowerPCCPU to QOM realizefn Adapt ppc_cpu_realize() signature, hook it up to DeviceClass and set realized = true in cpu_ppc_init(). Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c296262bc94651a7a43639857d8343470f4129f3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:11:07 2013 +0100 target-openrisc: Update OpenRISCCPU to QOM realizefn Update the openrisc_cpu_realize() signature, hook it up to DeviceClass::realize and set realized = true in cpu_openrisc_init(). qapi/error.h is now included through qdev and no longer needed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Jia Liu <proljc@xxxxxxxxx> commit 2b6f294cacd9f4e133a7813d22e1b4e87ac6b2a3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 16 03:41:47 2013 +0100 target-i386: Update X86CPU to QOM realizefn Adapt the signature of x86_cpu_realize(), hook up to DeviceClass::realize and set realized = true in cpu_x86_init(). The QOM realizefn cannot depend on errp being non-NULL as in cpu_x86_init(), so use a local Error to preserve error handling behavior on APIC initialization errors. Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> [AF: Invoke parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 149692667f8a46430127ca0555b38965f52177f5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 10:18:18 2013 +0100 target-arm: Update ARMCPU to QOM realizefn Turn arm_cpu_realize() into a QOM realize function, no longer called via cpu.h prototype. To maintain the semantics of cpu_init(), set realized = true explicitly in cpu_arm_init(). Move GDB coprocessor registration, CPU reset and vCPU initialization into the realizefn. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd1b282836a7885a13c13f9cc63123fa8e32f02f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:01:30 2013 +0100 target-alpha: Update AlphaCPU to QOM realizefn Update the alpha_cpu_realize() signature and hook up to DeviceClass::realize. Set realized = true in cpu_alpha_init(). qapi/error.h is included through qdev now and no longer needed. Acked-by: Richard Henderson <rth@xxxxxxxxxxx> [AF: Invoke parent's realizefn] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4f65809994274989bdf51c8605bb974565cb1c9e Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 19 06:17:06 2013 +0100 cpu: Prepare QOM realizefn Overwrite the default implementation with a no-op, no longer attempting to call DeviceClass::init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 453776e5746be23c66df65fadf12e115b7d2dadd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:43 2013 -0800 bitops: Remove routines redundant with host-utils Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0f9d8bd386c9b7b17fc68fef36caa81750c39494 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:42 2013 -0800 bitops: Replace bitops_ctol with ctzl The is the only remaining user. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4932398fac273b8ebe5688bc4b79407a7f41edbd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:41 2013 -0800 bitops: Inline bitops_flsl This is the only remaining user. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 14e534265aad0796690a5aea429f5bd2877ccff0 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:40 2013 -0800 target-i386: Inline bitops_flsl Use clz32 directly. Which makes slightly more sense given that the input is type "int" and not type "long". Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0cfa6adc7fd1eba4694515bde6bbfb9ecd892f2f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:39 2013 -0800 bitops: Write bitops_flsl in terms of clzl Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5bbf90be97203c472f47da070c0040b464c0460f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:38 2013 -0800 memory: Use non-bitops ctzl A memory size of zero is invalid, and so that edge condition does not occur. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 265ce4a5ca39fb7f74a803dd61bbd9108ca6cdee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:37 2013 -0800 bitops: Use non-bitops ctzl The use of ctz has already eliminated zero, and thus the difference in edge conditions between the two routines is irrelevant. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 18331e7c189507513008a2936f5fe79c3d8b8a08 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:36 2013 -0800 hbitmap: Use non-bitops ctzl Both uses of ctz have already eliminated zero, and thus the difference in edge conditions between the two routines is irrelevant. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 72d81155d0b88ba757c5a972d3fff83027e7a6e7 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:35 2013 -0800 host-utils: Fix coding style and add comments Add function comments to the routines, documenting the corner cases upon which we are standardizing. Fix the few instances of non-standard coding style. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0165437302448d210742cc3def362d1de0413621 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Feb 13 17:47:34 2013 -0800 host-utils: Add host long specific aliases for clz, ctz, ctpop We will standardize on these names, rather than the similar routines currently residing in qemu/bitops.h. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 38dad9e574746981dfbac52b3bbbd6d894f31d26 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:25 2013 +0000 qemu-log: Rename CPULogItem, cpu_log_items to QEMULogItem, qemu_log_items Rename the typedef CPULogItem and the public array cpu_log_items to names that better reflect the fact that the qemu_log functionality isn't restricted to TCG CPU debug logs any more. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b946bffab5e0d359accfcc78faead20fd69f26e8 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:24 2013 +0000 cpus.c: Drop unnecessary set_cpu_log() The set_cpu_log() function in cpus.c is a fairly simple wrapper which is only called from one location. Just inline the code into vl.c, since there is no need to indirect it via cpus.c and the handling of the error case is more appropriate to vl.c. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 24537a01910f110fe3e343c13df13e48f7968a9e Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:23 2013 +0000 qemu-log: Rename the public-facing cpu_set_log function to qemu_set_log Rename the public-facing function cpu_set_log to qemu_set_log. This requires us to rename the internal-only qemu_set_log() to do_qemu_set_log(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4fde1eba0f98779d4fdb64818071f72bb1672438 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:22 2013 +0000 qemu-log: Rename cpu_str_to_log_mask to qemu_str_to_log_mask Rename cpu_str_to_log_mask() to qemu_str_to_log_mask(), since the qemu_log functionality is no longer restricted to TCG CPU debug logging. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 59a6fa6e67d2335d867c66c59d992847e5b62879 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:21 2013 +0000 qemu-log: Abstract out "print usage message about valid log categories" Abstract out the "print a human readable list of all the valid log categories" functionality which is currently duplicated in three separate places. (We leave the monitor.c help_cmd() implementation as-is since it wants to send the message to the monitor and add its own information.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9a7e54242910d26d280589e1f5c7ec8814d02a6b Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Feb 11 16:41:20 2013 +0000 qemu-log: Unify {cpu_set,set_cpu}_log_filename as qemu_set_log_filename The qemu_log() functionality is no longer specific to TCG CPU debug logs. Rename cpu_set_log_filename() to qemu_set_log_filename() and drop the pointless wrapper set_cpu_log_filename(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5e5f07e08f7ed8c8eb9b02d9f9c3c79cf95d65ee Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Date: Fri Feb 1 01:47:23 2013 +0700 TCG: Move translation block variables to new context inside tcg_ctx: tb_ctx It's worth to clean-up translation blocks variables and move them into one context as was suggested by Swirl. Also if we use this context directly inside tcg_ctx, then it speeds up code generation a bit. Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 Author: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Date: Fri Feb 1 01:47:22 2013 +0700 TCG: Final globals clean-up Signed-off-by: Evgeny Voevodin <evgenyvoevodin@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2742f56d134ba0f5ed7e447afd0b6e2001ffc5c1 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 15 17:40:56 2013 -0600 Open up 1.5 development tree Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 03e94e39ce5259efdbdeefa1f249ddb499d57321 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 15 16:15:40 2013 -0600 Update VERSION for release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 571f65ec20fbcb991d7bce51787248ab9d325e3f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Feb 14 08:58:49 2013 -0600 Update VERSION of release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 71652365c53115d2090d294406ec0bd3b7c63953 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Feb 13 23:58:12 2013 +0100 Revert "Update OpenBIOS images" This reverts commit 10442558ab1797bfbb01285b909e34c5cf038f12. With the updated OpenBIOS image, -M g3beige fails to boot quik. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> Message-id: 1360796292-27078-1-git-send-email-agraf@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9893c80d81587ac25d8ea4a82651371b54e7df35 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 12 11:29:31 2013 +1000 cadance_uart: Accept input after rx FIFO pop The device returns false from the can receive function when the FIFO is full. This means the device should check for buffered input whenever a byte is popped from the FIFO. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Message-id: 1360632571-25638-1-git-send-email-peter.crosthwaite@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8a8f5840082eb65d140ccfe7b128c92390cce1c3 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Feb 13 09:25:34 2013 +0100 block/curl: only restrict protocols with libcurl>=7.19.4 The curl_easy_setopt(state->curl, CURLOPT_PROTOCOLS, ...) interface was introduced in libcurl 7.19.4. Therefore we cannot protect against CVE-2013-0249 when linking against an older libcurl. This fixes the build failure introduced by fb6d1bbd246c7a57ef53d3847ef225cd1349d602. Reported-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-by: Andreas Färber <andreas.faeber@xxxxxx> Message-id: 1360743934-8337-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d36b2b904ee921b380fad559cb824a40eb587bcb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 15:54:16 2013 +0100 qapi: Flatten away ChardevPort Simplifies the schema and the code. QMP command { "execute" : "chardev-add", "arguments" : { "id" : "ser0", "backend" : { "type" : "port", "data" : { "type": "serial", "device":"/dev/ttyS0"} } } } becomes { "execute" : "chardev-add", "arguments" : { "id" : "ser0", "backend" : { "type" : "serial", "data" : { "device":"/dev/ttyS0"} } } } Bonus: nicer error messages. "unknown chardev port (1)" becomes "character device backend type 'parallel' not supported". Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1360767256-610-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d037d6bbbcdda6552254286b6da090ef0dc0d98a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 13 15:54:15 2013 +0100 chardev: Fix manual page and qemu-doc for -chardev tty Broken in commit d59044ef. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Message-id: 1360767256-610-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc2a90432d9cb7546a2c4360ad7200a2fb3af31a Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Feb 12 23:16:06 2013 +0100 net: Avoid NULL function pointer dereference on cleanup The pSeries machine and some other devices don't supply a cleanup callback. Revert part of 1ceef9f27359cbe92ef124bf74de6f792e71f6fb that started calling it unconditionally. Cc: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1360707366-9271-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91b0a8f33419573c1d741e49559bfb666fd8b1f0 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Feb 7 02:20:51 2013 +0000 s390: Fix handling of iscs. There are two ways to express an interruption subclass: - As a bitmask, as used in cr6. - As a number, as used in the I/O interruption word. Unfortunately, we have treated to I/O interruption word as if it contained the bitmask as well, which went unnoticed so far as - (queued-for-next) kvm made the same mistake, and - Linux guest kernels don't check the isc value in the I/O interruption word for subchannel interrupts. Make sure that we treat the I/O interruption word correctly. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bd9a8d852c857fd19c4626acaac1d4979f816f3a Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Feb 7 02:20:50 2013 +0000 s390: Keep I/O interrupts enabled for all iscs. do_io_interrupt() would stop scanning further iscs if it found an I/O interrupt it could inject. This might cause the pending interrupt indication for I/O interrupts to be reset although there might be queued I/O interrupts for subsequent iscs. Fix this by reordering the logic: Inject the I/O interrupt immediately and continue searching all iscs for queued interrupts. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 760794f784f66e262a9ca32821ba202cdf3a3e4b Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Feb 4 22:53:24 2013 +0000 s390/sclpconsole: prevent char layer callback during initialization Starting a qemu with an sclp console and pressing a key very early can result in "qemu-system-s390x: hw/s390x/sclpconsole.c:60: receive_from_chr_layer: Assertion `scon->iov' failed." Lets make sure that the init process is finished, since the iov is allocated after CHR_EVENT_OPENED by also checking for scon->iov. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7ce4106c2125eca8f7f61f460456a49074c13e56 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 12 11:17:11 2013 +1000 xilinx.h: s/xilinx_axiethernetdma()/xilinx_axidma() This function has nothing to do with ethernet. Its reusable for all DMA clients. Dropped the "ethernet" in the name accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit dada5c7e92434df7c0ec152fe9a8f0e3de67b632 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Feb 12 11:17:10 2013 +1000 xilinx.h: Dont qdev_create from ethernet_create() Pulled the qdev_create functionality out of xilinx_axiethernet_create() and pushed it up to the petalogix_ml605_mmu machine model. This makes the ethernet create+init process consistent with the AXI DMA. Renamed function to xilinx_axiethernet_init accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 0231ed4f22dd67844d8bbc027eaa5b713cb25ba2 Merge: 6aaa9da... 33ccf66... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 12 16:26:52 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: Revert "block/vpc: Fix size calculation" block/raw-posix: detect readonly Linux block devices using BLKROGET commit 6aaa9dae8059633d52ddcd0622de1a2700fc58a8 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 10:37:15 2013 +0100 block-migration: fix pending() and iterate() return values The return value of .save_live_pending() is the number of bytes remaining. This is just an estimate because we do not know how many blocks will be dirtied by the running guest. Currently our return value for .save_live_pending() is wrong because it includes dirty blocks but not in-flight bdrv_aio_readv() requests or unsent blocks. Crucially, it also doesn't include the bulk phase where the entire device is transferred - therefore we risk completing block migration before all blocks have been transferred! The return value of .save_live_iterate() is the number of bytes transferred this iteration. Currently we return whether there are bytes remaining, which is incorrect. Move the bytes remaining calculation into .save_live_pending() and really return the number of bytes transferred this iteration in .save_live_iterate(). Also fix the %ld format specifier which was used for a uint64_t argument. PRIu64 must be use to avoid warnings on 32-bit hosts. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Message-id: 1360661835-28663-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ad55ab42d494c5f4ebc5199c5c9db473b7d5fbf9 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 10:37:14 2013 +0100 migration: make qemu_ftell() public and support writable files Migration .save_live_iterate() functions return the number of bytes transferred. The easiest way of doing this is by calling qemu_ftell(f) at the beginning and end of the function to calculate the difference. Make qemu_ftell() public so that block-migration will be able to use it. Also adjust the ftell calculation for writable files where buf_offset does not include buf_size. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Message-id: 1360661835-28663-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4a0e6714b06453078e02029e1432fab052927691 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 14:34:05 2013 +0100 trace: deal with deprecated glib thread functions g_thread_create() was deprecated in favor of g_thread_new() and g_cond_new() was deprecated in favor of GCond initialization. If the host has glib 2.31 or newer, avoid using the deprecated functions. This patch solves compiler warnings that are generated when glib's deprecated functions are used. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360676045-9204-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 30d940875dcd1adfbfd7fe7ccd3e543408519662 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 14:34:04 2013 +0100 trace: use glib atomic int types Juan reported that RHEL 6.4 hosts give compiler warnings because we use unsigned int while glib prototypes use volatile gint in trace/simple.c. trace/simple.c:223: error: pointer targets in passing argument 1 of 'g_atomic_int_compare_and_exchange' differ in signedness These variables are only accessed with glib atomic int functions so let's play it by the book and use volatile gint. Reported-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360676045-9204-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 33ccf6675faa3c56f30399e184064fd126904515 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 12 12:25:15 2013 +0100 Revert "block/vpc: Fix size calculation" This reverts commit f880defbb06708d30a38ce9f2667067626acdd38. Jeff Cody's testing revealed that the interpretation of size differs even between VirtualPC and HyperV. Revert this so there is time to consider the impact of any backwards incompatible behavior this change creates. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit da888d37b0b85fc23e4ea55ab8b0c482d4918afb Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Feb 5 12:28:33 2013 +0100 block/raw-posix: detect readonly Linux block devices using BLKROGET Linux block devices can be set read-only with "blockdev --setro <device>". The same thing can be done for LVM volumes using "lvchange --permission r <volume>". This read-only setting is independent of device node permissions. Therefore the device can still be opened O_RDWR but actual writes will fail. This results in odd behavior for QEMU. bdrv_open() is supposed to fail if a read-only image is being opened with BDRV_O_RDWR. By not failing for Linux block devices, the guest boots up but every write produces an I/O error. This patch checks whether the block device is read-only so that Linux block devices behave like regular files. Reported-by: Sibiao Luo <sluo@xxxxxxxxxx> Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 03ec2f83087de34924489eeae0ea6fe7785cc050 Author: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Date: Mon Feb 4 17:56:25 2013 +0800 hw/m25p80.c: add WRSR(0x01) support Atmel, SST and Intel/Numonyx serial flash tend to power up with the software protection bits set. And thus the new m25p80.c in linux kernel would always tries to use WREN(0x06) + WRSR(0x01) to turn-off the protection. The WEL(0x02) of status register is supposed to be cleared after WRSR(0x01). There are also some drivers (i.e mine for RTOSes) would check the WEL(0x02) in status register to make sure the protection is correctly turned off. Signed-off-by: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 58fa4325228f61d58317f48364259b31e9b92d15 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Mon Feb 11 18:05:48 2013 +0100 qapi: Improve chardev-add documentation Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360602348-4727-1-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d7cd369402191814a1bb339a730f3af411e9682f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Feb 11 17:01:45 2013 +0100 migration: restrict scope of incoming fd read handler The incoming migration is processed in a coroutine and uses an fd read handler to enter the yielded coroutine when data becomes available. The read handler was set too broadly, so that spurious coroutine entries were be triggered if other coroutine users yielded (like the block layer's bdrv_write() function). Install the fd read only only when yielding for more data to become available. This prevents spurious coroutine entries which break code that assumes only a specific set of places can re-enter the coroutine. This patch fixes crashes in block/raw-posix.c that are triggered with "migrate -b" when qiov becomes a dangling pointer due to a spurious coroutine entry that frees qiov early. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360598505-5512-1-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d0bce760e04b1658a3b4ac95be2839ae20fd86db Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Mon Feb 11 17:41:54 2013 +0100 libi2c-omap: Fix endianness dependency The libqos driver for omap_i2c currently does not work on Big Endian. Introduce helpers for reading from and writing to 16-bit armel registers. This fixes tmp105-test failures on ppc. To prepare for a QTest-level endianness solution, poison mem{read,write} and always use the helpers. Adopt the expected signatures. To avoid an unused variable warning, assert the STAT Single Byte Data bit but, due to it not getting cleared, only it being set when len == 1. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Message-id: 1360600914-5448-3-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5dd6be069bf832f888005d28cebdec16720dedac Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 11 17:41:53 2013 +0100 qtest: Use strtoull() for uint64_t On 32-bit hosts, unsigned long may be uint32_t and uint64_t may be unsigned long long. Account for this by always using strtoull(). We were already using strtoll() for int64_t. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Message-id: 1360600914-5448-2-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 84eac31707a8f103cc9a0b38ab62a8832bec1153 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Feb 11 18:35:39 2013 +0100 libqtest: Fix documentation copy&paste errors The [qtest_]in[bwl]() functions/macros don't have a value argument. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Message-id: 1360604139-16797-1-git-send-email-afaerber@xxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f880defbb06708d30a38ce9f2667067626acdd38 Author: Stefan Weil <stefan@kiwi.(none)> Date: Thu Feb 7 20:26:52 2013 +0100 block/vpc: Fix size calculation The size calculated from the CHS values is not the real image (disk) size, but usually a smaller value. This is caused by rounding effects. Only older operating systems use CHS. Such guests won't be able to use the whole disk. All modern operating systems use the real size. This patch fixes https://bugs.launchpad.net/qemu/+bug/1105670/. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Message-id: 1360265212-22037-1-git-send-email-sw@xxxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2c5a7f20112615ce13a3434ab90bee1ed8d44ebd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sun Feb 10 23:12:46 2013 +0100 block-migration: fix block_save_iterate() return value The .save_live_iterate() function returns 0 to continue iterating or 1 to stop iterating. Since 16310a3cca7320edb9341c976f7819de0a8c27e0 it only ever returns 0, leading to an infinite loop. Return 1 if we have finished sending dirty blocks. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Message-id: 1360534366-26723-4-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9ee0cb201e6bfe03549a649fd165a85cfed34d05 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sun Feb 10 23:12:45 2013 +0100 block-migration: fix blk_mig_save_dirty_block() return value checking Commit 43be3a25c931a7f61a76fbfc9d35584cbfc5fb58 changed the blk_mig_save_dirty_block() return code handling. The function's doc comment says: /* return value: * 0: too much data for max_downtime * 1: few enough data for max_downtime */ Because of the 1 return value, callers must check for ret < 0 instead of just: if (ret) { ... } We do not want to bail when 1 is returned, only on error. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360534366-26723-3-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5f1f286ef8c7c96614779a40af724d7109175d5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Sun Feb 10 23:12:44 2013 +0100 block-migration: improve "Unknown flags" error message Show the actual flags value and include "block migration" in the error message so it's clear where the error is coming from. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Message-id: 1360534366-26723-2-git-send-email-stefanha@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 49295ebc56a303a60c6ca2ead6f548eae3521150 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:19 2013 +0100 vl: Exit unsuccessfully on option argument syntax error We exit successfully after reporting syntax error for argument of --sandbox and --add-fd. We continue undaunted after reporting it for argument of -boot, --option-rom and --object. Change all five to exit unsuccessfully, like the other options. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-7-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cfdd1628666f1342925f9c77cbb63b7d6d049dae Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:18 2013 +0100 vl: Drop redundant "parse error" reports qemu_opts_parse() reports the error already, and in a much more useful way. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-6-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7216ae3d1a11e07192623ad04d450e98bf1f3d10 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:17 2013 +0100 qemu-option: Disable two helpful messages that got broken recently commit 8be7e7e4 and commit ec7b2ccb messed up the ordering of error message and the helpful explanation that should follow it, like this: $ qemu-system-x86_64 --nodefaults -S --vnc :0 --chardev null,id=, Identifiers consist of letters, digits, '-', '.', '_', starting with a letter. qemu-system-x86_64: -chardev null,id=,: Parameter 'id' expects an identifier $ qemu-system-x86_64 --nodefaults -S --vnc :0 --machine kvm_shadow_mem=dunno You may use k, M, G or T suffixes for kilobytes, megabytes, gigabytes and terabytes. qemu-system-x86_64: -machine kvm_shadow_mem=dunno: Parameter 'kvm_shadow_mem' expects a size Pity. Disable them for now. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-5-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 312fd5f29097890179793d8bbb59ab18afbe0ad4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:16 2013 +0100 error: Strip trailing '\n' from error string arguments (again) Commit 6daf194d and be62a2eb got rid of a bunch, but they keep coming back. Tracked down with this Coccinelle semantic patch: @r@ expression err, eno, cls, fmt; position p; @@ ( error_report(fmt, ...)@p | error_set(err, cls, fmt, ...)@p | error_set_errno(err, eno, cls, fmt, ...)@p | error_setg(err, fmt, ...)@p | error_setg_errno(err, eno, fmt, ...)@p ) @script:python@ fmt << r.fmt; p << r.p; @@ if "\\n" in str(fmt): print "%s:%s:%s:%s" % (p[0].file, p[0].line, p[0].column, fmt) Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-4-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1a9522cc6ea04968e1169f0195952d0029d5dbb9 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:15 2013 +0100 error: Clean up abuse of error_report() for help Use error_printf() instead, so the help gets presented more nicely. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-3-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 474c21349fdde3c477357c2317ca6ad50872827b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Feb 8 21:22:14 2013 +0100 error: Clean up error strings with embedded newlines The arguments of error_report() should yield a short error string without newlines. A few places try to print additional help after the error message by embedding newlines in the error string. That's nice, but let's do it the right way. Since I'm touching these lines anyway, drop a stray preposition and some tabs. We don't use tabs for similar messages elsewhere. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Message-id: 1360354939-10994-2-git-send-email-armbru@xxxxxxxxxx Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2da2e52dce73c5e3a916bcc8e86451ed64f557d8 Merge: 1044255... 0184543... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Feb 11 08:10:39 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Peter Maydell # Via Luiz Capitulino * luiz/queue/qmp: tests/test-string-input-visitor: Handle errors provoked by fuzz test commit 10442558ab1797bfbb01285b909e34c5cf038f12 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Feb 9 13:39:45 2013 +0000 Update OpenBIOS images Update OpenBIOS images to SVN r1097 built from submodule. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 70ef6a5b7121cb54d7f9713d6315fb8547761bfc Author: Liming Wang <walimisdev@xxxxxxxxx> Date: Thu Feb 7 16:58:15 2013 +1000 xilinx_zynq: Fix wrong IRQ number of the second EHCI controller The IRQ number of the second EHCI controller should be 76, not 75. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Tested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fb6d1bbd246c7a57ef53d3847ef225cd1349d602 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Feb 8 08:49:10 2013 +0100 block/curl: disable extra protocols to prevent CVE-2013-0249 There is a buffer overflow in libcurl POP3/SMTP/IMAP. The workaround is simple: disable extra protocols so that they cannot be exploited. Full details here: http://curl.haxx.se/docs/adv_20130206.html QEMU only cares about HTTP, HTTPS, FTP, FTPS, and TFTP. I have tested that this fix prevents the exploit on my host with libcurl-7.27.0-5.fc18. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0eb256a2173d35c64696189adcd3599be61922ef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 8 13:19:07 2013 +0100 qemu-nbd: document --cache and --aio options Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 32ab06bcf1352848eec42629a85e20efa4e105dc Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 17:47:17 2013 -0600 hw/virtio-net: disable multiqueue by default The new multiqueue feature adds fields to the virtio device config, which breaks Windows guests. Disable the feature by default until the Windows drivers are fixed. Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 14f9b664b34bbd37a488cb5c762aa278c60e1fb6 Author: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 17:47:16 2013 -0600 hw/virtio-net.c: set config size using host features Currently, the config size for virtio devices is hard coded. When a new feature is added that changes the config size, drivers that assume a static config size will break. For purposes of backward compatibility, there needs to be a way to inform drivers of the config size needed to accommodate the set of features enabled. aliguori: merged in - hw/virtio-net: use existing macros to implement endof - hw/virtio-net: fix config_size data type Signed-off-by: Jesse Larrew <jlarrew@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1e89ad5b00ba0426d4e949c9e6ce2926c15b81b7 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Feb 5 17:47:15 2013 -0600 virtio-net: pass host features to virtio_net_init Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b890492110ccdc943554231d40b67d29fef6af82 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Wed Feb 6 18:25:48 2013 -0600 net: fix infinite loop on exit 1ceef9f27359cbe92ef124bf74de6f792e71f6fb added handling for cleaning up multiple queues in qemu_del_nic() for cases where multiqueue is in use. To determine the number of queues it looks at nic->conf->queues, then iterates through all the queues to cleanup the associated NetClientStates. If no queues are found, no NetClientStates are deleted. However, nic->conf->queues is only set when a peer is created via -netdev or netdev_add, and is otherwise 0. This causes us to spin in net_cleanup() if we attempt to shut down qemu before adding a host device. Since qemu_new_nic() unconditionally creates at least 1 queue/NetClientState at queue idx 0, make qemu_del_nic() always attempt to clean it up. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0184543814354d37eab75132712c3874d71dd776 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Feb 5 20:44:23 2013 +0000 tests/test-string-input-visitor: Handle errors provoked by fuzz test It's OK and expected for visitors to return errors when presented with the fuzz test's random data. Since the fuzzer doesn't care about errors, we pass in NULL rather than an Error**. This fixes a bug in the fuzzer where it was passing the same Error** into each visitor, with the effect that once one visitor returned an error, each later visitor would notice that it had been passed in an Error** representing an already set error, and do nothing. For the case of visit_type_str() we also need to handle the case where an error means that the visitor doesn't set our char*. We initialize the pointer to NULL so we can safely g_free() it regardless of whether the visitor allocated a string for us or not. This fixes a problem where this test failed the MacOSX malloc() consistency checks and might segfault on other platforms [due to calling free() on an uninitialized pointer variable when visit_type_str() failed.]. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit ecd8d4715ea33aa2c146a5047bacb031e86af599 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 18:33:47 2013 -0600 Update version for release Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bd4bd24ed3e33f4f0ffa9dde23b8b85430592dc6 Merge: 0bc8ce9... c07ecc6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 16:39:04 2013 -0600 Merge branch 'for-linux-user' of https://git.gitorious.org/qemu-m68k/qemu-m68k into staging * 'for-linux-user' of https://git.gitorious.org/qemu-m68k/qemu-m68k: linux-user: correct reboot() linux-user: correct setsockopt() linux-user: correct print_timeval() swap tv_sec and tv_usec linux-user: correct msgrcv() Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0bc8ce9460c1f51211e797a825432e55327b70c6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 31 12:50:40 2013 +0000 linux-user: Restore cast to target type in get_user() Commit 658f2dc97 accidentally dropped the cast to the target type of the value loaded by get_user(). The most visible effect of this would be that the sequence "uint64_t v; get_user_u32(v, addr)" would sign extend the 32 bit loaded value into v rather than zero extending as would be expected for a _u32 accessor. Put the cast back again to restore the old behaviour. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f565235b71b7be66f3f6b385a5377969f5ed26f7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Feb 2 15:13:02 2013 +0000 hw/pxa2xx: Fix transposed crn/crm values for pxa2xx cp14 perf regs When the pxa2xx performance counter related cp14 registers were converted from a switch-statement implementation to the new table driven cpregs format in commit dc2a9045c, the crn and crm values for all these registers were accidentally transposed. Fix this mistake, which was causing OpenBSD for Zaurus to fail to boot. Reported-by: Jonathan Gray <jsg@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5b2cd9857d945cc1e9b6f596c757f70e25aed60c Merge: 3f23624... 8f44015... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 16:36:16 2013 -0600 Merge remote-tracking branch 'stefanha/tracing' into staging # By Markus Armbruster # Via Stefan Hajnoczi * stefanha/tracing: trace: Fix location of simpletrace.py in docs trace: Clean up the "try to update atomic until it worked" loops trace: Direct access of atomics is verboten, use the API trace: Fix simple trace dropped event record for big endian commit 3f23624c848b8f1c88e4305fe01e19b2520bfd3d Merge: 8a14952... 2a0e1ad... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 16:36:11 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Michael Tokarev (1) and Stefan Weil (1) # Via Stefan Hajnoczi * stefanha/trivial-patches: vnc: recognize Hungarian doubleacutes target-m68k: Fix comment commit 8a14952c9d2f5fa2b3caa6dc286b62ed5d26bca7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 17:07:46 2013 +0100 hmp: Disable chardev-add and chardev-remove As a general rule, HMP commands must be built on top of the QMP API. Luiz and others have worked long & hard to make HMP conform to this rule. Commit f1088908 added chardev-add, in violation of this rule. QMP command chardev-add was added right before, with minimal features, and the idea to complete it step by step, then switch over the HMP command to use it. Unfortunately, we're not there, yet, and we don't want to release with chardev-add in a "HMP is more powerful than QMP" state. Disable the HMP command for now, along with its chardev-remove buddy. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 543f34126b7bfc85b05d0e371e3ce0695444f433 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:26 2013 +0100 hmp: make memchar-read escape ASCII control chars except \n and \t Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit de1cc36e1039faf65b1739d28bef9f2a4e230eb6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:25 2013 +0100 qemu-char: Support suffixed ringbuf size arguments like "size=64K" Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3949e59414fccefadc50ae65650d676cc734048c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:24 2013 +0100 qemu-char: Saner naming of memchar stuff & doc fixes New device, has never been released, so we can still improve things without worrying about compatibility. Naming is a mess. The code calls the device driver CirMemCharDriver, the public API calls it "memory", "memchardev", or "memchar", and the special commands are named like "memchar-FOO". "memory" is a particularly unfortunate choice, because there's another character device driver called MemoryDriver. Moreover, the device's distinctive property is that it's a ring buffer, not that's in memory. Therefore: * Rename CirMemCharDriver to RingBufCharDriver, and call the thing a "ringbuf" in the API. * Rename QMP and HMP commands from memchar-FOO to ringbuf-FOO. * Rename device parameter from maxcapacity to size (simple words are good for you). * Clearly mark the parameter as optional in documentation. * Fix error reporting so that chardev-add reports to current monitor, not stderr. * Replace cirmem in C identifiers by ringbuf. * Rework documentation. Document the impact of our crappy UTF-8 handling on reading. * QMP examples that even work. I could split this up into multiple commits, but they'd change the same documentation lines multiple times. Not worth it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5c230105cdea8ac9338bd5b4485c6ae80ec1fa18 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:23 2013 +0100 qemu-char: General chardev "memory" code cleanup Inline trivial cirmem_chr_is_empty() into its only caller. Rename qemu_chr_cirmem_count() to cirmem_count(). Fast ring buffer index wraparound. Without this, there's no point in restricting size to a power two. qemu_is_chr(chr, "memory") returns *zero* when chr is a memory character device, which isn't what I'd expect. Replace it by the saner and more obviously correct chr_is_cirmem(). Also avoids encouraging testing for specific character devices elsewhere. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fd5b66950fc5551d371ba5017d0e0858b7c800b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:22 2013 +0100 qemu-char: Drop undocumented chardev "memory" compatibility syntax This is a new device, so there's no compatibility to maintain, and its use case isn't common enough to justify shorthand syntax. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 094c8c2c67c486bcbc03c5e6327edc6ad3e5e29a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:21 2013 +0100 qemu-char: Fix chardev "memory" not to drop IAC characters Undocumented misfeature, get rid of it while we can. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 44f3bcd2c7991cc9d096e51e38864135543ea1ce Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:20 2013 +0100 qmp: Drop wasteful zero-initialization in qmp_memchar_read() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c287e99fe47b179e6ef6b212139821b4d78934c1 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:19 2013 +0100 qmp: Drop superfluous special case "empty" in qmp_memchar_read() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 13289fb5a716e06fb06febb880e5e116d485f82b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:18 2013 +0100 qmp: Plug memory leaks in memchar-write, memchar-read Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c4f331b6b3b5fe260128f316ee9f01997f7c428d Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:17 2013 +0100 qmp: Clean up type usage in qmp_memchar_write(), qmp_memchar_read() Const-correctness, consistently use standard C types instead of mixing them with GLib types. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1a69278e53a0e5060c8c6cc825449a122634ce3b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:16 2013 +0100 qmp: Use generic errors in memchar-read, memchar-write New errors should be generic unless there's a real use case for rich errors. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3ab651fc819178cf6a518af5860cc49f42cff455 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:15 2013 +0100 qmp: Clean up design of memchar-read The data returned has a well-defined size, which makes the size returned along with it redundant at best. Drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 82e59a676c01b3df3b53998d428d0a64a55f2439 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Feb 6 21:27:14 2013 +0100 qmp: Fix design bug and read beyond buffer in memchar-write Command memchar-write takes data and size parameter. Begs the question what happens when data doesn't match size. With format base64, qmp_memchar_write() copies the full data argument, regardless of size argument. With format utf8, qmp_memchar_write() copies size bytes from data, happily reading beyond data. Copies crap from the heap or even crashes. Drop the size parameter, and always copy the full data argument. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2a0e1ad66e4177dddc6c8fb7aeadc095aafac828 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Feb 4 00:36:25 2013 +0400 vnc: recognize Hungarian doubleacutes As reported in http://bugs.debian.org/697641 , some Hungarian keys does not work with qemu when using vnc display. This is because while the Hungarian keymap mentions these symbols, qemu know nothing about them. So add them. This patch is applicable to -stable for all previous releases. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f38f7a847e316def8606d25441878d723de84b65 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Feb 5 13:12:43 2013 +0100 target-m68k: Fix comment * spelling fix ito -> into * reorder to match load/store Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 15af6321f4d1f90d0ae1b5cb05093c48b41c4533 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Feb 4 00:36:25 2013 +0400 vnc: recognize Hungarian doubleacutes As reported in http://bugs.debian.org/697641 , some Hungarian keys does not work with qemu when using vnc display. This is because while the Hungarian keymap mentions these symbols, qemu know nothing about them. So add them. This patch is applicable to -stable for all previous releases. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a911a182a6bfd3b0257b13f862b0d4fbd9392715 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 11:27:46 2013 +0530 qemu/9p: Don't ignore error in fid clunk We use the clunk request to do the actual xattr operation. So don't ignore the error value for fid clunk. Security model "none" don't support posix acl. Without this patch guest won't get EOPNOTSUPP error on setxattr("system.posix_acl_access") Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit facf98ad987a38d97e12511f81375380b407a828 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Tue Feb 5 11:27:45 2013 +0530 qemu/iovec: Don't assert if sbytes is zero Since these values can possibly be sent from guest (for hw/9pfs), do a sanity check on them. A 9p write request with 0 bytes caused qemu to abort without this patch Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ddcb73b7782cb6104479503faea04cc224f982b5 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Feb 5 21:00:21 2013 +0200 e1000: fix link down handling with auto negotiation Fixes a couple of regression bugs introduced by b9d03e352cb6b31a66545763f6a1e20c9abf0c2c and related to auto-negotiation: - Auto-negotiation currently sets link up even if it was forced down from the monitor. - If Auto-negotiation was in progress during migration, link will never come up. As a fix, don't touch NC link_down field at all, instead add code on receive path to check guest link status. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 84208085d357d95b84f6e281ec3aa028e988e5ff Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 4 16:21:07 2013 -0800 configure: Fix build with XFree The build is broken on ppc64-linux, possibly only with new binutils: ld: hw/lm32/../milkymist-tmu2.o: undefined reference to symbol 'XFree' ld: note: 'XFree' is defined in DSO /lib64/libX11.so.6 so try \ adding it to the linker command line So let's follow the linker's advice. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91107fdf4443d2171e06840e87277bb7a047343b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Feb 4 16:21:06 2013 -0800 bswap: Fix width of swap in leul_to_cpu The misnamed HOST_LONG_BITS is really HOST_POINTER_BITS. Here we're explicitly using an unsigned long, rather than uintptr_t, so it is more correct to select the swap size via ULONG_MAX. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f876756c57c15f5e14d4136fc432b74f05f082b Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Feb 6 05:12:06 2013 -0600 bios: recompile BIOS SeaBIOS is really close to spilling over to 256k. Until we can better handle migration across RAM block size changes, recompile SeaBIOS with a compiler that causes the binary to still fit in 128k. This was built with: gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) On 64-bit Fedora 18. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8f44015e4600041e200506720e39de7728c5cde9 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:40 2013 +0100 trace: Fix location of simpletrace.py in docs Missed when commit 4c3b5a48 moved it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b6b2c9628084f1672b92393cf84039a075a95301 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:39 2013 +0100 trace: Clean up the "try to update atomic until it worked" loops Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e722d705ae7648a6bd94848319a11eb0afd58a17 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:38 2013 +0100 trace: Direct access of atomics is verboten, use the API The GLib Reference Manual says: It is very important that all accesses to a particular integer or pointer be performed using only this API and that different sizes of operation are not mixed or used on overlapping memory regions. Never read or assign directly from or to a value -- always use this API. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Harsh Prateek Bora <harsh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fb3a508531227bc7fb7eee22c51d30bf2ceb15f5 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 16:43:37 2013 +0100 trace: Fix simple trace dropped event record for big endian We use atomic operations to keep track of dropped events. Inconveniently, GLib supports only int and void * atomics, but the counter dropped_events is uint64_t. Can't stop commit 62bab732: a quick (gint *)&dropped_events bludgeons the compiler into submission. That cast is okay only when int is exactly 64 bits wide, which it commonly isn't. If int is even wider, we clobber whatever follows dropped_events. Not worth worrying about, as none of the machines that interest us have such morbidly obese ints. That leaves the common case: int narrower than 64 bits. Harmless on little endian hosts: we just don't access the most significant bits of dropped_events. They remain zero. On big endian hosts, we use only the most significant bits of dropped_events as counter. The least significant bits remain zero. However, we write out the full value, which is the correct counter shifted left a bunch of places. Fix by changing the variables involved to int. There's another, equally suspicious-looking (gint *)&trace_idx argument to g_atomic_int_compare_and_exchange(), but that one casts unsigned *, so it's okay. But it's also superfluous, because GLib's atomic int operations work just fine for unsigned. Drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b22dd1243f38286263d40496ce5298a8a7d96eea Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Feb 3 21:33:16 2013 +0100 target-s390x: Fix wrong comparison in interrupt handling gcc with -Wextra complains about an ordered pointer comparison: target-s390x/helper.c:660:27: warning: ordered comparison of pointer with integer zero [-Wextra] Obviously the index was missing in the code. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0123c486367ab77c3c5ed349616a862eb474a03f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Feb 4 15:22:08 2013 -0600 s390x: silence warning from GCC on uninitialized values As best I can tell, this is a false positive. [aliguori@ccnode4 qemu-s390]$ make CC s390x-softmmu/target-s390x/helper.o /home/aliguori/git/qemu/target-s390x/helper.c: In function â??do_interruptâ??: /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??addrâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized] /home/aliguori/git/qemu/target-s390x/helper.c:620:20: note: â??addrâ?? was declared here /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: â??maskâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized] /home/aliguori/git/qemu/target-s390x/helper.c:620:14: note: â??maskâ?? was declared here cc1: all warnings being treated as errors make[1]: *** [target-s390x/helper.o] Error 1 make: *** [subdir-s390x-softmmu] Error 2 Cc: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ded67782e6d06069873adce7f9074d273ae75760 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Feb 4 10:07:51 2013 -0600 acpi_piix4: fix segfault migrating from 1.2 b0b873a07872f7ab7f66f259c73fb9dd42aa66a9 bumped the vmstate version and introduced an old-style load function to handle migration from prior (<= 1.2) versions. The load function passes the top-level PIIX4PMState pointer to vmstate_load_state() to handle nested structs for APMState and pci_status, which leads to corruption of the top-level PIIX4PMState, since pointers to the nested structs are expected. A segfault can be fairly reliably triggered by migrating from 1.2 and issuing a reset, which will trigger a number of QOM operations which rely on the now corrupted ObjectClass/Object members. Fix this by passing in the expected pointers for vmstate_load_state(). Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c881e20eed4911ab6f8c674f2b1bf225a2cdde71 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:52 2013 -0200 vl.c: validate -numa "cpus" parameter properly - Accept empty strings without aborting - Use parse_uint*() to parse numbers - Abort if anything except '-' or end-of-string is found after the first number. - Check for endvalue < value Also change the MAX_CPUMASK_BITS warning message from "A max of %d CPUs are supported in a guest" to "qemu: NUMA: A max of %d VCPUs are supported". Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 845e5bf9cd49873c72f84796cabf107c3f520f37 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:51 2013 -0200 vl.c: Extract -numa "cpus" parsing to separate function This will make it easier to refactor that code later. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f1399651eaab1b04e49107250d182968a227aa6 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:50 2013 -0200 vl.c: Use parse_uint_full() for NUMA nodeid This should catch many kinds of errors that the current code wasn't checking for: - Values that can't be parsed as a number - Negative values - Overflow - Empty string Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4ce85b25838694d2d7396b5e969eb4830329631 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:49 2013 -0200 vl.c: numa_add(): Validate nodeid before using it Without this check, QEMU will corrupt memory if a too-large nodeid is provided in the command-line. e.g.: -numa node,mem=...,cpus=...,nodeid=65 This changes nodenr to unsigned long long, to avoid integer conversion issues when converting the strtoull() result to int. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ca4c6d363153f19abf3ffdf0ca1532daa581867d Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:48 2013 -0200 vl.c: Check for NUMA node limit inside numa_add() Instead of checking the limit before calling numa_add(), check the limit only when we already know we're going to add a new node. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 12e53a9d59c8cb272a423e1db036324579a3c697 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:47 2013 -0200 vl.c: Abort on unknown -numa option type Abort in case an invalid -numa option is provided, instead of silently ignoring it. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8f302cb0900ba7f38b62da5759f07b77483d6fb9 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:46 2013 -0200 vl.c: Fix off-by-one bug when handling "-numa node" argument The numa_add() code was unconditionally adding 1 to the get_opt_name() return value, making it point after the end of the string if no ',' separator is present. Example of weird behavior caused by the bug: $ qemu-img create -f qcow2 this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2 5G Formatting 'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 $ ./x86_64-softmmu/qemu-system-x86_64 -S -monitor stdio -numa node 'this-file-image-has,cpus=5,mem=1000,in-its-name.qcow2' QEMU 1.3.50 monitor - type 'help' for more information (qemu) info numa 1 nodes node 0 cpus: 0 node 0 size: 1000 MB (qemu) This changes the code to nove the pointer only if ',' is found. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e3f9fe2d404ca10153e95499ece111c077b6690a Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Feb 4 16:27:45 2013 -0200 cutils: unsigned int parsing functions There are lots of duplicate parsing code using strto*() in QEMU, and most of that code is broken in one way or another. Even the visitors code have duplicate integer parsing code[1]. This introduces functions to help parsing unsigned int values: parse_uint() and parse_uint_full(). Parsing functions for signed ints and floats will be submitted later. parse_uint_full() has all the checks made by opts_type_uint64() at opts-visitor.c: - Check for NULL (returns -EINVAL) - Check for negative numbers (returns -EINVAL) - Check for empty string (returns -EINVAL) - Check for overflow or other errno values set by strtoll() (returns -errno) - Check for end of string (reject invalid characters after number) (returns -EINVAL) parse_uint() does everything above except checking for the end of the string, so callers can continue parsing the remainder of string after the number. Unit tests included. [1] string-input-visitor.c:parse_int() could use the same parsing code used by opts-visitor.c:opts_type_int(), instead of duplicating that logic. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ff057ccb07f07ee8f34ae4104f7ba8c2dcbc3f9a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 07:26:05 2013 +0100 target-cris: Build fix for debug output Around r3361 (81fdc5f8d2d681da8d255baf0713144f8656bac9) env->debug1 used to contain the address of an MMU fault. This is now written into env->pregs[PR_EDA] instead. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit fbeadf50f2f965741def823036b086bbc2999b1f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Feb 1 23:03:16 2013 +0100 bitops: unify bitops_ffsl with the one in host-utils.h, call it bitops_ctzl We had two copies of a ffs function for longs with subtly different semantics and, for the one in bitops.h, a confusing name: the result was off-by-one compared to the library function ffsl. Unify the functions into one, and solve the name problem by calling the 0-based functions "bitops_ctzl" and "bitops_ctol" respectively. This also fixes the build on platforms with ffsl, including Mac OS X and Windows. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7b2d9779818f4c0d4c31d3a0292bee1c4b633217 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 19:04:27 2013 +0100 util: Fix compilation of envlist.c for MinGW MinGW has no strtok_r, so we need a declaration in sysemu/os-win32.h. We must also fix the include statements in util/envlist.c to include that file. We currently don't need an implementation of strtok_r because the code is compiled but not linked for MinGW. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit abd8d4a4d6dfea7ddea72f095f993e1de941614e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 15:10:33 2013 -0600 Update version for 1.4.0-rc0 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 02cd809099322d6bdbd3fb232e9dd1018b125866 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 18:02:50 2013 -0600 tap: unbreak -netdev tap,fd=X The multiqueue patch series broke -netdev tap,fd=X which manifests as libvirt not being able to start a guest. This was because it passed NULL for the netdev name which results in an anonymous netdev device regardless of what the user specified. Cc: Jason Wang <jasowang@xxxxxxxxxx> Cc: Bruce Rogers <brogers@xxxxxxxx> Reported-by: Bruce Rogers <brogers@xxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b76facc35b0153cee5a8972f8a3c70694a7e3913 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:39 2013 +0100 qom: remove object_delete This is now unused. Document the initial reference count of an object and when it will be freed/finalized. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5c099537a646370d85f9a0f6bc18371ceeeb14dc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:38 2013 +0100 cpu: do not use object_delete CPUs are never added to the composition tree, so delete is achieved simply by removing the last references to them. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b09995aef1d4a5879000a196a82e37b0511c8e03 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:37 2013 +0100 qdev: drop extra references at creation time qdev_free and qbus_free have to do unparent+unref, because nobody else drops the initial reference (the one included by object_initialize) before them. For device_init_func and do_device_add, this is trivially correct, since the DeviceState goes out of scope. For qdev_create, qdev_try_create and qbus_init, it is a bit more tricky. What we are doing here is just assuming that the caller knows what it's doing, and won't call qdev_free/qbus_free while the device is still there. This is a pretty reasonable assumption and (behind the scenes) is also what GObject/GTK does. GTK actually has a "floating reference" that goes away as soon as the caller does gtk_container_add or something like that, but in the end qbus_init and qdev_try_create are already adding the new object to its qdev parent! So in the end the two solutions are the same. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dc7389b79a15082fa4824bd3de966499f3b8cb2a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:36 2013 +0100 qdev: inline object_delete into qbus_free/qdev_free We want object_delete to disappear, and we will do this one class at a time. Inline it for the qdev case, which we will tackle first. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 62d7ba669dbd5b4c92664eea453d28448ab9cb4b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:35 2013 +0100 qdev: add reference for the bus while it is referred to by the DeviceState Now that the unparent callbacks are complete, we can correctly account more missing references. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 06f7f2bb562826101468f387b4a34971b16e9aee Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:34 2013 +0100 qdev: move unrealization of devices from finalize to unparent Similarly, a bus holds a reference back to the device, and this will prevent the device from going away as soon as this reference is counted properly. To avoid this, move the unrealization of devices to the unparent callback. This includes recursively unparenting all the buses and (after the previous patch) the devices on those buses, which ensures that the web of references completely disappears for all devices that reside (in the qdev tree) below the one being unplugged. After this patch, the qdev tree and the bus<->child relationship is defined as "A is above B, iff unplugging A will automatically unplug B". Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6853d27a1253cd29c43d08b0624e7938a48d52a7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:33 2013 +0100 qdev: move deletion of children from finalize to unparent A device will never be finalized as long as it has a reference from other devices that sit on its buses. To ensure that the references go away, deassociate a bus from its children in the unparent callback for the bus. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9d127820ebbdc76592e3922cbbe803533455f9a2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:32 2013 +0100 qdev: add reference count to a device for the BusChild Each device has a reference through the BusChild. This reference was not accounted for, add it now. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c232d2ffb7cf60e9fdf5dc17c5d5f7fe6d1ca64 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:31 2013 +0100 qom: document reference counting of link properties Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 52e636cdd8528b8f72f43b653356ac177524912b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:30 2013 +0100 qom: preserve object while unparenting it Avoid that the object disappears after it's deleted from the QOM composition tree, in case that was the only reference to it. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4fec6404465fdb1f09670b1451605c7cbf87c01e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:29 2013 +0100 pci: use qbus_create in pci_bus_new Remove knowledge of QOM innards. The common part of pci_bus_new and pci_bus_new_inplace is moved to a new function pci_bus_init. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:28 2013 +0100 qdev: change first argument of qbus_create_inplace to void * Make it clear that no BUS() macro is needed in the callers (in fact it wouldn't work because the object has not been initialized yet with the right class). Suggested-by: Andreas Faerber <afaerber@xxxxxxx> Acked-by: Andreas F=E4rber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 013e118247d0f1894f329ad31b8f8a9e279555f3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 25 14:12:27 2013 +0100 qdev: remove duplication between qbus_create and qbus_create_inplace Move the common part to qbus_realize. Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d5286af5ef27bfe25aa0472eb4d695964ae16b23 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Thu Jan 24 13:03:27 2013 +0800 accel: change {xen, kvm, tcg, qtest}_allowed from int to bool Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 217e21be6e0f2c1caa0b644f56aa60dba7ea7893 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Thu Jan 24 13:03:26 2013 +0800 vl: correct error message when fail to init kvm command: qemu-system-x86_64 -hda disk.img -smp 32 --enable-kvm error: Number of SMP cpus requested (32) exceeds max cpus supported by KVM (16) failed to initialize KVM: Invalid argument No accelerator found! well, it did find kvm, but failed to init, so message "No accelerator found!" is confusing, this commit remove the confusing error message. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e3c66d939480e0f372316c22184c07fb3de12873 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Thu Jan 24 13:03:25 2013 +0800 vl: skip init accelerator if it's not available Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit baeddded5fe6fa37d13fb94bf8dc0e9b2b184e21 Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 29 15:42:45 2013 -0600 sparc: disable qtest in make check We've seen this repeatedly in buildbot but I can now reliably reproduce it myself too. With a few hundred runs of 'make check', qemu-system-sparc will hang consuming 100% CPU. I've attached GDB to the hung process and unfortunately, I can't get anything useful out of GDB (RIP is not a valid simple and there is nothing else on the stack). At any rate, since this only manifests in qemu-system-sparc and it doesn't appear to be a qtest specific problem, I think we should disable it until the problem is resolved. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 77a5f4f20371c5f564d670c25ad72443a9aa2ee6 Merge: 3e3648b... fdf263f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 14:40:05 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (7) and others # Via Stefan Hajnoczi * stefanha/block: block/raw-posix: Build fix for O_ASYNC vmdk: Allow space in file name parallels: Fix bdrv_open() error handling dmg: Use g_free instead of free dmg: Fix bdrv_open() error handling vpc: Fix bdrv_open() error handling cloop: Fix bdrv_open() error handling bochs: Fix bdrv_open() error handling sheepdog: pass vdi_id to sheep daemon for sd_close() vmdk: Allow selecting SCSI adapter in image creation block: Adds mirroring tests for resized images block: Fix is_allocated_above with resized files qemu-iotests: Add regression test for b7ab0fea commit 3e3648b29f80c3c406dae127592150b550f20d2f Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 12:55:56 2013 -0600 xen: fix build problem introduced from per-queue peers Reported-by Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a9c87c586ba9ee290792a98dc126b2861b7f8b03 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:41 2013 +0800 virtio-net: compat multiqueue support Disable multiqueue support for pre 1.4. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5f800801838f74a8a430fb41a7393fa5df0a61f9 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:40 2013 +0800 virtio-net: migration support for multiqueue This patch add migration support for multiqueue virtio-net. Instead of bumping the version, we conditionally send the info of multiqueue only when the device support more than one queue to maintain the backward compatibility. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit fed699f9ca6ae8a0fb62803334cf46fa64d1eb91 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:39 2013 +0800 virtio-net: multiqueue support This patch implements both userspace and vhost support for multiple queue virtio-net (VIRTIO_NET_F_MQ). This is done by introducing an array of VirtIONetQueue to VirtIONet. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0c87e93e3102f0c717f58ed90858e6b410fd4e04 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:38 2013 +0800 virtio-net: separate virtqueue from VirtIONet To support multiqueue virtio-net, the first step is to separate the virtqueue related fields from VirtIONet to a new structure VirtIONetQueue. The following patches will add an array of VirtIONetQueue to VirtIONet based on this patch. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e78a2b4285f6cc125dc7a514bebef97d9af1d812 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:37 2013 +0800 virtio: add a queue_index to VirtQueue Add a queue_index to VirtQueue and a helper to fetch it, this could be used by multiqueue supported device. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f23fd811ac4f49f482058cad3b465dc5dc0edc11 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:36 2013 +0800 virtio: introduce virtio_del_queue() Some device (such as virtio-net) needs the ability to destroy or re-order the virtqueues, this patch adds a helper to do this. Signed-off-by: Jason Wang <jasowang> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a9f98bb5ebe6fb1869321dcc58e72041ae626ad8 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:35 2013 +0800 vhost: multiqueue support This patch lets vhost support multiqueue. The idea is simple, just launching multiple threads of vhost and let each of vhost thread processing a subset of the virtqueues of the device. After this change each emulated device can have multiple vhost threads as its backend. To do this, a virtqueue index were introduced to record to first virtqueue that will be handled by this vhost_net device. Based on this and nvqs, vhost could calculate its relative index to setup vhost_net device. Since we may have many vhost/net devices for a virtio-net device. The setting of guest notifiers were moved out of the starting/stopping of a specific vhost thread. The vhost_net_{start|stop}() were renamed to vhost_net_{start|stop}_one(), and a new vhost_net_{start|stop}() were introduced to configure the guest notifiers and start/stop all vhost/vhost_net devices. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 264986e2c8f14a0f4a32ac6f1e083905833a5fc7 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:34 2013 +0800 tap: multiqueue support Recently, linux support multiqueue tap which could let userspace call TUNSETIFF for a signle device many times to create multiple file descriptors as independent queues. User could also enable/disabe a specific queue through TUNSETQUEUE. The patch adds the generic infrastructure to create multiqueue taps. To achieve this a new parameter "queues" were introduced to specify how many queues were expected to be created for tap by qemu itself. Alternatively, management could also pass multiple pre-created tap file descriptors separated with ':' through a new parameter fds like -netdev tap,id=hn0,fds="X:Y:..:Z". Multiple vhost file descriptors could also be passed in this way. Each TAPState were still associated to a tap fd, which mean multiple TAPStates were created when user needs multiqueue taps. Since each TAPState contains one NetClientState, with the multiqueue nic support, an N peers of NetClientState were built up. A new parameter, mq_required were introduce in tap_open() to create multiqueue tap fds. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e5dc0b402e64d245956c47cf22776e5206f322dc Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:33 2013 +0800 tap: introduce a helper to get the name of an interface This patch introduces a helper tap_get_ifname() to get the device name of tap device. This is needed when ifname is unspecified in the command line and qemu were asked to create tap device by itself. In this situation, the name were allocated by kernel, so if multiqueue is asked, we need to fetch its name after creating the first queue. Only linux has this support since it's the only platform that supports multiqueue tap. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 16dbaf905b72636d1bb066968bceabd64eaa1a9d Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:32 2013 +0800 tap: support enabling or disabling a queue This patch introduce a new bit - enabled in TAPState which tracks whether a specific queue/fd is enabled. The tap/fd is enabled during initialization and could be enabled/disabled by tap_enalbe() and tap_disable() which calls platform specific helpers to do the real work. Polling of a tap fd can only done when the tap was enabled. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 94fdc6d03034f594c53d5413590e23fcb7ffc268 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:31 2013 +0800 tap: add Linux multiqueue support This patch add basic multiqueue support for Linux. When multiqueue is needed, we will first check whether kernel support multiqueue tap before creating more queues. Two new functions tap_fd_enable() and tap_fd_disable() were introduced to enable and disable a specific queue. Since the multiqueue is only supported in Linux, return error on other platforms. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5193e5fbb52a33f1f684b0d42d29a452dfd29e4a Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:30 2013 +0800 tap: factor out common tap initialization This patch factors out the common initialization of tap into a new helper net_init_tap_one(). This will be used by multiqueue tap patches. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4e4f9ae7da90b55fe77307e58c867aa6b02a7384 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:29 2013 +0800 tap: import linux multiqueue constants Import multiqueue constants from if_tun.h from 3.8-rc3. A new ifr flag IFF_MULTI_QUEUE were introduced to create a multiqueue backend by calling TUNSETIFF with the this flag and with the same interface name many times. A new ioctl TUNSETQUEUE were introduced. When doing this ioctl with IFF_DETACH_QUEUE, the queue were disabled in the linux kernel. When doing this ioctl with IFF_ATTACH_QUEUE, the queue were enabled in the linux kernel. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1ceef9f27359cbe92ef124bf74de6f792e71f6fb Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:28 2013 +0800 net: multiqueue support This patch adds basic multiqueue support for qemu. The idea is simple, an array of NetClientStates were introduced in NICState, parse_netdev() were extended to find and match all NetClientStates belongs to the backend and place their pointers in NICConf. Then qemu_new_nic can setup a N:N mapping between NICStates that belongs to a nic and NICStates belongs to the netdev. And a queue_index were introduced in NetClientState to track its index. After this, each peers of a NICState were abstracted as a queue. After this change, all NetClientState that belongs to the same backend/nic has the same id. When use want to change the link status, all NetClientStates that belongs to the same backend/nic will be also changed. When user want to delete a device or netdev, all NetClientStates that belongs to the same backend/nic will be deleted also. Changing or deleting an specific queue is not allowed. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f7860455fd582b171e526b4b4647b9b9c9a3e703 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:27 2013 +0800 net: introduce NetClientState destructor To allow allocating an array of NetClientState and free it once, this patch introduces destructor of NetClientState. Which could do type specific free, which could be used by multiqueue to free the array once. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 18a1541a8da40271056aab99100bdc38283c42ac Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:26 2013 +0800 net: introduce qemu_net_client_setup() This patch separates the setup of NetClientState from its allocation, this will allow allocating an arrays of NetClientState and does the initialization one by one which is what multiqueue needs. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c51ae73fc68de2a4f11f5a7ebb52a4e79687e7d Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:25 2013 +0800 net: introduce qemu_find_net_clients_except() In multiqueue, all NetClientState that belongs to the same netdev or nic has the same id. So this patches introduces an helper qemu_find_net_clients_except() which finds all NetClientState with the same id. This will be used by multiqueue networking. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 948ecf219c032e3483b35ba4e162e5eee17d8b77 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:24 2013 +0800 net: intorduce qemu_del_nic() To support multiqueue nic, this patch separate the nic destructor from qemu_del_net_client() to a new helper qemu_del_nic() since the mapping bettween NiCState and NetClientState were not 1:1 in multiqueue. The following patches would refactor this function to support multiqueue nic. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc1f0f45425d0cca41ad421623f92bebc93a21a9 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:23 2013 +0800 net: introduce qemu_get_nic() To support multiqueue, this patch introduces a helper qemu_get_nic() to get NICState from a NetClientState. The following patches would refactor this helper to support multiqueue. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b356f76de31e343121cdab3a01b39182edce9519 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:22 2013 +0800 net: introduce qemu_get_queue() To support multiqueue, the patch introduce a helper qemu_get_queue() which is used to get the NetClientState of a device. The following patches would refactor this helper to support multiqueue. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 28a65891a0deb10b222890b9eb916ca32cb977bb Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:21 2013 +0800 net: tap: use abort() instead of assert(0) Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ec45f08313ce92039d52ea0338db4a0c862fef6a Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Wed Jan 30 19:12:20 2013 +0800 net: tap: using bool instead of bitfield Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 350ed2fcd95d30b02609e8783f33735f356ad7ce Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 31 14:49:44 2013 +0100 target-ppc: Fix target_ulong vs. hwaddr format mismatches Since HWADDR_PRIx is always the same now, use %016 for TARGET_PPC64 and %08 for common code. This may slightly change the ppc64 debug output. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6bf0076643dac4f37cabb9233dc9170f1c2fdd49 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 28 16:15:16 2013 -0200 libqtest: Wait for the right child PID after killing QEMU When running "make check" with gcov enabled, we get the following message: hw/tmp105.gcda:cannot open data file, assuming not executed The problem happens because: * tmp105-test exits before QEMU exits, because waitpid() at qtest_quit() fails; * waitpid() fails because there's another process already waiting for the QEMU process; * The process that is already waiting for QEMU is the child created by qtest_init() to run system(); * qtest_quit() is incorrectly waiting for the QEMU PID directly instead of the child created by qtest_init(). This fixes the problem by sending SIGTERM to QEMU, but waiting for the child process created by qtest_init() (that exits immediately after QEMU exits). Reported-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 3e7b8f4e6f507e09e27b7449f3744596f19c0083 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 18:56:18 2013 +0100 isa: QOM'ify isa_bus_from_device() DeviceState::parent_bus is document as private and should be accessed through qdev_get_parent_bus(). Use a DEVICE() cast instead of accessing ISADevice's qdev field directly. Use ISA_BUS() in place of DO_UPCAST(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8aae84a1f2ad256d222c97411af17013b1c35799 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 25 09:12:54 2013 +0100 i2c: Drop I2C_SLAVE_FROM_QDEV() macro It is not being used in hot paths and is obsoleted by I2C_SLAVE() QOM cast macro. Clean it up using a scripted conversion, so that it doesn't get used in new code. Some of its callers were combining it with FROM_I2C_SLAVE() macro, which is equally obsolete but needs to be replaced in a type-specific way. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Kuo-Jung Su <dantesu@xxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6c8fec8372147a561f5b721d3a5180b73d7ce4cb Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 16:16:19 2013 +0100 configure: Keep -Werror enabled for Release Candidates The automatic drop of -Werror during the RC phases has in the past led to warnings creeping into submaintainer trees. Last QEMU Summit it was concluded that -Werror should stay on and enabled only as part of the release process. To relieve our release manager, instead of always enabling -Werror or doing some number magic, let's enable it depending on whether a .git/ directory exists in the source tree. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 70ddd9f66d1d5234b38b4444f209c511e7757ce6 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 31 17:43:51 2013 -0600 Revert "e1000: no need auto-negotiation if link was down" This reverts commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d. I'm not sure what issue the original commit was meant to fix, or if the logic is actually wrong, but it causes e1000 to stop working after a guest issues a reset. >From what I can tell a guest with an e1000 nic has no way of changing the link status, as far as it's NetClient peer is concerned, except in the auto-negotiation path, so with this patch in place there's no recovery after a reset, since the link goes down and stays that way. Revert this patch now to fix the bigger problem, and handle any lingering issues with a follow-up. Reproduced/tested with qemu-jeos and Ubuntu 12.10. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5dea9a694ffa6fdd19ba5ce265c619686c14df1b Merge: e205842... a31ca01... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 09:08:14 2013 -0600 Merge remote-tracking branch 'quintela/migration.next' into staging # By Orit Wasserman # Via Juan Quintela * quintela/migration.next: Fix error message in migrate_set_capability HMP command Allow XBZRLE decoding without enabling the capability Fix example for query-migrate-capabilities Add XBZRLE testing Move XBZRLE encoding code to a separate file to allow testing commit e205842bd91fbd15655ff40a4282b1ffcbc301b1 Merge: fabb604... 49e1587... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 09:06:23 2013 -0600 Merge remote-tracking branch 'agraf/s390-for-upstream' into staging # By Andreas Färber # Via Alexander Graf * agraf/s390-for-upstream: target-s390x: Pass S390CPU to s390_{add, del}_running_cpu() target-s390x: Clean up cpu_inject_*() signatures target-s390x: Fix debug output target-s390x: Fix debug output (continued) commit fabb60424d68b7c3af1be447a1f48c5b9ffe5123 Merge: 8a55ebf... 476b6d1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Feb 1 09:02:09 2013 -0600 Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging # By Andreas Färber (2) and Alexander Graf (1) # Via Alexander Graf * agraf/ppc-for-upstream: target-ppc: Fix build for PPC_DEBUG_DISAS target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS PPC: Unify dcbzl code path commit fdf263f63fad86b04032da86686a952edfe4644f Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Thu Jan 31 15:40:14 2013 +0100 block/raw-posix: Build fix for O_ASYNC Commit eeb6b45d48800e96f67ef2a5c80332557fd45ddb (block: raw-posix image file reopen) broke the build on OpenIndiana. illumos has no O_ASYNC. Exclude it from flags to be compared and instead assert that it is not set where defined. Cf. e61ab1da7e98357da47c54d8f893b9bd6ff2f7f9 for qemu-ga. Cc: qemu-stable@xxxxxxxxxx (1.3.x) Cc: Jeff Cody <jcody@xxxxxxxxxx> Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cd9234757528a1b7155a75ec2eedb375f71e99fa Author: Philipp Hahn <hahn@xxxxxxxxxxxxx> Date: Tue Jan 29 22:50:31 2013 +0100 vmdk: Allow space in file name The previous scanf() format string stopped parsing the file name on the first white white space, which seems to be allowed at least by VMware Workstation. Change the format string to collect everything between the first and second quote as the file name, disallowing line breaks. Signed-off-by: Philipp Hahn <hahn@xxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 46536235d80a012cc4286b71426cafad0c7f41f0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:32 2013 +0100 parallels: Fix bdrv_open() error handling Return -errno instead of -1 on errors. Hey, no memory leak to fix here while we're touching it! Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4f8aa2e19f88fe0dfaf8240ae666de7fd18dd1d0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:31 2013 +0100 dmg: Use g_free instead of free The buffers are allocated with g_(re)alloc, so use g_free to free them. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 69d34a360dfe773e17e72c76d15931c9b9d190f6 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:30 2013 +0100 dmg: Fix bdrv_open() error handling Return -errno instead of -1 on errors and add error checks in some places that didn't have one. Passing things by reference requires more correct typing, replaced a few off_ts therefore - with a 32-bit off_t this is even a fix for truncation bugs. While touching the code, fix even some more memory leaks than in the other drivers... Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 59294e465953ffb07d42dc61c827bb98cc0ca423 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:29 2013 +0100 vpc: Fix bdrv_open() error handling Return -errno instead of -1 on errors. While touching the code, fix a memory leak. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1a60657f5729bac57e70802eb17e67ad793400fd Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:28 2013 +0100 cloop: Fix bdrv_open() error handling Return -errno instead of -1 on errors. While touching the code, fix a memory leak. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5b7d7dfd198f06ec5edd0c857291c5035c5c060f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Jan 25 17:07:27 2013 +0100 bochs: Fix bdrv_open() error handling Return -errno instead of -1 on errors. While touching the code, fix a memory leak. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6f74c260b45a8f94007929c800d95c2303f1a7ec Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Jan 29 17:14:16 2013 +0800 sheepdog: pass vdi_id to sheep daemon for sd_close() Sheep daemon needs vdi_id to identify which vdi is closed to release resources such as object cache. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7f2039f61113f11be92112adf31b6052e04d986f Author: Othmar Pasteka <pasteka@xxxxxxxx> Date: Wed Jan 30 00:26:52 2013 +0100 vmdk: Allow selecting SCSI adapter in image creation Introduce a new option "adapter_type" when converting to vmdk images. It can be one of the following: ide (default), buslogic, lsilogic or legacyESX (according to the vmdk spec from vmware). In case of a non-ide adapter, heads is set to 255 instead of the 16. The latter is used for "ide". Also see LP#545089 Signed-off-by: Othmar Pasteka <pasteka@xxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a04eca108e5efe8a09fe82f7079fcd1568ffc8d7 Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Date: Fri Jan 25 10:57:20 2013 -0800 block: Adds mirroring tests for resized images This test verifies two mirroring issues are fixed with resized images: * sync='top' creates an image that is the proper size * sync='full' doesn't cause an assertion failure and crash qemu Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 63ba17d39f1a8d262b31ea6a07dd3eb45d5a41e2 Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Date: Thu Jan 24 10:02:08 2013 -0800 block: Fix is_allocated_above with resized files In an image chain, if the base image is smaller than the current image, we need to make sure to use the current images count of unallocated blocks once we get to the end of the base image. Without this change the code will return 0 blocks when it gets to the end of the base image and mirror_run will fail its assertion. Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit b93d6d2468ba81b9e373066004f2084efbdcc9d6 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 23 16:52:49 2013 +0100 qemu-iotests: Add regression test for b7ab0fea It turned out that the change in b7ab0fea was actually a real qcow2 corruption fix. This is a reproducer for the bug. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a31ca017aaf9074c1bb636b3ddaceb40f994375f Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:19 2013 +0200 Fix error message in migrate_set_capability HMP command Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 1b1fdfeae68c61786a474b02601fbba6040fc5a4 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:18 2013 +0200 Allow XBZRLE decoding without enabling the capability Before this fix we couldn't load a guest from XBZRLE compressed file. For example: The user activated the XBZRLE capability The user run migrate -d "exec:gzip -c > vm.gz" The user won't be able to load vm.gz and get an error. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit dbca1b3773185af0413e750f26d04b0110cff107 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:17 2013 +0200 Fix example for query-migrate-capabilities Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 21e3cd295b52b3ac1528262b8639f2e896cd9467 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:16 2013 +0200 Add XBZRLE testing Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit ba2e28e8a20cf78ea4f64fbf84055f969013f9f7 Author: Orit Wasserman <owasserm@xxxxxxxxxx> Date: Thu Jan 31 09:12:15 2013 +0200 Move XBZRLE encoding code to a separate file to allow testing Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 8a55ebf01507ab73cc458cfcd5b9cb856aba0b9e Merge: 2854c54... 7786812... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 31 19:37:33 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging # By Andreas Färber # Via Andreas Färber * afaerber/qom-cpu: linux-user: bsd-user: Don't reset X86CPU twice target-i386: Pass X86CPU to cpu_x86_set_a20() target-unicore32: Rename CPU subtypes target-openrisc: Rename CPU subtypes target-openrisc: TYPE_OPENRISC_CPU should be abstract target-m68k: Rename CPU subtypes target-m68k: Mark as unmigratable target-s390x: Mark as unmigratable target-sh4: Mark as unmigratable target-xtensa: Mark as unmigratable target-microblaze: Mark as unmigratable target-unicore32: Mark as unmigratable ide/mmio: QOM'ify MMIO IDE for R2D commit 2854c549e84532f0b76b7884f1903da8a1bf4dbb Merge: c628d74... 7e02dc6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 31 19:37:23 2013 -0600 Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging # By Henry Harrington (1) and Stefan Weil (1) # Via Andreas Färber * afaerber-or/cocoa-for-upstream: cocoa: Replace non-portable asprintf() by g_strdup_printf() cocoa: Fix VBE function Set Display Start commit c628d74738bfdb872f771407a2790509ec4520f9 Merge: e62a214... 6a659bb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 31 19:35:24 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,make,pci,e1000,vfio,piix This includes my timestamp generation cleanup, Amos's and my work on virtio net commands, pci,e1000,vfio and piix fixes. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> # gpg: Signature made Thu 31 Jan 2013 06:20:27 AM CST using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (6) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: vfio-pci: Enable PCIe extended config space PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set ich9: add support for pci assignment virtio-net: rename ctrl rx commands virtio-net: introduce a new macaddr control virtio-net: remove layout assumptions for ctrl vq virtio-net: revert mac on reset rules/mak: make clean should blow away timestamp files Makefile: clean timestamp generation rule rules.mak: cleanup config generation rules e1000: document ICS read behaviour commit 49e158785fa86f04e2d4027dd19719d8b79a4421 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 30 12:48:25 2013 +0000 target-s390x: Pass S390CPU to s390_{add, del}_running_cpu() This prepares for moving the halted field to CPUState. Most call sites can already supply S390CPU, for some env becomes unused. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f94667336ecf6566e090a895a37bc06da435d686 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 30 12:48:24 2013 +0000 target-s390x: Clean up cpu_inject_*() signatures Despite cautioning that S390CPU is needed for upcoming CPUState refactorings, commit 5d69c547d947798cba92d836d06f6e017ba2b19d (s390: I/O interrupt and machine check injection.) added functions cpu_inject_io() and cpu_inject_crw_mchk() with CPUS390XState argument, claiming consistency with cpu_inject_ext(). This complicates making cpu_interrupt() take a CPUState even more and it required to pass &cpu->env from some S390CPU-aware call sites already, creating inconsistency elsewhere. Address that. This also eliminates the need for CPUS390XState in s390_virtio_irq(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 07cc7d128111958e1079632129b1633cb2a435ec Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:03 2013 +0000 target-s390x: Fix debug output Commit 71e470886fb6092504503a5fe41092ace71c096c (target-s390x: fix style) renamed the cpu_s390x_handle_mmu_fault() argument from _vaddr to orig_vaddr. Update the debug output code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a6f921b0c398c941bb3e17704ffa546849d243de Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:04 2013 +0000 target-s390x: Fix debug output (continued) Since its introduction in d5a439645a5a70fed5431318c3bce9dc2caa950f (s390x: helper functions for system emulation) the variable name was raddr. Fix this. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 476b6d1619446b9c8f72d7523985ba4fdfeaa405 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:02 2013 +0000 target-ppc: Fix build for PPC_DEBUG_DISAS In r5949 / 76db3ba44ee8db671f804755f13b016eefd13288 (target-ppc: memory load/store rework) variable little_endian was replaced with ctx.le_mode. Update the debug code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cca48a93a9a6c1c95ace89b299d3f9f47adadd6d Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 03:32:01 2013 +0000 target-ppc: Fix unused variable warning for FLUSH_ALL_TLBS Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8e33944f8c648e579a2827ae6f30e4d66ee87f96 Author: Alexander Graf <agraf@xxxxxxx> Date: Tue Jan 29 13:36:02 2013 +0100 PPC: Unify dcbzl code path The bit that makes a dcbz instruction a dcbzl instruction was declared as reserved in ppc32 ISAs. However, hardware simply ignores the bit, making code valid if it simply invokes dcbzl instead of dcbz even on 750 and G4. Thus, mark the bit as unreserved so that we properly emulate a simple dcbz in case we're running on non-G5s. While at it, also refactor the code to check the 970 special case during runtime. This way we don't need to differenciate between a 970 dcbz and any other dcbz anymore. We also allow for future improvements to add e500mc dcbz handling. Reported-by: Amadeusz SÅ?awiÅ?ski <amade@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 77868120cfe93ad7816dfac6546684e5a6c6e256 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 05:34:10 2013 +0100 linux-user: bsd-user: Don't reset X86CPU twice Since commit 65dee38052597b6285eb208125369f01b29ba6c1 (target-i386: move cpu_reset and reset callback to cpu.c) the x86 CPU is reset through cpu_init() but was still reset immediately after in linux-user and bsd-user. Clean this up. Similarly in linux-user/syscall.c it is also reset after cpu_copy(). But that's a bug of its own, fixing which poses a semantic change. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> commit cc36a7a2c7e281d7d715ac73d31bbccc0d2d2670 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 15:19:06 2013 +0100 target-i386: Pass X86CPU to cpu_x86_set_a20() Prepares for cpu_interrupt() changing argument to CPUState. While touching it, rename to x86_cpu_...() now that it takes an X86CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit eeb266ded886185d1d3b0d8bc089ec72df1a2bfd Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 23:25:25 2013 +0100 target-unicore32: Rename CPU subtypes In the initial conversion of CPU models to QOM types, model names were mapped 1:1 to type names. As a side effect this gained us a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. No functional changes for -cpu arguments. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 478032a93d908e59085c1ac56f10979942e7dc4f Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 22:50:35 2013 +0100 target-openrisc: Rename CPU subtypes Model names were mapped 1:1 to type names. As a side effect this registered a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. No functional changes for -cpu arguments or -cpu ? output. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bc755a00b1fd58ac9bfa316237134958489f0145 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 22:27:17 2013 +0100 target-openrisc: TYPE_OPENRISC_CPU should be abstract A basic assumption of CPU subtypes is that only specific models get instantiated. A user is not supposed to instantiate an <arch>-cpu. Suppress it via abstract = true, which also drops or32-cpu from -cpu ? output. Cc: qemu-stable@xxxxxxxxxx Cc: Jia Liu <proljc@xxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7a9f812b381639b96a020bdb1f4783f11f886754 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 20:16:17 2013 +0100 target-m68k: Rename CPU subtypes In the initial conversion of CPU models to QOM types, model names were mapped 1:1 to type names. As a side effect this gained us a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. No functional changes for -cpu arguments or -cpu ? output. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 087fe4f824e88d5924bf6887cb59985510a790b7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:53:28 2013 +0100 target-m68k: Mark as unmigratable It neither defined CPU_SAVE_VERSION nor implemented cpu_{save,load}(). Mark M68kCPU as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit c7396bbb2597577b1463fc997a73e67b8a067880 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:41:06 2013 +0100 target-s390x: Mark as unmigratable CPU_SAVE_VERSION was undefined, so "cpu_common" VMState and cpu_{save,load}() were not registered. They were no-ops. Therefore there is no backwards compatibility to keep, so we can mark S390CPU as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 1e45d31b04b1e3ccad2bfb3b4a90a75317ada16a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:32:33 2013 +0100 target-sh4: Mark as unmigratable It neither defined CPU_SAVE_VERSION nor implemented cpu{save,load}(). Mark it as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 004a569057492784e4922f2f8cb396fb55affe71 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:22:41 2013 +0100 target-xtensa: Mark as unmigratable There was no CPU_SAVE_VERSION defined, so neither "cpu_common" VMState nor cpu_{save,load}() were registered. Their implementation was no-op. Therefore there is no backwards compatibility to keep, so mark XtensaCPU as unmigratable at device level. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3ce8b2bcbff6445f84db53ef38dbc4e5dd102676 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 19:03:32 2013 +0100 target-microblaze: Mark as unmigratable cpu_{save,load} were no-ops, so de facto it is unmigratable and no backwards compatibility to keep. Therefore mark the MicroBlazeCPU as unmigratable at device level the QOM way and suppress "cpu_common" VMState registration by dropping CPU_SAVE_VERSION. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 88e28512efd8d36476e50a78acb1dca8b41a3cf1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 11:43:30 2013 +0100 target-unicore32: Mark as unmigratable CPU_SAVE_VERSION 2 was bogus as both save and load would just throw a hw_error(). Therefore we can without problems suppress registration of "cpu_common" VMState by dropping CPU_SAVE_VERSION define and provide an unmigratable "cpu" VMStateDescription for UniCore32CPU at device level instead, where we can attach this the QOM way. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6b2578d678497dbce44ed7999d269fc973ae6e8f Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Feb 1 00:13:41 2013 +0100 ide/mmio: QOM'ify MMIO IDE for R2D It was not qdev'ified before, so turn it into a SysBusDevice. Keep mmio_ide_init_drives() around to attach the hard drive. Signed-off-by: Andreas Färberr <afaerber@xxxxxxx> Cc: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e62a214cd49f836339fe3fd8126fc81d66c3c917 Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxx> Date: Wed Jan 23 04:17:41 2013 +0100 target-mips: fix incorrect test for MTHLIP The pos field in the DSPControl register is not correctly initialized. Per documentation, the result of MTHLIP is unpredictable if the value of the pos field before the execution is greater than 32. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 6f0af30449b4780c65723d0d45d0f956af5e8c4e Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Jan 23 03:57:02 2013 +0100 target-mips: enable access to DSP ASE if implemented compute_hflags() will reset DSP h-flags, so MX bit should be initially set for usermode in cpu_state_reset() if DSP ASE is implemented. This change will bring back user-mode support for DSP ASE, since one of the recent changes broke it. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f54c35d1ea287beb26f6e929e2362cbc9dcfec07 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Tue Jan 22 17:16:00 2013 +0000 target-mips: Unfuse {,N}M{ADD,SUB}.fmt Turn MADD.fmt, MSUB.fmt, NMADD.fmt and NMSUB.fmt from fused to unfused operations, so that they behave in the same way as a separate multiplication and addition. The instructions were only fused in early MIPS IV processors. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c728154bbbc1a86465a0fd6bfc839bc9710ac374 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Sun Jan 20 19:30:54 2013 +0000 target-mips: Sign-extend the result of LWR Sign-extend the result of LWR, as is already done for LWL. This is necessary in the case where LWR loads the full word (i.e. the address is actually aligned). In the other cases, it is implementation defined whether the upper 32 bits of the result are unchanged or a copy of bit 31. The latter seems easier to implement. Previously the code used: (oldval & (0xfffffffe << (31 - bitshift))) | (newval >> bitshift) which zeroed the upper bits of the register, losing any previous sign extension in the unaligned cases. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 17e8fef1af2db3a13613a311db2ec2f7a69645a1 Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Sun Jan 20 19:28:48 2013 +0000 target-mips: Fix signedness of loads in MIPS16 RESTOREs Make RESTORE use sign-extending rather than zero-extending loads. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 810ded13792042d988c8dbdea3b97eedbd949b40 Merge: df6126a... 51492fd... Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Thu Jan 31 23:33:14 2013 +0100 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Rename CPU types target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes commit df6126a7f21a1a032e41b15899ca29777399d5a2 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:24 2013 +0100 target-mips: implement DSP (d)append sub-class with TCG DSP instruction from the (d)append sub-class can be implemented with TCG. Use a different function for these instructions are they are quite different from compare-pick sub-class. Fix BALIGN instruction for negative value, where the value should be zero-extended before being shift to the right. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0a16c79cc4087838ae5f2bc9554d91db2cbb2503 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: use DSP unions for reduction add instructions Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 75d012ac7f5c92ac5ee2c1dee8c7a7fbeb724e3c Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: use DSP unions for unary DSP operators This allow to reduce the number of macros. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 6de0e6c13e275a59de7fcf5dee26c5a88e3a2ebe Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: use DSP unions for binary DSP operators This allow to reduce the number of macros. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 652613ab5ae4559b481c612010b407e1c2216f36 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: add unions to access DSP elements Instead of playing with bit shifting, add two unions (one for 32-bit values, one for 64-bit ones) to access all the DSP elements with the correct type. This make the code easier to read and less error prone, and allow GCC to vectorize the code in some cases. Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit ad153f153da08f5e08bc8e433c0070af53e34e0a Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:23 2013 +0100 target-mips: generate a reserved instruction exception on CPU without DSP On CPU without DSP ASE support, a reserved instruction exception (instead of a DSP ASE sate disabled) should be generated. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit d75c135e6b6255787dfc01ce997862d820ed1d36 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:22 2013 +0100 target-mips: copy insn_flags in DisasContext Copy insn_flags in DisasContext to avoid passing a CPUMIPSState pointer to subroutines, as suggested by Richard Henderson. Change subroutines to use this new field and remove the first argument. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit f7d2072e25d3592acec4657dae8862facf298e9f Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Tue Jan 1 18:02:22 2013 +0100 target-mips: fix DSP loads with rd = 0 When rd is 0, which still need to do the actually load to possibly generate a TLB exception. Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 7e02dc63b8f16372107434d44269e21cdff5d19d Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 07:38:40 2013 +0000 cocoa: Replace non-portable asprintf() by g_strdup_printf() Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 477a3877fdc3125f309133ce511236f39f58c16e Author: Henry Harrington <henry.harrington@xxxxxxxxx> Date: Tue Nov 27 08:59:41 2012 +0000 cocoa: Fix VBE function Set Display Start Register a dpy_gfx_setdata callback so that the Cocoa code is notified whenever the screen start address changes. Commit 1d3323d has a similar fix for the VNC UI. Signed-off-by: Henry Harrington <henry.harrington@xxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx (1.3.x) Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 321f211707822b4c87f0bb89e4f46586fff43163 Merge: b0df98f... f61850b... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:51:47 2013 -0600 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging # By Christoffer Dall (1) and Peter Maydell (1) # Via Peter Maydell * pmaydell/arm-devs.next: hw/vexpress: Use correct HBI (board model number) for vexpress-a15 hw/arm_sysctl: Clear sysctl cfgctrl start bit commit b0df98f3a2968eb5aba3075d1cf9b1a3931907e0 Merge: 7cc2a8b... 99f4280... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:51:18 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Markus Armbruster (12) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema tests: Fix {rtc, m48t59}-test build on illumos qemu-pixman.h: Avoid mutual inclusion loop with console.h qemu-ga: Fix unchecked strdup() by converting to g_strdup() qapi: Fix unchecked strdup() by converting to g_strdup() libcacard: Fix unchecked strdup() by converting to g_strdup() qemu-log: Plug trivial memory leak in cpu_set_log_filename() qemu-log: Fix unchecked strdup() by converting to g_strdup() virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup() spice: Fix unchecked strdup() by converting to g_strdup() readline: Fix unchecked strdup() by converting to g_strdup() hw/9pfs: Fix unchecked strdup() by converting to g_strdup() g_strdup(NULL) returns NULL; simplify g_malloc(0) and g_malloc0(0) return NULL; simplify xilinx_axidma: Fix debug mode compile messages cadence_gem: Debug mode compile fixes cadence_ttc: Debug mode compile fixes vnc: Clean up vncws_send_handshake_response() commit 7cc2a8b14a363777e7d5b7d102176fba0cf27667 Merge: 6ac5107... 7561015... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:48:23 2013 -0600 Merge remote-tracking branch 'afaerber-or/prep-up' into staging # By Andreas Färber # Via Andreas Färber * afaerber-or/prep-up: prep: Move PReP machine to hw/ppc/ prep_pci: Convert to QOM realizefn prep_pci: Create PCIBus and PCIDevice in-place commit 6ac5107dc7045f2edc43ada2cb3f18d372b9be0b Merge: 0893d46... 19380b1... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 30 10:46:30 2013 -0600 Merge remote-tracking branch 'agraf/s390-for-upstream' into staging # By Cornelia Huck (13) and others # Via Alexander Graf * agraf/s390-for-upstream: s390: Drop set_bit usage in virtio_ccw. s390: css error codes. s390: Use s390_cpu_physical_memory_map for tpi. sclpconsole: Don't instantiate sclpconsole with -nodefaults s390: Add s390-ccw-virtio machine. s390-virtio: Check for NULL device in reset hypercall s390: Move hw files to hw/s390x virtio-s390: add a reset function to virtio-s390 devices s390: Make typeinfo const s390: Add new channel I/O based virtio transport. s390-virtio: Factor out some initialization code. s390: Wire up channel I/O in kvm. s390: Virtual channel subsystem support. s390: Add channel I/O instructions. s390: I/O interrupt and machine check injection. s390: Channel I/O basic definitions. s390: Add mapping helper functions. s390: Lowcore mapping helper. s390: Add default support for SCLP console commit 51492fd1a99099308d8c20ab7134ffb54abbf374 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 17:30:10 2013 +0100 target-arm: Rename CPU types In the initial conversion of CPU models to QOM types, model names were mapped 1:1 to type names. As a side effect this gained us a type "any", which is now a device. To avoid "-device any" silliness and to pave the way for compiling multiple targets into one executable, adopt a <name>-<arch>-cpu scheme. This leads to names like arm926-arm-cpu but is easiest to handle. No functional changes for -cpu arguments or -cpu ? output. Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit e4c1cfa5cb8f8bfbbfd949f2fabbe2be35e60c99 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jan 30 16:01:56 2013 +0000 target-arm: Fix TCG temp leaks for WI and UNDEF VFP sysreg writes Fix a leak of a TCG temporary in code paths for VFP system register writes for cases which UNDEF or are write-ignored. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f61850bffbd0bb8b15aa55ebc3470bf1f8ce8664 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Jan 30 15:39:02 2013 +0000 hw/vexpress: Use correct HBI (board model number) for vexpress-a15 The vexpress-a15 QEMU model is supposed to be a V2P-CA15; the HBI (a kind of board model number) for this coretile is 237, not 217. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 706872a56630a206897742b70c69ff99727672d3 Author: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 30 15:39:01 2013 +0000 hw/arm_sysctl: Clear sysctl cfgctrl start bit The start bit should only be set to indicate that a function call is underway, right now. When done with function, clear it. Signed-off-by: Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit c07ecc6866f8c5eb2e0b23ba20214000310355e0 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Mon Jan 7 11:40:06 2013 +0000 linux-user: correct reboot() According to man reboot(2), the 4th argument is only used with LINUX_REBOOT_CMD_RESTART2. In other cases, trying to convert the value can generate EFAULT. Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 1b09aeb90827c1d91383a9eae42ce8f25909857b Author: Laurent Vivier <Laurent@xxxxxxxxx> Date: Tue Jan 1 08:24:11 2013 +0000 linux-user: correct setsockopt() SO_SNDTIMEO and SO_RCVTIMEO take a struct timeval, not an int To test this, you can use : QEMU_STRACE= ping localhost 2>&1 |grep TIMEO 568 setsockopt(3,SOL_SOCKET,SO_SNDTIMEO,{1,0},8) = 0 568 setsockopt(3,SOL_SOCKET,SO_RCVTIMEO,{1,0},8) = 0 Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 910ee4e5f4a1df5b1bd144dfca1ae466e2a86a78 Author: Laurent Vivier <Laurent@xxxxxxxxx> Date: Mon Dec 31 09:45:06 2012 +0000 linux-user: correct print_timeval() swap tv_sec and tv_usec Signed-off-by: Laurent Vivier <Laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 79dd77de124c47263f54e5f686273487e0016a8f Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Thu Dec 20 11:00:11 2012 +0000 linux-user: correct msgrcv() All parameters must be swapped before the call of do_msgrcv(). Allow faked (debian fakeroot daemon) to work properly. WITHOUT this patch: $ faked-sysv --foreground --debug using 1723744788 as msg key msg_key=1723744788 1723744788:431 FAKEROOT: msg=131072, key=1723744788 FAKEROOT: r=-1, received message type=-150996052, message=-160219330 FAKEROOT, get_msg: Bad address r=14, EINTR=4 fakeroot: clearing up message queues and semaphores, signal=-1 fakeroot: database save FAILED WITH this patch: $ faked-sysv --foreground --debug using 1569385744 as msg key msg_key=1569385744 1569385744:424 FAKEROOT: msg=0, key=1569385744 ^C fakeroot: clearing up message queues and semaphores, signal=2 fakeroot: database save FAILED Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 99f4280854514b22972bd257fe5facc439222d2e Author: Michal Privoznik <mprivozn@xxxxxxxxxx> Date: Tue Jan 29 17:58:41 2013 +0100 qmp-commands.hx: s/tray-open/tray_open/ to match qapi schema Currently, we are using 'tray_open' in QMP and 'tray-open' in HMP. However, the QMP documentation was mistakenly using the HMP version. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a05ddd9216b6c5e9c48eac3433ff6fa4a282fc17 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Jan 26 15:27:59 2013 +0100 tests: Fix {rtc, m48t59}-test build on illumos Struct tm does not have tm_gmtoff field on illumos. Fix the build by not zero-initializing these fields on Solaris. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 0b0878611c64f027ca5d15ba641f423cc04ead3f Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:03:47 2013 +0000 qemu-pixman.h: Avoid mutual inclusion loop with console.h Remove an unnecessary mutual inclusion loop between qemu-pixman.h and console.h, since the former was only including the latter for 'PixelFormat*', which can be provided by typedefs.h. This requires a minor adjustment to the files which included qemu-pixman.h, since they were relying on it implicitly dragging in all of console.h. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 24a53049537886cf93273c01e3d7727444321afc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:06 2013 +0100 qemu-ga: Fix unchecked strdup() by converting to g_strdup() I figure it's freed somewhere deep down in QAPI, with g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 13b10e05e4b89418a78500da05b25164f786d7e4 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:05 2013 +0100 qapi: Fix unchecked strdup() by converting to g_strdup() Note that we already free with g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit be168af860109a1ecc8526c5bbe0ace1536448b8 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:04 2013 +0100 libcacard: Fix unchecked strdup() by converting to g_strdup() Note that we already free with g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 40a50b0a73d185c85cf62023f07e3091861081bb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:03 2013 +0100 qemu-log: Plug trivial memory leak in cpu_set_log_filename() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 636e0f27c6675839dc43d4c7613dfefc222234eb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:02 2013 +0100 qemu-log: Fix unchecked strdup() by converting to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 606017de2f254f847a009af770f8babc9a9fcadc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:01 2013 +0100 virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fd3bea3f44500bbd361e617a4316df073b112eec Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:08:00 2013 +0100 spice: Fix unchecked strdup() by converting to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c3baa5f9e4f84bbc9ed9c3fe590835ecc8b0bf4a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:59 2013 +0100 readline: Fix unchecked strdup() by converting to g_strdup() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d3f8e138c23ba082f87c96634d06b978473c1e9b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:58 2013 +0100 hw/9pfs: Fix unchecked strdup() by converting to g_strdup() Note: the allocation in virtio_9p_init() is still leaked. To be fixed in a followup commit. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c64f50d1e250879611e6f328e2c4fb18c8a4ab0c Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:57 2013 +0100 g_strdup(NULL) returns NULL; simplify Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6528499fa4c3ceaec01ad29d8090ef55918ebfb3 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 22 11:07:56 2013 +0100 g_malloc(0) and g_malloc0(0) return NULL; simplify Once upon a time, it was decided that qemu_malloc(0) should abort. Switching to glib retired that bright idea. Some code that was added to cope with it (e.g. in commits 702ef63, b76b6e9) is still around. Bury it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 75610155562bd480356a7a5018e5de4c44ec7884 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat Jan 26 20:41:58 2013 +0100 prep: Move PReP machine to hw/ppc/ Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 74cef80c473fe4ce195d5280a34bb2af8492aabb Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:54:35 2013 -0800 xilinx_axidma: Fix debug mode compile messages Missing cast one one of the conditionally compiled printfs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 080251a46493e4e4cb6cbd6e2878d31c7cf023c5 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:54:34 2013 -0800 cadence_gem: Debug mode compile fixes Some printfs are throwing warnings when debug mode is enabled. Fixed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c69544130f50536c61686a9ec6734327b6174ee0 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:54:33 2013 -0800 cadence_ttc: Debug mode compile fixes Some printfs are throwing warnings when debug mode is enabled. Fixed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cfba8e6f92d45a2374622c3dc57499e42a1c07e1 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 25 10:31:16 2013 +0100 vnc: Clean up vncws_send_handshake_response() Use appropriate types, drop superfluous casts, use sizeof, don't exploit that this particular call of gnutls_fingerprint() doesn't change its last argument. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6a659bbff991b0033d1bf1ff71b7d550e0367d99 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Jan 23 17:46:13 2013 -0700 vfio-pci: Enable PCIe extended config space We don't know pre-init time whether the device we're exposing is PCIe or legacy PCI. We could ask for it to be specified via a device option, but that seems like too much to ask of the user. Instead we can assume everything will be PCIe, which makes PCI-core allocate enough config space. Removing the flag during init leaves the space allocated, but allows legacy PCI devices to report the real device config space size to rest of Qemu. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 1ec4ba741630699665a6334f3959271da3effec7 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Jan 24 10:31:20 2013 +0100 PIIX3: reset the VM when the Reset Control Register's RCPU bit gets set Traditional PCI config space access is achieved by writing a 32 bit value to io port 0xcf8 to identify the bus, device, function and config register. Port 0xcfc then contains the register in question. But if you write the appropriate pair of magic values to 0xcf9, the machine will reboot. Spectacular! And not standardised in any way (certainly not part of the PCI spec), so different chipsets may have different requirements. Booo. In the PIIX3 spec, IO port 0xcf9 is specified as the Reset Control Register. Bit 1 (System Reset, SRST) would normally differentiate between soft reset and hard reset, but we ignore the difference beyond allowing the guest to read it back. RHBZ reference: 890459 This patch introduces the following overlap between the preexistent "pci-conf-idx" region and the "piix3-reset-control" region just being added. Partial output from "info mtree": I/O 0000000000000000-000000000000ffff (prio 0, RW): io 0000000000000cf8-0000000000000cfb (prio 0, RW): pci-conf-idx 0000000000000cf9-0000000000000cf9 (prio 1, RW): piix3-reset-control I sanity-checked the patch by booting a RHEL-6.3 guest and found no problems. I summoned gdb and set a breakpoint on rcr_write() in order to gather a bit more confidence. Relevant frames of the stack: kvm_handle_io (port=3321, data=0x7f3f5f3de000, direction=1, size=1, count=1) [kvm-all.c:1422] cpu_outb (addr=3321, val=6 '\006') [ioport.c:289] ioport_write (index=0, address=3321, data=6) [ioport.c:83] ioport_writeb_thunk (opaque=0x7f3f622c4680, addr=3321, data=6) [ioport.c:212] memory_region_iorange_write (iorange=0x7f3f622c4680, offset=0, width=1, data=6) [memory.c:439] access_with_adjusted_size (addr=0, value=0x7f3f531fbac0, size=1, access_size_min=1, access_size_max=4, access=0x7f3f5f6e0f90 <memory_region_write_accessor>, opaque=0x7f3f6227b668) [memory.c:364] memory_region_write_accessor (opaque=0x7f3f6227b668, addr=0, value=0x7f3f531fbac0, size=1, shift=0, mask=255) [memory.c:334] rcr_write (opaque=0x7f3f6227afb0, addr=0, val=6, len=1) [hw/piix_pci.c:498] The dispatch happens in ioport_write(); "index=0" means byte-wide access: static void ioport_write(int index, uint32_t address, uint32_t data) { static IOPortWriteFunc * const default_func[3] = { default_ioport_writeb, default_ioport_writew, default_ioport_writel }; IOPortWriteFunc *func = ioport_write_table[index][address]; if (!func) func = default_func[index]; func(ioport_opaque[address], address, data); } The "ioport_write_table" and "ioport_opaque" arrays describe the flattened IO port space. The first array is less interesting (it selects a thunk function). The "ioport_opaque" array is interesting because it decides how writing to the port is implemented ultimately. 4-byte wide access to 0xcf8 (pci-conf-idx): (gdb) print ioport_write_table[2][0xcf8] $1 = (IOPortWriteFunc *) 0x7f3f5f6d99ba <ioport_writel_thunk> (gdb) print \ ((struct MemoryRegionIORange*)ioport_opaque[0xcf8])->mr->ops.write $2 = (void (*)(void *, hwaddr, uint64_t, unsigned int)) 0x7f3f5f5575cb <pci_host_config_write> 1-byte wide access to 0xcf9 (piix3-reset-control): (gdb) print ioport_write_table[0][0xcf9] $3 = (IOPortWriteFunc *) 0x7f3f5f6d98d0 <ioport_writeb_thunk> (gdb) print \ ((struct MemoryRegionIORange*)ioport_opaque[0xcf9])->mr->ops.write $4 = (void (*)(void *, hwaddr, uint64_t, unsigned int)) 0x7f3f5f6b42f1 <rcr_write> The higher priority of "piix3-reset-control" ensures that the 0xcf9 entries in ioport_write_table / ioport_opaque will always belong to it, independently of its relative registration order versus "pci-conf-idx". Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 91c3f2f00810a9ba5e4404c9611197efd8f694c8 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Tue Jan 22 19:11:37 2013 -0700 ich9: add support for pci assignment Fills out support for the pci assignment API. Added: PCIINTxRoute ich9_route_intx_pin_to_irq(void *opaque, int pirq_pin) Add calls to pci_bus_fire_intx_routing_notifier() when routing changes are made. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit dd23454ba2c83168b453155365671e67723b881f Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Jan 22 23:44:46 2013 +0800 virtio-net: rename ctrl rx commands This patch makes rx commands consistent with specification. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c1943a3f3774ee1aad51e8cc5b8cd24e66e198a5 Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Jan 22 23:44:45 2013 +0800 virtio-net: introduce a new macaddr control In virtio-net guest driver, currently we write MAC address to pci config space byte by byte, this means that we have an intermediate step where mac is wrong. This patch introduced a new control command to set MAC address, it's atomic. VIRTIO_NET_F_CTRL_MAC_ADDR is a new feature bit for compatibility. "mac" field will be set to read-only when VIRTIO_NET_F_CTRL_MAC_ADDR is acked. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 22 23:44:44 2013 +0800 virtio-net: remove layout assumptions for ctrl vq Virtio-net code makes assumption about virtqueue descriptor layout (e.g. sg[0] is the header, sg[1] is the data buffer). This patch makes code not rely on the layout of descriptors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 41dc8a67c7dcecdf7ae1cd25db3c46f2b42a221f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Jan 16 11:37:40 2013 +0200 virtio-net: revert mac on reset Once guest overrides virtio net primary mac, it retains the value set until qemu exit. This is inconsistent with standard nic behaviour. To fix, revert the mac to the original value on reset. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 7586317bc0db3b993446b21eec914f5b66645ee4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 13:27:54 2013 +0200 rules/mak: make clean should blow away timestamp files Using a global pattern makes it easier to clean out old generated files. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6f329a55305c3b14da3c7b35f19379bae745e728 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 14:47:33 2013 +0200 Makefile: clean timestamp generation rule create timestamp by rule without sideeffects. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4b25966ab976f3a7fd9008193b2defcc82f8f04d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 13:12:35 2013 +0200 rules.mak: cleanup config generation rules This addresses two issues with config generation 1. rule generating timestamp has side effect. Thus cleanup on error does not work. 2. rule for handling timestamp is too generic. It can create any missing .h file. As a result when .h file is removed, build might try to create it using this rule which results in build errors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a52a8841038638afe54ffb00e0aca48de0b1539a Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Jan 9 23:50:00 2013 +0200 e1000: document ICS read behaviour Add code comment to clarify the reason we set ICS with ICR: the reason was previously undocumented and git log confused rather than clarified the comments. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0893d46014b0300fb8aec92df94effea34d04b61 Merge: 0c77067... f8bb056... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 29 16:57:41 2013 -0600 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging * qemu-kvm/uq/master: target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too big vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery' Conflicts: target-i386/kvm.c Trivial merge resolution due to lack of context. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0c77067950e0b158ea7d825cfa7630bfd09b968a Merge: ec9466f... 10a2158... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 29 16:57:04 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-28-13' into staging # By Markus Armbruster # Via Michael Roth * mdroth/qga-pull-1-28-13: qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths qemu-ga: Plug memory leak in guest_fsfreeze_cleanup() commit 19380b1bf587fd962a60fb40cc4927ba999cf17b Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Jan 29 16:33:04 2013 +0100 s390: Drop set_bit usage in virtio_ccw. set_bit on indicators doesn't go well on 32 bit targets: note: expected 'long unsigned int *' but argument is of type 'uint64_t *' Switch to bit shifts instead. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> [agraf: use 1ULL instead] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8d034a6fad4c580be3ed4a15f24e0bf47aa92d15 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Mon Jan 28 17:01:30 2013 +0100 s390: css error codes. Changed error codes in the channel subsystem / virtio-ccw code (-EOPNOTSUPP -> -ENOSYS, -ERESTART -> -EINPROGRESS). This should hopefully fix building on mingw32. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 50c8d9bfc6d9ca48b978c6201f97bd850bd0dc83 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Sun Jan 27 23:59:26 2013 +0000 s390: Use s390_cpu_physical_memory_map for tpi. Map the I/O interruption code before calling into css. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2e788490d83a4de5bea00207c8695edd5d487e4a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jan 25 06:00:19 2013 +0000 sclpconsole: Don't instantiate sclpconsole with -nodefaults libvirt specifies nodefaults and creates an sclp console with special parameters. Let qemu follow nodefaults and don't create an sclp console if nodefaults is specified. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a5c95808bac7d995378b3835e10011775c7c2d0b Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 06:08:56 2013 +0000 s390: Add s390-ccw-virtio machine. Add a new machine type, s390-ccw-virtio, making use of the virtio-ccw transport to present virtio devices as channel devices. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ab290630fad0df42ee94a81b20c48d0da2dc6f66 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jan 22 23:24:08 2013 +0000 s390-virtio: Check for NULL device in reset hypercall s390_virtio_bus_find_mem() may return a NULL VirtIOS390Device. If called with, e.g., args[0] == 0, this leads to a segfault. Fix this by adding error handling as done for other hypercalls. Present since baf0b55a9e57b909b1f8b0f732c0b10242867418 (Implement virtio reset). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b73d35311098585dbdb375fdf8369b16c8222e12 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 25 01:16:39 2013 +0100 s390: Move hw files to hw/s390x This moves all files only used by s390 system emulation to hw/s390x. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 93726cb31982f5d930a4d5838215307390636d9b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 04:40:25 2013 +0000 virtio-s390: add a reset function to virtio-s390 devices virtio-s390 devices are not being reset when their bus is. To fix this, add a reset method that forwards to virtio_reset. This is only needed because of the "strange" modeling of virtio devices; the ->vdev link is being handled manually rather than through qdev. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 49973ebc039f644fce3e73ff8019efaa795bd83b Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 24 19:11:26 2013 +0100 s390: Make typeinfo const All TypeInfo definitions should be const. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a5cf2bb4e3827732b1b6740bddd022eb19988e0a Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 06:08:55 2013 +0000 s390: Add new channel I/O based virtio transport. Add a new virtio transport that uses channel commands to perform virtio operations. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fad37673f53ac8a2e0575c084a26e5f6bb59957d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:09 2013 +0000 s390-virtio: Factor out some initialization code. Some of the machine initialization for s390-virtio will be reused by virtio-ccw. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 09b998782978f95f626236b39f0be99c02a014a9 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:07 2013 +0000 s390: Wire up channel I/O in kvm. Trigger the code for our virtual css in case of instruction intercepts for I/O instructions. Handle the tsch exit for the subchannel-related part of tsch. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit df1fe5bb49241baddf1f319a6ecbe0885e875afa Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:06 2013 +0000 s390: Virtual channel subsystem support. Provide a mechanism for qemu to provide fully virtual subchannels to the guest. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b18aad543300de5da88efef8e4116a3ccbbf897 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:05 2013 +0000 s390: Add channel I/O instructions. Provide handlers for (most) channel I/O instructions. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5d69c547d947798cba92d836d06f6e017ba2b19d Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:04 2013 +0000 s390: I/O interrupt and machine check injection. I/O interrupts are queued per isc. Only crw pending machine checks are supported. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit db1c8f53bfb1b3bff4f904be4f929808a445522e Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:03 2013 +0000 s390: Channel I/O basic definitions. Basic channel I/O structures and helper function. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 38322ed6518817066ce3a9037fd3795af57e1cdd Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:02 2013 +0000 s390: Add mapping helper functions. Add s390_cpu_physical_memory_{map,unmap} with special handling for the lowcore. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4782a23b270ecbb9ce0ca6f3f1b60857a09cef0e Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 24 02:28:01 2013 +0000 s390: Lowcore mapping helper. Create a lowcore mapping helper that includes a check for sufficient length. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3ef669e19401b3e504f0bd1ca3113c3aeacd4bed Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 24 12:18:52 2013 +0100 s390: Add default support for SCLP console The current s390 machine uses the virtio console as default console, but this doesn't mean that we always want to keep it that way for new machines. This patch introduces a way for a machine type to specify that it wants the default console to be an SCLP console, which is a lot closer to what real hardware does. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> commit f8bb056564ed719b2fa5e05028bc70aeb0cc5c6c Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 28 12:49:26 2013 +0100 target-i386: kvm: prevent buffer overflow if -cpu foo, [x]level is too big Stack corruption may occur if too big 'level' or 'xlevel' values passed on command line with KVM enabled, due to limited size of cpuid_data in kvm_arch_init_vcpu(). reproduces with: qemu -enable-kvm -cpu qemu64,level=4294967295 or qemu -enable-kvm -cpu qemu64,xlevel=4294967295 Check if there is space in cpuid_data before passing it to cpu_x86_cpuid() or abort() if there is not space. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit ec9466ff2e50213c8318ffdd7003f345278ab795 Merge: 503cb22... 290adf3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 28 14:48:03 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: (37 commits) kvm: Pass CPUState to kvm_on_sigbus_vcpu() cpu: Unconditionalize CPUState fields target-m68k: Use type_register() instead of type_register_static() target-unicore32: Use type_register() instead of type_register_static() target-openrisc: Use type_register() instead of type_register_static() target-unicore32: Catch attempt to instantiate abstract type in cpu_init() target-openrisc: Catch attempt to instantiate abstract type in cpu_init() target-m68k: Catch attempt to instantiate abstract type in cpu_init() target-arm: Catch attempt to instantiate abstract type in cpu_init() target-alpha: Catch attempt to instantiate abstract type in cpu_init() qom: Introduce object_class_is_abstract() target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init() target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init() target-m68k: Detect attempt to instantiate non-CPU type in cpu_init() target-alpha: Detect attempt to instantiate non-CPU type in cpu_init() target-arm: Detect attempt to instantiate non-CPU type in cpu_init() cpu: Add model resolution support to CPUClass target-i386: Remove setting tsc-frequency from x86_def_t target-i386: Set custom features/properties without intermediate x86_def_t target-i386: Remove vendor_override field from CPUX86State ... Conflicts: tests/Makefile Resolved simple conflict caused by lack of context in Makefile Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 503cb22e055dcf477f9147fa1a3b8ae17c86c9b0 Merge: 6cebf7a... 67bec53... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 28 14:46:45 2013 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging # By Paolo Bonzini (14) and others # Via Kevin Wolf * kwolf/for-anthony: (24 commits) ide: Add fall through annotations block: Create proper size file for disk mirror ahci: Add migration support ahci: Change data types in preparation for migration ahci: Remove unused AHCIDevice fields hbitmap: add assertion on hbitmap_iter_init mirror: do nothing on zero-sized disk block/vdi: Check for bad signature block/vdi: Improved return values from vdi_open block/vdi: Improve debug output for signature block: Use error code EMEDIUMTYPE for wrong format in some block drivers block: Add special error code for wrong format mirror: support arbitrarily-sized iterations mirror: support more than one in-flight AIO operation mirror: add buf-size argument to drive-mirror mirror: switch mirror_iteration to AIO mirror: allow customizing the granularity block: allow customizing the granularity of the dirty bitmap block: return count of dirty sectors, not chunks mirror: perform COW if the cluster size is bigger than the granularity ... commit 6cebf7afac9287f7bcaeb0d8fd64fd7b75e3fa2c Merge: 6034fe7... 49b6d72... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 28 14:41:25 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Lei Li (3) and others # Via Luiz Capitulino * luiz/queue/qmp: QAPI: Introduce memchar-read QMP command QAPI: Introduce memchar-write QMP command qemu-char: Add new char backend CirMemCharDriver docs: document virtio-balloon stats balloon: re-enable balloon stats balloon: drop old stats code & API block: Monitor command commit neglects to report some errors commit 10a2158f52796e5b2b7ce7991bde09a3c985a37b Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:15:09 2013 +0100 qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6f6867493cc00974de594a509cee5a3be61c64aa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:15:08 2013 +0100 qemu-ga: Plug memory leak in guest_fsfreeze_cleanup() Neglects to free errors allocated by qmp_guest_fsfreeze_thaw(). Spotted by Coverity. While there, drop the test whether return value is negative (it's never true), and improve logging. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 290adf38967787bd985a5ec67dc4717e83c29eaa Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 09:30:27 2013 +0100 kvm: Pass CPUState to kvm_on_sigbus_vcpu() Since commit 20d695a9254c1b086a456d3b79a3c311236643ba (kvm: Pass CPUState to kvm_arch_*) CPUArchState is no longer needed. Allows to change qemu_kvm_eat_signals() argument as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> commit c03c520d508ba8b3a384f9849700987df8e4c328 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 25 16:11:42 2013 +0100 cpu: Unconditionalize CPUState fields Commits fc8c5b8c41ee5ba69d7a2be63b02a08c7b0b155b (Makefile.user: Define CONFIG_USER_ONLY for libuser/) and dd83b06ae61cfa2dc4381ab49f365bd0995fc930 (qom: Introduce CPU class) specifically prepared the qom/cpu.c file to be compiled differently for softmmu and *-user. This broke as part of build system refactorings while CPU patches were in flight, adding conditional fields kvm_fd (8737c51c0444f832c4e97d7eb7540eae457e08e4) and kvm_vcpu_dirty (20d695a9254c1b086a456d3b79a3c311236643ba) for softmmu. linux-user and bsd-user would therefore get a CPUState type with instance_size ~8 bytes longer than expected. Fix this by unconditionally having the fields in CPUState. In practice, target-specific CPU types' instance_size would compensate this, and upstream qom/cpu.c does not yet touch any affected field. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2dddbc2123681f0cc37a891fa61d97a88d5e641c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 27 19:31:00 2013 +0100 target-m68k: Use type_register() instead of type_register_static() According to its documentation, type_register_static()'s TypeInfo argument should exist for the life type of the type. Therefore use type_register() when registering the list of CPU subtypes. No functional change with the current implementation. Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 87fb5811e631e79c24adab1f62bee01987cf1606 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:01:00 2013 +0100 target-unicore32: Use type_register() instead of type_register_static() According to its documentation, type_register_static()'s TypeInfo argument should exist for the life type of the type. Therefore use type_register() when registering the list of CPU subtypes. No functional change with the current implementation. Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a1ebd6ce3396954185bda6e94ada60c583f6cbea Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 11:10:14 2013 +0100 target-openrisc: Use type_register() instead of type_register_static() According to its documentation, type_register_static()'s TypeInfo argument should exist for the life type of the type. Therefore use type_register() when registering the list of CPU subtypes. No functional change with the current implementation. Cf. 918fd0839eeafc83bd4984364321a947d29041fe for arm. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4933908ac5974252c1830d69e9493fa79c5ea606 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:41:38 2013 +0100 target-unicore32: Catch attempt to instantiate abstract type in cpu_init() Fixes -cpu unicore32-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c432b7840cfbc35fc0d097428d0a2f2a94983360 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:39:38 2013 +0100 target-openrisc: Catch attempt to instantiate abstract type in cpu_init() There is no abstract OpenRISCCPU yet, but that seems a bug of its own. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cae85065a44b731467dc6a5caee7cfc6d26d9ca3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:36:31 2013 +0100 target-m68k: Catch attempt to instantiate abstract type in cpu_init() This fixes -cpu m68k-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 245fb54db5f8c88c9d73e037178bc3ca1f9a4bb6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:32:49 2013 +0100 target-arm: Catch attempt to instantiate abstract type in cpu_init() This fixes -cpu arm-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a120c287086e0b03a57f1f4ac7d7aa73fe3d1fe7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:28:22 2013 +0100 target-alpha: Catch attempt to instantiate abstract type in cpu_init() This fixes -cpu alpha-cpu asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 178623789465287624c48f7ef12d0ab83a1dc380 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:20:18 2013 +0100 qom: Introduce object_class_is_abstract() This lets a caller check if an ObjectClass as returned by, e.g., object_class_by_name() is instantiatable. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx> commit d89e12188d50f7f8a894027789f32fa7ba6226ad Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 12:07:17 2013 +0100 target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new uc32_cpu_class_by_name(). If the name matches an existing type, also check whether that type is actually (a sub-type of) TYPE_UNICORE32_CPU. This fixes, e.g., -cpu puv3_dma asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d5ce2e5643f4055b67ea012d91e812f1e607a83 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 15:45:34 2013 +0100 prep_pci: Convert to QOM realizefn SysBusDeviceClass' initfn merely calls SysBusDeviceClass::init, so we can already hook up our own realizefn overwriting this behavior. A symmetric unrealizefn is not necessary, knowing that the child's unrealizefn is still no-op, too. Avoids ripping it out again when recursive realization at DeviceState-level is implemented. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 98aca3c8e8778745cdd0670a792a41314115afa5 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sat May 26 19:14:52 2012 +0200 prep_pci: Create PCIBus and PCIDevice in-place Prepares for QOM realizefn by removing object creation from qdev initfn. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit bd039ce0094f3724a87a193c846ee8468ce652b0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 11:17:14 2013 +0100 target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new openrisc_cpu_class_by_name(). If the name matches an existing type, also check whether that type is actually (a sub-type of) TYPE_OPENRISC_CPU. This fixes, e.g., -cpu open_eth asserting. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bc5b2da32ba54d991e8669b14a771afb3a67f408 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 17:50:15 2013 +0100 target-m68k: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new m68k_cpu_class_by_name(). If the name matches an existing type, also check whether that type is (a sub-type of) TYPE_M68K_CPU. This fixes, e.g., -cpu ide-hd asserting. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 0e44a02301b081d36e686e767694a770c25160a2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 17:27:54 2013 +0100 target-alpha: Detect attempt to instantiate non-CPU type in cpu_init() Check in alpha_cpu_class_by_name() whether the type found is actually (a sub-type of) TYPE_ALPHA_CPU. This fixes, e.g., -cpu typhoon-pcihost asserting. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5900d6b2d59875c9b11e4d8cead6d9ddaa9eb787 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 16:11:43 2013 +0100 target-arm: Detect attempt to instantiate non-CPU type in cpu_init() Consolidate model checking into a new arm_cpu_class_by_name(). If the name matches an existing type, also check whether that type is actually (a sub-type of) TYPE_ARM_CPU. This fixes, e.g., -cpu tmp105 asserting. Cc: qemu-stable <qemu-stable@xxxxxxxxxx> Acked-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2b8c27549917b3e07fec5807dbd2b6528ceb4efa Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 18:26:21 2013 +0100 cpu: Add model resolution support to CPUClass Introduce CPUClass::class_by_name and add a default implementation. Hook up the alpha and ppc implementations. Introduce a wrapper function cpu_class_by_name(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2c728dfef56d468a6a80b4dacdfb7109220d2546 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:39 2013 +0100 target-i386: Remove setting tsc-frequency from x86_def_t Setting tsc-frequency from x86_def_t is NOP because default tsc_khz in x86_def_t is 0 and CPUX86State.tsc_khz is also initialized to 0 by default. So there is no need to overwrite tsc_khz with default 0 because field was already initialized to 0. Custom tsc-frequency setting is not affected due to it being set without using x86_def_t. Field tsc_khz in x86_def_t becomes unused with this patch, so drop it as well. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a91987c25db38834091174681a6e1ffcbe582182 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:38 2013 +0100 target-i386: Set custom features/properties without intermediate x86_def_t Move custom features parsing after built-in cpu_model defaults are set and set custom features directly on CPU instance. That allows to make a clear distinction between built-in cpu model defaults that eventually should go into class_init() and extra property setting which is done after defaults are set on CPU instance. Impl. details: * use object_property_parse() property setter so it would be a mechanical change to switch to global properties later. * And after all current features/properties are converted into static properties, it will take a trivial patch to switch to global properties. Which will allow to: * get CPU instance initialized with all parameters passed on -cpu ... cmd. line from object_new() call. * call cpu_model/featurestr parsing only once before CPUs are created * open a road for removing CPUxxxState.cpu_model_str field, when other CPUs are similarly converted to subclasses and static properties. - re-factor error handling, to use Error instead of fprintf()s, since it is anyway passed in for property setter. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 11acfdd5a1647895ff9094e7f93f3317224eb4d8 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:37 2013 +0100 target-i386: Remove vendor_override field from CPUX86State Commit 8935499831312 makes cpuid return to guest host's vendor value instead of built-in one by default if kvm_enabled() == true and allows to override this behavior if 'vendor' is specified on -cpu command line. But every time guest calls cpuid to get 'vendor' value, host's value is read again and again in default case. It complicates semantics of vendor property and makes it harder to use. Instead of reading 'vendor' value from host every time cpuid[vendor] is called, override 'vendor' value only once in cpu_x86_find_by_name(), when built-in CPU model is found and if(kvm_enabled() == true). It provides the same default semantics if (kvm_enabled() == true) vendor = host's vendor else vendor = built-in vendor and then later: if (custom vendor) vendor = custom vendor 'vendor' value is overridden when user provides it on -cpu command line, and there is no need for vendor_override field anymore, remove it. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 99b88a1708919934f4092f7b6dcc2cca9d4072e9 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:36 2013 +0100 target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t Vendor property setter takes string as vendor value but cpudefs use uint32_t vendor[123] fields to define vendor value. It makes it difficult to unify and use property setter for values from cpudefs. Simplify code by using vendor property setter, vendor[123] fields are converted into vendor[13] array to keep its value. And vendor property setter is used to access/set value on CPU. - Make for() cycle reusable for the next patch by adding x86_cpu_vendor_words2str() Intel's CPUID spec[1] says: " 5.1.1 ... These registers contain the ASCII string: GenuineIntel ... " List[2] of known vendor values shows that they all are 12 ASCII characters long, padded where necessary with space. Current supported values are all ASCII characters packed in ebx, edx, ecx. So lets state that QEMU supports 12 printable ASCII characters packed in ebx, edx, ecx registers for cpuid(0) instruction. *1 - http://www.intel.com/Assets/PDF/appnote/241618.pdf *2 - http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8ba8a69848f8b910207a4b57c68db9a7e92af578 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Jan 21 15:06:35 2013 +0100 target-i386: Print deprecation warning if xlevel < 0x80000000 Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7fc9b714eb4877ca83ce8e437ec93d34fca0eb3b Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 01:02:28 2013 +0100 target-i386: Drop redundant list of CPU definitions It is no longer needed since dropping cpudef config file support. Cleaning this up removes knowledge about other models from x86_def_t, in preparation for reusing x86_def_t as intermediate step towards pure QOM X86CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4bfe910d4728807e7d80de152a7ef33dd608033f Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 21 01:00:24 2013 +0100 target-i386: Simplify cpu_x86_find_by_name() Catch NULL name argument early to avoid repeated checks. Similarly, check for -cpu host early and untangle from iterating through model definitions. This prepares for introducing X86CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8932cfdf7b95734c9b4a114b8ed0b4527af77ce7 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:09 2013 -0200 pc: Generate APIC IDs according to CPU topology This keeps compatibility on machine-types pc-1.2 and older, and prints a warning in case the requested configuration won't get the correct topology. I couldn't think of a better way to warn about broken topology when in compat mode other than using error_report(). The warning message will probably be buried in a log file somewhere, but it's better than nothing. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 247c9de13f9d54a94734875000a9faea8168c8ca Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Jan 23 15:58:27 2013 -0200 target-i386: Topology & APIC ID utility functions This introduces utility functions for the APIC ID calculation, based on: Intel® 64 Architecture Processor Topology Enumeration http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/ The code should be compatible with AMD's "Extended Method" described at: AMD CPUID Specification (Publication #25481) Section 3: Multiple Core Calcuation as long as: - nr_threads is set to 1; - OFFSET_IDX is assumed to be 0; - CPUID Fn8000_0008_ECX[ApicIdCoreIdSize[3:0]] is set to apicid_core_width(). Unit tests included. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1d934e89793d2828e04af93abd181e5ed5349ef4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Jan 23 15:51:18 2013 -0200 pc: Set fw_cfg data based on APIC ID calculation This changes FW_CFG_MAX_CPUS and FW_CFG_NUMA to use apic_id_for_cpu(), so the NUMA table can be based on the APIC IDs, instead of CPU index (SeaBIOS knows nothing about CPU indexes, just APIC IDs). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 54fb7bf68516642c609738814f160ee2069301e8 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:05 2013 -0200 cpus.h: Make constant smp_cores/smp_threads available on *-user The code that calculates the APIC ID will use smp_cores/smp_threads, so just define them as 1 on *-user to avoid #ifdefs in the code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 70db922278f7b42375ead340b793ff3938835242 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:03 2013 -0200 fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init() PC will not use max_cpus for that field, so move it outside the common code so it can use a different value on PC. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cb41bad3c2c7d82405cbe057c944ed4fd176d82a Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:04 2013 -0200 target-i386: Introduce x86_cpu_apic_id_from_index() function This function will be used by both the CPU initialization code and the fw_cfg table initialization code. Later this function will be updated to generate APIC IDs according to the CPU topology. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 83b17af5e619abdf11721826b08fa4f30e9dc4ee Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:02 2013 -0200 target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index The CPU ID in KVM is supposed to be the APIC ID, so change the KVM_CREATE_VCPU call to match it. The current behavior didn't break anything yet because today the APIC ID is assumed to be equal to the CPU index, but this won't be true in the future. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b164e48ed1600055bc190aa3ab42c18004d2c711 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Jan 22 18:25:01 2013 -0200 kvm: Create kvm_arch_vcpu_id() function This will allow each architecture to define how the VCPU ID is set on the KVM_CREATE_VCPU ioctl call. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2969475869a6f33b8883c2fbf90252dcf617902e Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Jan 17 18:59:29 2013 -0200 pc: Reverse pc_init_pci() compatibility logic Currently, the pc-1.4 machine init function enables PV EOI and then calls the pc-1.2 machine init function. The problem with this approach is that now we can't enable any additional compatibility code inside the pc-1.2 init function because it would end up enabling the compatibility behavior on pc-1.3 and pc-1.4 as well. This reverses the logic so that the pc-1.2 machine init function will disable PV EOI, and then call the pc-1.4 machine init function. This way we can change older machine-types to enable compatibility behavior, and the newer machine-types (pc-1.3, pc-q35-1.4 and pc-i440fx-1.4) would just use the default behavior. (This means that one nice side-effect of this change is that pc-q35-1.4 will get PV EOI enabled by default, too) It would be interesting to eventually change pc_init_pci_no_kvmclock() and pc_init_isa() to reuse pc_init_pci_1_2() as well (so we don't need to duplicate compatibility code on those two functions). But this will be probably much easier to do after we create a PCInitArgs struct for the PC initialization arguments, and/or after we use global-properties to implement the compatibility modes present in pc_init_pci_1_2(). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit aa87d45855c7b255b451622a84a3e5b9b4393425 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Jan 17 18:59:28 2013 -0200 target-i386: Don't set any KVM flag by default if KVM is disabled This is a cleanup that tries to solve two small issues: - We don't need a separate kvm_pv_eoi_features variable just to keep a constant calculated at compile-time, and this style would require adding a separate variable (that's declared twice because of the CONFIG_KVM ifdef) for each feature that's going to be enabled/disabled by machine-type compat code. - The pc-1.3 code is setting the kvm_pv_eoi flag on cpuid_kvm_features even when KVM is disabled at runtime. This small inconsistency in the cpuid_kvm_features field isn't a problem today because cpuid_kvm_features is ignored by the TCG code, but it may cause unexpected problems later when refactoring the CPUID handling code. This patch eliminates the kvm_pv_eoi_features variable and simply uses kvm_enabled() inside the enable_kvm_pv_eoi() compat function, so it enables kvm_pv_eoi only if KVM is enabled. I believe this makes the behavior of enable_kvm_pv_eoi() clearer and easier to understand. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Gleb Natapov <gleb@xxxxxxxxxx> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit d61a23ba77deefd88fd2457c2dba7d5bf13f5f5b Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Jan 17 18:59:27 2013 -0200 kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit dd51dc5262b718c5f045c86ce1175842ab42d2cd Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 17:30:08 2013 +0100 target-openrisc: Clean up triple QOM casts Instead of calling openrisc_env_get_cpu(), casting to CPU() via the ENV_GET_CPU() compatibility macro and casting back to OPENRISC_CPU(), just call openrisc_env_get_cpu() directly. ENV_GET_CPU() is meant as workaround for target-independent code only. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8486af93771302fa3154857a7c05612f0f61cc90 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:14:27 2013 +0100 target-openrisc: Drop OpenRISCCPUList It was missed in 92a3136174f60ee45b113296cb2c2a5225b00369 (cpu: Introduce CPUListState struct) because its naming did not match the *CPUListState pattern. Use the generalized CPUListState instead. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6034fe7bdb555c43022706e228cde8d52a8b341a Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Date: Sun Jan 27 01:05:00 2013 +0100 xilinx_ethlite: Avoid build warnings in debug code Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a56d305a6d706cd75cfe0fa473f45772694f2a4a Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Fri Jan 25 17:58:38 2013 -0800 m25p80.c: Return state to IDLE after COLLECTING Default to moving back to the IDLE state after the COLLECTING_DATA state. For a well behaved guest this patch has no consequence, but A bad guest could crash QEMU by using one of the erase commands followed by a longer than 5 byte argument (undefined behaviour). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 2f991adb8e8cad3233ae653be12cfd72d44168ba Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:36:23 2013 -0800 xilinx_ethlite: Flush queued packets on SW service Software services a received packet by clearing the CTRL_S bit in the RX_CTRLn register. If this bit is cleared, flush any packets queued for the device. Reported-by: John Williams <john.williams@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 808fb9f277abda16601e9db938d29aeaf2548585 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Sat Jan 26 12:36:22 2013 -0800 xilinx_ethlite: fix eth_can_rx() for ping-pong The eth_can_rx() function only checks the first buffers status ("ping"). The controller should be able to receive into "pong" when ping-pong is enabled. Checks the active buffer (either "ping" or "pong") when determining can_rx() rather than just testing "ping". Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 13144781d4e9e6100b398213f9000576a3dc88f9 Merge: c5cd02b... f5fba9d... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 26 14:18:28 2013 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: PPC: e500: Select MPIC v4.2 on ppce500 platform PPC: e500: fix mpic_iack address openpic: add basic support for MPIC v4.2 openpic: fix timer address decoding openpic: fix remaining issues from idr-to-destmask conversion pseries: Adjust default VIO address allocations to play better with libvirt pseries: Improve handling of multiple PCI host bridges target-ppc: Give a meaningful error if too many threads are specified cuda: Move ADB bus into CUDA state adb: QOM'ify ADB devices adb: QOM'ify Apple Desktop Bus cuda: QOM'ify CUDA ide/macio: QOM'ify MacIO IDE mac_nvram: QOM'ify MacIO NVRAM mac_nvram: Mark as Big Endian mac_nvram: Clean up public API macio: Split MacIO in two macio: Delay qdev init until all fields are initialized macio: QOM'ify some more ppc: Move Mac machines to hw/ppc/ commit c5cd02ba16e784699d04456c8e406445db997121 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 26 12:45:14 2013 +0100 tests: Add gcov support for x86_64 qtest Since x86_64 is a superset of i386 and reuses all its test cases, adopt all the i386 gcov source files as well, substituting their paths appropriately. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cba040c2b19f584bb33ae83af8517ecc9796e328 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 26 12:45:13 2013 +0100 tests: Add gcov support for sparc64 qtest m48t59-test is individually being executed for sparc and sparc64, so add the gcov source file for sparc64 as well. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 6a6944957801f5b981e09d6bff4f1bd5529f7019 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 26 12:45:12 2013 +0100 tests: Fix gcov typo for tmp105-test Commit 6e9989034b176a8e4cfdccd85892abfa73977ba7 introduced a new qtest test case but misspelled gcov, leading to no coverage analysis. Fix it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 8cb6bfb54e91b1a31a6ae704def595c2099efde1 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Fri Jan 25 21:23:24 2013 +0400 vmware_vga: fix out of bounds and invalid rects updating This is a follow up for several attempts to fix this issue. Previous incarnations: 1. http://thread.gmane.org/gmane.linux.ubuntu.bugs.general/3156089 https://bugs.launchpad.net/bugs/918791 "qemu-kvm dies when using vmvga driver and unity in the guest" bug. Fix by Serge Hallyn: https://launchpadlibrarian.net/94916786/qemu-vmware.debdiff This fix is incomplete, since it does not check width and height for being negative. Serge weren't sure if that's the right place to fix it, maybe the fix should be up the stack somewhere. 2. http://thread.gmane.org/gmane.comp.emulators.qemu/166064 by Marek Vasut: "vmware_vga: Redraw only visible area" This one adds the (incomplete) check to vmsvga_update_rect_delayed(), the routine just queues the rect updating but does no interesting stuff. It is also incomplete in the same way as patch by Serge, but also does not touch width&height at all after adjusting x&y, which is wrong. As far as I can see, when processing guest requests, the device places them into a queue (vmsvga_update_rect_delayed()) and processes this queue in different place/time, namely, in vmsvga_update_rect(). Sometimes, vmsvga_update_rect() is called directly, without placing the request to the gueue. This is the place this patch changes, which is the last (deepest) in the stack. I'm not sure if this is the right place still, since it is possible we have some queue optimization (or may have in the future) which will be upset by negative/wrong values here, so maybe we should check for validity of input right when receiving request from the guest (and maybe even use unsigned types there). But I don't know the protocol and implementation enough to have a definitive answer. But since vmsvga_update_rect() has other sanity checks already, I'm adding the missing ones there as well. Cc'ing BALATON Zoltan and Andrzej Zaborowski who shows in `git blame' output and may know something in this area. If this patch is accepted, it should be applied to all active stable branches (at least since 1.1, maybe even before), with minor context change (ds_get_*(s->vga.ds) => s->*). I'm not Cc'ing -stable yet, will do it explicitly once the patch is accepted. BTW, these checks use fprintf(stderr) -- it should be converted to something more appropriate, since stderr will most likely disappear somewhere. Cc: Marek Vasut <marex@xxxxxxx> CC: Serge Hallyn <serge.hallyn@xxxxxxxxxx> Cc: BALATON Zoltan <balaton@xxxxxxxxxx> Cc: Andrzej Zaborowski <balrogg@xxxxxxxxx> Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3f0f31a0f1c9a89314e9f9ed423371f4d925d5a6 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 15:43:53 2013 +0000 tests: add fuzzing to visitor tests Perform input tests on random data. Improvement to code coverage for qapi/string-input-visitor.c is about 3 percentage points. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0c3c89d649d029b29bf245f739c82339fcf2e699 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 15 09:49:37 2013 +0100 build: remove *.lo, *.a, *.la files from all subdirectories on make clean .lo files in stubs/, util/ and libcacard/ were not cleaned. Fix this. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Reported-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 98ed805c388baaf4ce7d9acbbbc04bbf185f30fc Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 24 19:02:28 2013 +0000 hw/arm_boot: Align device tree to 4KB boundary, not page Align the device tree blob to a 4KB boundary, not to QEMU's idea of a page boundary -- the latter is the smallest possible page size for the architecture, which on ARM is 1KB. The documentation for Linux does not impose separation or alignment requirements on the device tree blob, but in practice some kernels will happily trash the entire page the initrd ends in after they have finished uncompressing the initrd. So 4KB-align the DTB to ensure it does not get trampled by these kernels. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 390999910bf1b1be59e04a0314867f4dea7a28f3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 24 16:14:39 2013 +0000 qemu-char: Avoid unused variable warning in some configs Avoid unused variable warnings: qemu-char.c: In function 'qmp_chardev_open_port': qemu-char.c:3132: warning: unused variable 'fd' qemu-char.c:3132: warning: unused variable 'flags' in configurations with neither HAVE_CHARDEV_TTY nor HAVE_CHARDEV_PARPORT set. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 23bf49b5eca716aaad073f2b47613434e1515cb5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 24 16:47:55 2013 +0100 make_device_config.sh: Fix target path in generated dependency file config-devices.mak.d is included from Makefile.target, i.e. from inside the *-softmmu/ directory. It included the directory path, so never applied to the actual ./config-devices.mak. Symptoms were spurious build failures due to missing dependency on default-configs/pci.mak. Fix this by using `basename` to strip the directory path. Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9f8863ebd7f584762a906881a62a04ac05ce4898 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 23 18:25:09 2013 +0100 fw_cfg: Drop a few superfluous initializers Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d09acb9b5ef0bb4fa94d3d459919a6ebaf8804bc Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 23 18:25:08 2013 +0100 fw_cfg: Splash image loader can overrun a stack variable, fix read_splashfile() passes the address of an int variable as size_t * parameter to g_file_get_contents(), with a cast to gag the compiler. No problem on machines where sizeof(size_t) == sizeof(int). Happens to work on my x86_64 box (64 bit little endian): the least significant 32 bits of the file size end up in the right place (caller's variable file_size), and the most significant 32 bits clobber a place that gets assigned to before its next use (caller's variable file_type). I'd expect it to break on a 64 bit big-endian box. Fix up the variable types and drop the problematic cast. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a6e7c18476f5383720b3f57ef4f467b2e7c2565e Author: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Date: Tue Jan 22 17:03:05 2013 +0000 softfloat: Handle float_muladd_negate_c when product is zero Honour float_muladd_negate_c in the case where the product is zero and c is nonzero. Previously we would fail to negate c. Seen in (and tested against) the gfortran testsuite on MIPS. Signed-off-by: Richard Sandiford <rdsandiford@xxxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit de16017dc8f2c33c73bd3faebf3c626c400af5e4 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:56 2013 +0000 hw/pxa2xx_timer: Explicitly mark fallthroughs Explicitly mark the fallthroughs as intentional in the code pattern where we gradually increment an index before falling into the code to read/write that array entry: case THINGY_3: idx++; case THINGY_2: idx++; case THINGY_1: idx++; case THINGY_0: return s->thingy[idx]; This makes static analysers happy. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 89556d1725d7c10a54ec66087e940727873f38a3 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:55 2013 +0000 hw/smc91c111: Add explicit 'return' rather than relying on fallthrough Add an explicit 'return' statement to a case in smc91c111_readb rather than relying on fallthrough to the following case's return statement, for code clarity and to placate static analysers. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3095485029ddbd061aa4f8e26c0437f200975d18 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:54 2013 +0000 hw/pflash_cfi02.c: Mark deliberate fallthrough Mark the deliberate fallthrough where we treat the case of an attempt to read flash when it is an unknown command state as if it were a normal read. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit be688dfb8ddf7841fb277800977a0a878b68ae42 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:53 2013 +0000 hw/omap_dma, hw/omap_spi: Explicitly mark fallthroughs Explicitly mark the fallthroughs as intentional in the code pattern where we gradually increment an index before falling into the code to read/write that array entry: case THINGY_3: idx++; case THINGY_2: idx++; case THINGY_1: idx++; case THINGY_0: return s->thingy[idx]; This makes static analysers happy. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 139bd956eaf1675209009b22764a46bd220e287c Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:52 2013 +0000 hw/omap1.c: Add fallthrough markers and breaks Explicitly mark cases where we are deliberately falling through to the following code. In one case we insert a 'break' instead of falling through to a 'break', as this seems slightly clearer. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bf4229d3cb09be2efc0add569feba33834fc5d93 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 21 12:50:51 2013 +0000 hw/arm_sysctl.c: Add missing 'break' statements Add some break statements that were accidentally omitted from some cases of arm_sysctl_write(). The omission was harmless because in both cases the following case did an immediate break, but adding the breaks explicitly placates static analysers and avoids weird behaviour if the following register is ever implemented as something other than a no-op. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b4451996e712653f9ef4d53d975a158572b8574d Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sat Jan 19 18:58:09 2013 +0400 link seccomp only with softmmu targets Now, if seccomp is detected, it is linked into every executable, but is used only by softmmu targets (from vl.c). So link it only where it is actually needed. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0360ccffbe41bd732b42a90cd04de63335933bea Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:49:09 2013 +0000 bsd-user: avoid conflict with qemu_vmalloc Rename qemu_vmalloc() to bsd_vmalloc(), adjust the only user. Remove #ifdeffery in oslib-posix.c. Tested-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 82cb6b041c307bd96c067147af69cd98be91a682 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:48 2013 +0100 build: remove extra-obj-y extra-obj-y is somewhat complicated to understand. Replace it with a special CONFIG_ALL symbol that is defined only at toplevel. This limits the case of directories defining more than one *-obj-y target. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 000823449ca07e50086413338f907d7a817db2ce Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:47 2013 +0100 build: remove universal-obj-y All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how we define symbols for hardware components. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 737f351892e271fb3080c3c26e6453d939dd1d68 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:46 2013 +0100 build: use -$(CONFIG_SECCOMP) instead of ifeq Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 659800159092333593084593abed2d85c51c5a16 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Jan 19 11:06:45 2013 +0100 build: move around libcacard-y definition It is also needed if !CONFIG_SOFTMMU, unlike everything that surrounds it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5f7a74a1a605d2065c3d74e42b563d69241089ec Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 15 09:49:35 2013 +0100 tests: adjust gcov variables for directory movement I had missed the introduction of the gcov-files-* variables. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f5fba9d27f14603dc7f85779e7b7362fb1cfcbd8 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:55 2013 +0000 PPC: e500: Select MPIC v4.2 on ppce500 platform The compatible string is changed to fsl,mpic on all e500 platforms, to advertise the existence of BRR1. This matches what the device tree will have on real hardware. With MPIC v4.2 max_cpu can be increased from 15 to 32. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bd25922e737a2c90668a7bdd1e1319413a7a51f3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:54 2013 +0000 PPC: e500: fix mpic_iack address MPIC+0xa0 is IACK for the current CPU. MPIC+0x200a0 is IACK for CPU 0. This fix allows EPR to work with an SMP target. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e0dfe5b18919a6a4deb841dcf3212e3e998c95e5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:53 2013 +0000 openpic: add basic support for MPIC v4.2 Besides the new value in the version register, this provides: - ILR support, which includes: - IDR becoming a pure CPU bitmap, allowing 32 CPUs - machine check output support (though other parts of QEMU need to be fixed for it to do something other than immediately reboot the guest) - dummy error interrupt support (EISR0/EIMR0 read as zero) - actually all FSL MPICs get all summary registers returning zero for now, which includes EISR0/EIMR0 Various refactoring is done to support these changes and to ease new functionality (e.g. a more flexible way of declaring regions). Just as the code was already not a full implementation of MPIC v2.0, this is not a full implementation of MPIC v4.2 -- e.g. it still has only one bank of MSIs. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 03274d44f655f7b822e845e79fa32b261cdb0774 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:52 2013 +0000 openpic: fix timer address decoding The timer memory range begins at 0x10f0, so that address 0x1120 shows up as 0x30, 0x1130 shows up as 0x40, etc. However, the address decoding (other than TFRR) is not adjusted for this, causing the wrong registers to be accessed. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f40c360c0da020a1a478f8e60dd205d7412bc315 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Jan 21 15:53:51 2013 +0000 openpic: fix remaining issues from idr-to-destmask conversion openpic_update_irq() was checking idr rather than destmask, treating it as if it were a simple bitmap of cpus. Changed to use destmask. IPI delivery was removing bits directly from .idr, without calling write_IRQreg_idr so that the change could be conveyed to destmask. Changed to use destmask directly. Save/restore destmask when serializing, as due to the IPI change it cannot be reproduced from idr. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1ea1ce8ac305d9e006bc8b0f5f3554793fd2fa43 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 23 17:20:43 2013 +0000 pseries: Adjust default VIO address allocations to play better with libvirt Currently, if VIO devices for pseries don't have addresses explicitly allocated, they get automatically numbered from 0x1000. This is in the same general range that libvirt will typically assign VIO device addresses. That means that if there is a device libvirt doesn't know about, and it gets an address assigned before the libvirt assigned devices are processed, we can end up with an address conflict (qemu will abort with an error). While the real solution is to teach libvirt about the other devices, so it can correctly manage the whole allocation, this patch reduces the interim inconvenience by moving qemu allocations to a range that libvirt is less likely to conflict with. Because the guest gets the device addresses through the device tree, these addresses are truly arbitrary and can be changed without breaking guests. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit caae58cba07efec5f0616f568531c9dfaf1e9179 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jan 23 17:20:39 2013 +0000 pseries: Improve handling of multiple PCI host bridges Multiple - even many - PCI host bridges (i.e. PCI domains) are very common on real PAPR compliant hardware. For reasons related to the PAPR specified IOMMU interfaces, PCI device assignment with VFIO will generally require at least two (virtual) PHBs and possibly more depending on which devices are assigned. At the moment the qemu PAPR PCI code will not deal with this well, leaving several crucial parameters of PHBs other than the default one uninitialized. This patch reworks the code to allow this. Every PHB needs a unique BUID (Bus Unit Identifier, the id used for the PAPR PCI related interfaces) and a unique LIOBN (Logical IO Bus Number, the id used for the PAPR IOMMU related interfaces). In addition they need windows in CPU real address space to access PCI memory space, PCI IO space and MSIs. Properties are added to the PCI host bridge qdevice to allow configuration of all these. To simplify configuration of multiple PHBs for common cases, a convenience "index" property is also added. This can be set instead of the low-level properties, and will generate suitable values for the other parameters, different for each index value. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fe828a4d4b7a5617cda7b24e95e327bfb71d790e Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 23 17:20:38 2013 +0000 target-ppc: Give a meaningful error if too many threads are specified Currently the target-ppc tcg code only supports a single thread. You can specify more, but they're treated identically to multiple cores. On KVM we obviously can't support more threads than the hardware; if more are specified it will cause strange and cryptic errors. This patch clarifies the situation by giving a simple meaningful error if more threads are specified than we can support. Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 293c867d8c7399d17e6b593053411a6515171f38 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:05 2013 +0000 cuda: Move ADB bus into CUDA state Replace the global adb_bus with a CUDA-internal one, accessed using regular qdev child bus accessor. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2e4a7c9c5df442d4223e738f7e8f73192b8b2a65 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:04 2013 +0000 adb: QOM'ify ADB devices They were not qdev'ified before. Derive ADBDevice from DeviceState and convert reset callbacks to DeviceClass::reset, ADBDevice::opaque pointer to ADBDevice subtypes for mouse and keyboard and adb_{kbd,mouse}_init() to regular qdev functions. Fixing Coding Style issues and splitting keyboard and mouse off into their own files is left for a later point in time. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 84ede329083b649c54f078276e7e06d48e910b9d Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:03 2013 +0000 adb: QOM'ify Apple Desktop Bus It was not a qbus before, turn it into a first-class bus and initialize it properly from CUDA. Leave it a global variable as long as devices are not QOM'ified yet. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 45fa67fb68e73b395cd93ec97e45785944d4ee6a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:02 2013 +0000 cuda: QOM'ify CUDA It was not qdev'ified before. Turn it into a SysBusDevice and embed it in MacIO. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:01 2013 +0000 ide/macio: QOM'ify MacIO IDE It was not qdev'ified before. Turn it into a SysBusDevice. Embed them into the MacIO devices. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 95ed3b7cf1677dc9f995a6e1fcc7bf377cf94a0e Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:04:00 2013 +0000 mac_nvram: QOM'ify MacIO NVRAM It was not qdev'ified before. Turn it into a SysBusDevice and initialize it via static properties. Prepare Old World specific MacIO state and embed the NVRAM state there. Drop macio_nvram_setup_bar() in favor of sysbus_mmio_map() or direct use of Memory API. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d8c6d07fdff2523ca78f95c7d8a7fe90ee7ea5a7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:59 2013 +0000 mac_nvram: Mark as Big Endian Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3743cca7d55c700e727e958d4a0b0b5d6c15e2e8 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:58 2013 +0000 mac_nvram: Clean up public API The state data field is accessed in uint8_t quantities, so switch from uint32_t argument and return value to uint8_t. Fix debug format specifiers while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d037834a9d3847499e8a146bd1893a5c856411be Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:57 2013 +0000 macio: Split MacIO in two Let the machines create two different types. This prepares to move knowledge about sub-devices from the machines into the devices. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7b925079e36cf26ca2e1f8db84b771ddc3d6340c Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:56 2013 +0000 macio: Delay qdev init until all fields are initialized This turns macio_bar_setup() into an implementation detail of the qdev initfn, to be removed step by step. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit fcf1bbabf4de3bc125c4dff18ea1cb76d76f042a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:55 2013 +0000 macio: QOM'ify some more Move bar MemoryRegion initialization to an instance_init. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit baec19105bb9824593bf6f37556302da2f67e583 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 23 23:03:54 2013 +0000 ppc: Move Mac machines to hw/ppc/ Signed-off-by: Andreas Färber <afaerber@xxxxxxx> [agraf: squash in MAINTAINERS fix] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 67bec53d9f2ccd3aa7d37a7e0689122587929220 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Jan 24 12:50:28 2013 +0100 ide: Add fall through annotations Add comments to help static analysers detect that these cases are intentional, and clean up some whitespace in the environment of these comments. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> commit 8689907266b649b757c2203d9652cbe928a3ae0b Author: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Date: Thu Jan 24 10:00:40 2013 -0800 block: Create proper size file for disk mirror The qmp monitor command to mirror a disk was passing -1 for size along with the disk's backing file. This size of the resulting disk is the size of the backing file, which is incorrect if the disk has been resized. Therefore we should always pass in the size of the current disk. Signed-off-by: Vishvananda Ishaya <vishvananda@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a26230218d7d66ec5cb1aec101ceaf0e7400ef7f Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Fri Jan 4 14:44:42 2013 -0500 ahci: Add migration support Jason tested these patches by migrating Windows 7 and Fedora 17 guests (while under I/O) on both piix with ahci attached and on q35 (which has a built-in AHCI controller). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4ac557c89b04d506c876a0a378e815d822261c8a Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Jan 15 16:12:09 2013 +0100 ahci: Change data types in preparation for migration The size of an int depends on the host, so in order to be able to migrate these fields, make them either int32_t or bool, depending on the use. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1147bb15a715a907a91195c2ed601fc926e43d46 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Fri Jan 4 14:44:41 2013 -0500 ahci: Remove unused AHCIDevice fields 'dma_status' and 'dma_cb' are written to, but never read. Remove these fields in preparation for AHCI migration bits. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1b0952445522af73b0e78420a9078b3653923703 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 15:01:12 2013 +0100 hbitmap: add assertion on hbitmap_iter_init hbitmap_iter_init causes an out-of-bounds access when the "first" argument is or greater than or equal to the size of the bitmap. Forbid this with an assertion, and remove the failing testcase. Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 88ff0e48eedd679a9dc1122676d8aa29f8d07571 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 15:01:11 2013 +0100 mirror: do nothing on zero-sized disk On a zero-sized disk we need to break out of the job successfully before bdrv_dirty_iter_init is called, otherwise you will get an assertion failure with the next patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0e87ba2ccbf900cc5a56b95e0671e5a5d2c2f6a0 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:28 2013 +0100 block/vdi: Check for bad signature vdi_open did not check for a bad signature. This check was only in vdi_probe. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8937f8222c14ab42140a5645c34e17cc620c05bb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:27 2013 +0100 block/vdi: Improved return values from vdi_open vdi_open returned -1 in case of any error, but it should return an error code (negative value of errno or -EMEDIUMTYPE). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9f0470bb2d7942c28977296ff2598cdf30886e07 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:26 2013 +0100 block/vdi: Improve debug output for signature The signature is a 32 bit value and needs up to 8 hex digits for printing. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 15bac0d54f78adb5e255155a69e56ab7f6d8c8ea Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:25 2013 +0100 block: Use error code EMEDIUMTYPE for wrong format in some block drivers This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk when a file with the wrong format is selected. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 02582abd48aa3d860015e9a8fcd0d7ec1c34ec62 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Jan 17 21:45:24 2013 +0100 block: Add special error code for wrong format The block drivers need a special error code for "wrong format". From the available error codes EMEDIUMTYPE fits best. It is not available on all platforms, so a definition in qemu-common.h and a specific error report are needed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 884fea4e87fbc6daf4e6df618bb3cadc188dcc6b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:15 2013 +0100 mirror: support arbitrarily-sized iterations Yet another optimization is to extend the mirroring iteration to include more adjacent dirty blocks. This limits the number of I/O operations and makes mirroring efficient even with a small granularity. Most of the infrastructure is already in place; we only need to put a loop around the computation of the origin and sector count of the iteration. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 402a47411bff5e849dc880dd08ba7e6564e6e4f4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:14 2013 +0100 mirror: support more than one in-flight AIO operation With AIO support in place, we can start copying more than one chunk in parallel. This patch introduces the required infrastructure for this: the buffer is split into multiple granularity-sized chunks, and there is a free list to access them. Because of copy-on-write, a single operation may already require multiple chunks to be available on the free list. In addition, two different iterations on the HBitmap may want to copy the same cluster. We avoid this by keeping a bitmap of in-flight I/O operations, and blocking until the previous iteration completes. This should be a pretty rare occurrence, though; as long as there is no overlap the next iteration can start before the previous one finishes. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 08e4ed6cdeeee7912072cf14aa8ab6c60dacb4fb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:13 2013 +0100 mirror: add buf-size argument to drive-mirror This makes sense when the next commit starts using the extra buffer space to perform many I/O operations asynchronously. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit bd48bde8f0fa08dfc8edcafc2bc8aa6d43734463 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 09:03:12 2013 +0100 mirror: switch mirror_iteration to AIO There is really no change in the behavior of the job here, since there is still a maximum of one in-flight I/O operation between the source and the target. However, this patch already introduces the AIO callbacks (which are unmodified in the next patch) and some of the logic to count in-flight operations and only complete the job when there is none. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit eee13dfe302833944d1176677d12a6ea421a94ea Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:46 2013 +0100 mirror: allow customizing the granularity The desired granularity may be very different depending on the kind of operation (e.g. continuous replication vs. collapse-to-raw) and whether the VM is expected to perform lots of I/O while mirroring is in progress. Allow the user to customize it, while providing a sane default so that in general there will be no extra allocated space in the target compared to the source. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 50717e941b9f306a45292621999eeafbaa954418 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:45 2013 +0100 block: allow customizing the granularity of the dirty bitmap Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit acc906c6c5d5745fe7a3a2ed1bb5f0b1d6d1f21b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:44 2013 +0100 block: return count of dirty sectors, not chunks Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b812f6719c21921a819709098dc018ed151c999b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:43 2013 +0100 mirror: perform COW if the cluster size is bigger than the granularity When mirroring runs, the backing files for the target may not yet be ready. However, this means that a copy-on-write operation on the target would fill the missing sectors with zeros. Copy-on-write only happens if the granularity of the dirty bitmap is smaller than the cluster size (and only for clusters that are allocated in the source after the job has started copying). So far, the granularity was fixed to 1MB; to avoid the problem we detected the situation and required the backing files to be available in that case only. However, we want to lower the granularity for efficiency, so we need a better solution. The solution is to always copy a whole cluster the first time it is touched. The code keeps a bitmap of clusters that have already been allocated by the mirroring job, and only does "manual" copy-on-write if the chunk being copied is zero in the bitmap. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 343bded4ecfc467012e2ab675da75749f1d90f70 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:42 2013 +0100 block: make round_to_clusters public This is needed in the following patch. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8f0720ecbc3677e13fc7531588fc3831cc972ee4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:41 2013 +0100 block: implement dirty bitmap using HBitmap This actually uses the dirty bitmap in the block layer, and converts mirroring to use an HBitmapIter. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> (except block/mirror.c parts) Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4c37ef022381e777251d7084591978a4dc622efe Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:39 2013 +0100 host-utils: add ffsl We can provide fast versions based on the other functions defined by host-utils.h. Some care is required on glibc, which provides ffsl already. Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e7c033c3fa22a1e42d9ba57fed6ddecfbce3a01c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 21 17:09:40 2013 +0100 add hierarchical bitmap data type and test cases HBitmaps provides an array of bits. The bits are stored as usual in an array of unsigned longs, but HBitmap is also optimized to provide fast iteration over set bits; going from one bit to the next is O(logB n) worst case, with B = sizeof(long) * CHAR_BIT: the result is low enough that the number of levels is in fact fixed. In order to do this, it stacks multiple bitmaps with progressively coarser granularity; in all levels except the last, bit N is set iff the N-th unsigned long is nonzero in the immediately next level. When iteration completes on the last level it can examine the 2nd-last level to quickly skip entire words, and even do so recursively to skip blocks of 64 words or powers thereof (32 on 32-bit machines). Given an index in the bitmap, it can be split in group of bits like this (for the 64-bit case): bits 0-57 => word in the last bitmap | bits 58-63 => bit in the word bits 0-51 => word in the 2nd-last bitmap | bits 52-57 => bit in the word bits 0-45 => word in the 3rd-last bitmap | bits 46-51 => bit in the word So it is easy to move up simply by shifting the index right by log2(BITS_PER_LONG) bits. To move down, you shift the index left similarly, and add the word index within the group. Iteration uses ffs (find first set bit) to find the next word to examine; this operation can be done in constant time in most current architectures. Setting or clearing a range of m bits on all levels, the work to perform is O(m + m/W + m/W^2 + ...), which is O(m) like on a regular bitmap. When iterating on a bitmap, each bit (on any level) is only visited once. Hence, The total cost of visiting a bitmap with m bits in it is the number of bits that are set in all bitmaps. Unless the bitmap is extremely sparse, this is also O(m + m/W + m/W^2 + ...), so the amortized cost of advancing from one bit to the next is usually constant. Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 49b6d7220bce42e6c06e0dbb61969a997868491f Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 25 00:03:21 2013 +0800 QAPI: Introduce memchar-read QMP command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 1f590cf9455c571799d1bfc0777255fa0796d4da Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 25 00:03:20 2013 +0800 QAPI: Introduce memchar-write QMP command Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 51767e7cf2c3abc07d30009ab3d6262bdfd89b8b Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Jan 25 00:03:19 2013 +0800 qemu-char: Add new char backend CirMemCharDriver Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 045a70857ac07de791ddbf313323c4e4f91e056e Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Dec 4 12:04:39 2012 -0200 docs: document virtio-balloon stats Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 7e6ccd9c159450e79f42d08112ebe263b0466644 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Sat Dec 1 00:14:57 2012 -0200 balloon: re-enable balloon stats The statistics are now available through device properties via a polling mechanism. First a client has to enable polling, then it can query available stats. Polling is enabled by setting an update interval (in seconds) to a property named guest-stats-polling-interval, like this: { "execute": "qom-set", "arguments": { "path": "/machine/peripheral-anon/device[1]", "property": "guest-stats-polling-interval", "value": 4 } } Then the available stats can be retrieved by querying the guest-stats property. The returned object is a dict containing all available stats. Example: { "execute": "qom-get", "arguments": { "path": "/machine/peripheral-anon/device[1]", "property": "guest-stats" } } { "return": { "stats": { "stat-swap-out": 0, "stat-free-memory": 844943360, "stat-minor-faults": 219028, "stat-major-faults": 235, "stat-total-memory": 1044406272, "stat-swap-in": 0 }, "last-update": 1358529861 } } Please, check the next commit for full documentation. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 01ceb97e7b8b00a1d4779543fe4b958df7e16890 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Mon Dec 3 15:56:41 2012 -0200 balloon: drop old stats code & API Next commit will re-enable balloon stats with a different interface, but this old code conflicts with it. Let's drop it. It's important to note that the QMP and HMP interfaces are also dropped by this commit. That shouldn't be a problem though, because: 1. All QMP fields are optional 2. This feature has always been disabled Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 58513bde833804bc9395d79fd81aae631b97c348 Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Fri Jan 18 12:45:35 2013 -0500 block: Monitor command commit neglects to report some errors The non-live bdrv_commit() function may return one of the following errors: -ENOTSUP, -EBUSY, -EACCES, -EIO. The only error that is checked in the HMP handler is -EBUSY, so the monitor command 'commit' silently fails for all error cases other than 'Device is in use'. Report error using monitor_printf() and strerror(), and convert existing qerror_report() calls in do_commit() to monitor_printf(). Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 11c29918be32be5b00f367c7da9724a5cddbbb0f Merge: b37a2e4... 7371d56... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 24 12:56:02 2013 -0600 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Paolo Bonzini (1) and Peter Lieven (1) # Via Paolo Bonzini * bonzini/scsi-next: iscsi: add support for iovectors iscsi: do not leak acb->buf when commands are aborted commit b37a2e4576530597dda880387e3f4da52c42b5b5 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Wed Sep 19 12:08:31 2012 +0400 Revert "serial: fix retry logic" This reverts commit 67c5322d7000fd105a926eec44bc1765b7d70bdd: I'm not sure if the retry logic has ever worked when not using FIFO mode. I found this while writing a test case although code inspection confirms it is definitely broken. The TSR retry logic will never actually happen because it is guarded by an 'if (s->tsr_rety > 0)' but this is the only place that can ever make the variable greater than zero. That effectively makes the retry logic an 'if (0) I believe this is a typo and the intention was >= 0. Once this is fixed thoug I see double transmits with my test case. This is because in the non FIFO case, serial_xmit may get invoked while LSR.THRE is still high because the character was processed but the retransmit timer was still active. We can handle this by simply checking for LSR.THRE and returning early. It's possible that the FIFO paths also need some attention. Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> Even if the previous logic was never worked, new logic breaks stuff - namely, qemu -enable-kvm -nographic -kernel /boot/vmlinuz-$(uname -r) -append console=ttyS0 -serial pty the above command will cause the virtual machine to stuck at startup using 100% CPU till one connects to the pty and sends any char to it. Note this is rather typical invocation for various headless virtual machines by libvirt. So revert this change for now, till a better solution will be found. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7371d56fb2759f52106c76692440d0c29731ef9c Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Dec 3 20:35:15 2012 +0100 iscsi: add support for iovectors This patch adds support for directly passing the iovec array from QEMUIOVector if libiscsi supports it (1.8.0 or newer). Signed-off-by: Peter Lieven <pl@xxxxxxx> [Preserve the improvements from commit 4cc841b, iscsi: partly avoid iovec linearization in iscsi_aio_writev, 2012-11-19 - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4790b03d308f6c7dea7dc6941ddab9867c9530b8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 22 17:34:29 2013 +0100 iscsi: do not leak acb->buf when commands are aborted acb->buf is freed in the WRITE(16) callback, but this may not get called at all when commands are aborted. Add another free in the ABORT TASK callback, which requires setting acb->buf to NULL everywhere. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3f668b6c5dc9747d0367837532c3b2ce0520cc17 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 24 10:51:47 2013 +0100 target-cris: Fix typo in D_LOG() macro It's __VA_ARGS__. Fixes the build with CRIS_[OP_]HELPER_DEBUG defined. Broken since r6338 / 93fcfe39a0383377e647b821c9f165fd927cd4e0 (Convert references to logfile/loglevel to use qemu_log*() macros). Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 9fc7577af56153a4f75709ce526d64bf6845d002 Author: Grant Likely <grant.likely@xxxxxxxxxxxx> Date: Wed Jan 23 16:15:25 2013 +0000 trivial: etraxfs_eth: Eliminate checkpatch errors This is a trivial patch to harmonize the coding style on hw/etraxfs_eth.c. This is in preparation to split off the bitbang mdio code into a separate file. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx> Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 177f7fc6884c47666f6c6eeca376a92432ccda38 Merge: 36ba580... 0bf8264... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 23 09:08:54 2013 -0600 Merge remote-tracking branch 'bonzini/scsi-next' into staging # By Peter Lieven (3) and others # Via Paolo Bonzini * bonzini/scsi-next: scsi: Drop useless null test in scsi_unit_attention() lsi: use qbus_reset_all to reset SCSI bus scsi: fix segfault with 0-byte disk iscsi: add support for iSCSI NOPs [v2] iscsi: partly avoid iovec linearization in iscsi_aio_writev iscsi: add iscsi_create support commit 36ba58044e70a82b93e84b1f31076df847f23109 Merge: a29a6b7... 3470733... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 23 09:08:33 2013 -0600 Merge remote-tracking branch 'kraxel/usb.77' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/usb.77: usb: add usb-bot device (scsi bulk-only transport). ohci: add missing break Revert "usb-storage: Drop useless null test in usb_msd_handle_data()" commit a29a6b73c4f17db6f82fd8d2094e824c04b29fee Merge: 1356b98... 038c187... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 23 09:07:29 2013 -0600 Merge remote-tracking branch 'spice/spice.v68' into staging # By Alon Levy # Via Gerd Hoffmann * spice/spice.v68: qxl: change rom size to 8192 qxl: stop using non revision 4 rom fields for revision < 4 commit 0bf8264e2d2bd19c1eecf9bde0e59284ef47eabb Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 17 13:07:47 2013 +0100 scsi: Drop useless null test in scsi_unit_attention() req was created by scsi_req_alloc(), which initializes req->dev to a value it dereferences. req->dev isn't changed anywhere else. Therefore, req->dev can't be null. Drop the useless null test; it spooks Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> commit 032f0101aa6e009efda3a419379837ebceaeade1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 11:23:25 2012 +0100 lsi: use qbus_reset_all to reset SCSI bus Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0369f06f7464e7fb023f103aff889d28e99c43c4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:08:05 2013 +0100 scsi: fix segfault with 0-byte disk When a 0-sized disk is found, READ CAPACITY will return a LUN NOT READY error. However, because it returns -1 instead of zero, the HBA will call scsi_req_continue. This will typically cause a segmentation fault or an assertion failure. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5b5d34ec9882b29b757f6808693308e52a8e8ba7 Author: Peter Lieven <pl@xxxxxxx> Date: Thu Dec 6 10:46:47 2012 +0100 iscsi: add support for iSCSI NOPs [v2] This patch will send NOP-Out PDUs every 5 seconds to the iSCSI target. If a consecutive number of NOP-In replies fail a reconnect is initiated. iSCSI NOPs help to ensure that the connection to the target is still operational. This should not, but in reality may be the case even if the TCP connection is still alive if there are bugs in either the target or the initiator implementation. v2: - track the NOPs inside libiscsi so libiscsi can reset the counter in case it initiates a reconnect. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4cc841b57c1dc91d71bafc25b53ffab4eff7959b Author: Peter Lieven <pl@xxxxxxxxx> Date: Mon Nov 19 15:58:31 2012 +0100 iscsi: partly avoid iovec linearization in iscsi_aio_writev libiscsi expects all write16 data in a linear buffer. If the iovec only contains one buffer we can skip the linearization step as well as the additional malloc/free and pass the buffer directly. Reported-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit de8864e5ae645fc22aa4ecf1999705c2dd5cf93c Author: Peter Lieven <pl@xxxxxxxxx> Date: Sat Nov 17 16:13:24 2012 +0100 iscsi: add iscsi_create support This patch adds support for bdrv_create. This allows e.g. to use qemu-img to convert from any supported device to an iscsi backed storage as destination. Signed-off-by: Peter Lieven <pl@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 347073336d393a819928de0d4fd56563134c0e1a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 14 15:29:44 2013 +0100 usb: add usb-bot device (scsi bulk-only transport). Basically the same as usb-storage, but without automatic scsi device setup. Also features support for up to 16 LUNs. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7fa96d73893728752ec7b832a62a48c434748497 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 21 14:53:01 2013 +0100 ohci: add missing break Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 038c1879a00153b14bce113315b693e8c2944fa9 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Jan 21 14:48:07 2013 +0200 qxl: change rom size to 8192 This is a simpler solution to 869981, where migration breaks since qxl's rom bar size has changed. Instead of ignoring fields in QXLRom, which is what has actually changed, we remove some of the modes, a mechanism already accounted for by the guest. The modes left allow for portrait and landscape only modes, corresponding to orientations 0 and 1. Orientations 2 and 3 are dropped. Added assert so that rom size will fit the future QXLRom increases via spice-protocol changes. This patch has been tested with 6.1.0.10015. With the newer 6.1.0.10016 there are problems with both "(flipped)" modes prior to the patch, and the patch loses the ability to set "Portrait" modes. But this is a separate bug to be fixed in the driver, and besides the patch doesn't affect the new arbitrary mode setting functionality. Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f4c0e5011b96d67b87db407854ee948da708a0d9 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 21 11:18:47 2013 +0100 Revert "usb-storage: Drop useless null test in usb_msd_handle_data()" This reverts commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2. Test isn't useless. scsi_req_enqueue() may finish the request (will actually happen for requests which don't trigger any I/O such as INQUIRY), then call usb_msd_command_complete() which in turn will set s->req to NULL after unref'ing it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e0ac6097b6cc24694e83ae61e80040177bb5a584 Author: Alon Levy <alevy@xxxxxxxxxx> Date: Mon Jan 21 14:48:06 2013 +0200 qxl: stop using non revision 4 rom fields for revision < 4 Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f9e90c798dc84be2b0b988517e86b49faf79d5dc Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Thu Jan 10 23:02:48 2013 -0200 vmxcap: bit 9 of VMX_PROCBASED_CTLS2 is 'virtual interrupt delivery' Bit 9 of MSR_IA32_VMX_PROCBASED_CTLS2 is virtual interrupt delivery. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit 1356b98d3e95a85071e6bf9a99e8799e1ae1bbee Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 02:47:33 2013 +0100 sysbus: Drop sysbus_from_qdev() cast macro Replace by SYS_BUS_DEVICE() QOM cast macro using a scripted conversion. Avoids the old macro creeping into new code. Resolve a Coding Style warning in openpic code. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6fd8e79af031d8cfc0eb02d40d03281917fcb27b Author: Tim Hardeck <thardeck@xxxxxxx> Date: Mon Jan 21 11:04:45 2013 +0100 vnc: fix possible uninitialized removals Some VncState values are not initialized before the Websocket handshake. If it fails QEMU segfaults during the cleanup. To prevent this behavior intialization checks are added. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7536ee4bc3da7e9b7fdadba5ba6ade63eaace430 Author: Tim Hardeck <thardeck@xxxxxxx> Date: Mon Jan 21 11:04:44 2013 +0100 vnc: added initial websocket protocol support This patch adds basic Websocket Protocol version 13 - RFC 6455 - support to QEMU VNC. Binary encoding support on the client side is mandatory. Because of the GnuTLS requirement the Websockets implementation is optional (--enable-vnc-ws). To activate Websocket support the VNC option "websocket"is used, for example "-vnc :0,websocket". The listen port for Websocket connections is (5700 + display) so if QEMU VNC is started with :0 the Websocket port would be 5700. As an alternative the Websocket port could be manually specified by using ",websocket=<port>" instead. Parts of the implementation base on Anthony Liguori's QEMU Websocket patch from 2010 and on Joel Martin's LibVNC Websocket implementation. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 32ed26808d4e59efb4a03290a4a85f5f8335f268 Author: Tim Hardeck <thardeck@xxxxxxx> Date: Mon Jan 21 11:04:43 2013 +0100 vnc: added buffer_advance function Following Anthony Liguori's Websocket implementation I have added the buffer_advance function to VNC and replaced all related buffer memmove operations with it. Signed-off-by: Tim Hardeck <thardeck@xxxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 11e9235b1a88a98124fe005c93ade019d6a09c0b Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:06 2013 +0100 virtio-s390-device: create a virtio-s390-bus during init. A virtio-s390-bus is created during the init. So one VirtIODevice can be connected on the virtio-s390-device through this bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ea35d4f1e9781a4b489d550e4bbc4568704f34bf Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:05 2013 +0100 virtio-s390-bus: add virtio-s390-bus. This add the virtio-s390-bus which extends virtio-bus. So one VirtIODevice can be connected on this bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 085bccb72c280f36f651556ef5169f5faca31d87 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:04 2013 +0100 virtio-pci: refactor virtio-pci device. Create the virtio-pci device which is abstract. This transport device will create a virtio-pci-bus, so one VirtIODevice can be connected. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0a2acf5eb3237350e84693b9b37eced5080a1fef Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:03 2013 +0100 virtio-pci-bus: introduce virtio-pci-bus. Introduce virtio-pci-bus, which extends virtio-bus. It is used with virtio-pci transport device. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e05db9234050cb3f0ffb765608dd8b176334ae1 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:02 2013 +0100 virtio-device: refactor virtio-device. Create the virtio-device which is abstract. All the virtio-device can extend this class. It also add some functions to virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ff8eca5536edd3f84bc87277e158e4db11dadf82 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:01 2013 +0100 virtio-bus: introduce virtio-bus Introduce virtio-bus. Refactored transport device will create a bus which extends virtio-bus. Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 1395af6f76e9f0e145a235a71e3578385d82ece5 Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Tue Jan 15 00:08:00 2013 +0100 qdev: add a maximum device allowed field for the bus. Add a max_dev field to BusClass to specify the maximum amount of devices allowed on the bus (has no effect if max_dev=0) Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 016c7182315b1f842ac351fae86041d2c8fe4596 Merge: e0f0183... 6522773... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 21 13:22:43 2013 -0600 Merge remote-tracking branch 'quintela/thread.next' into staging # By Juan Quintela (7) and Paolo Bonzini (6) # Via Juan Quintela * quintela/thread.next: migration: remove argument to qemu_savevm_state_cancel migration: Only go to the iterate stage if there is anything to send migration: unfold rest of migrate_fd_put_ready() into thread migration: move exit condition to migration thread migration: Add buffered_flush error handling migration: move beginning stage to the migration thread qemu-file: Only set last_error if it is not already set migration: fix off-by-one in buffered_rate_limit migration: remove double call to migrate_fd_close migration: make function static use XFER_LIMIT_RATIO consistently Protect migration_bitmap_sync() with the ramlist lock Unlock ramlist lock also in error case commit e0f01837e104517c7c511c79bb93c8792b7263e5 Merge: f2bdbd5... 09a021f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 21 07:32:22 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging # By Stefan Weil (2) and others # Via Stefan Hajnoczi * stefanha/trivial-patches: hw/tpci200: Fix compiler warning (redefined symbol with MinGW) configure: silence pkg-config's check for curses acpitable: open the data file in binary mode hw: Spelling fix in log message commit f2bdbd5bb4b7869ea48845d5a92979290df6f195 Merge: 56a8810... 3588185... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 21 07:32:14 2013 -0600 Merge remote-tracking branch 'kraxel/seabios-1.7.2' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2: seabios: update to 1.7.2 release commit 56a8810dd6686a999e47afa5c1870c66485ef1c6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 03:26:12 2013 +0100 target-microblaze: Drop unused cpu_mb_close() prototype Such a function never existed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit a42a56c5deeedebe650469640ebe77d80e1eefb5 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 20 03:20:58 2013 +0100 target-cris: Drop unused cpu_cris_close() prototype Such a function never existed. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 09a021fb7ceb7255ab106999d7b38ffd92c3bdd6 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jan 21 07:49:51 2013 +0100 hw/tpci200: Fix compiler warning (redefined symbol with MinGW) STATUS_TIMEOUT is defined in winnt.h: CC hw/tpci200.o hw/tpci200.c:34:0: warning: "STATUS_TIMEOUT" redefined [enabled by default] /usr/lib/gcc/x86_64-w64-mingw32/4.6/../../../../x86_64-w64-mingw32/include/winnt.h:1036:0: note: this is the location of the previous definition Use STATUS_TIME instead of STATUS_TIMEOUT as suggested by Alberto Garcia. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit acf15c8949f125a4d4f958a5134f8eeece1f99f5 Author: Vadim Evard <v.e.evard@xxxxxxxxx> Date: Fri Jan 18 17:48:04 2013 +0400 configure: silence pkg-config's check for curses Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5facfb4934221cac2c267e529d7ebab165103bc9 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jan 17 14:53:52 2013 +0400 acpitable: open the data file in binary mode -acpitable {file|data}=file reads the content of file, but it is in binary form, so the file should be opened usin O_BINARY flag. On *nix it is a no-op, but on windows and other weird platform it is really needed. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d0f54533eb484028f54d3f9810d504cb63f323ee Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:40:29 2013 +0100 hw: Spelling fix in log message defineition -> definition Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3588185b8396eb97fd9efd41c2b97775465f67c4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 21 09:17:16 2013 +0100 seabios: update to 1.7.2 release Not that many changes as we have a pretty recent git snapshot in master already: Hannes Reinecke (1): megasas: Invert PCI device selection Kevin O'Connor (2): Minor: Separate UUID display from F12 boot prompt. boot: Support "halt" in the boot order to prevent default boot attempts. Laszlo Ersek (1): display_uuid(): fix incomplete check after the loop Paolo Bonzini (1): vgabios: implement AX=1120H..1124H functions commit 8b17ed4caa7e015324a4ecbe3c863e32458d840a Merge: b54c287... cf13938... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Sun Jan 20 11:01:10 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging # By Kevin Wolf (4) and others # Via Stefan Hajnoczi * stefanha/block: dataplane: support viostor virtio-pci status bit setting dataplane: avoid reentrancy during virtio_blk_data_plane_stop() win32-aio: use iov utility functions instead of open-coding them win32-aio: Fix memory leak win32-aio: Fix vectored reads aio: Fix return value of aio_poll() ide: Remove wrong assertion block: fix null-pointer bug on error case in block commit commit b54c2873e731dd6fc81a4591cab909633b5a9eab Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jan 19 20:23:51 2013 +0100 tci: Fix broken build (regression) s390x-linux-user now also uses GETPC. Instead of adding it to the list of targets which use GETPC, the macro is now defined unconditionally. This avoids future build regressions like this one: CC s390x-linux-user/target-s390x/int_helper.o cc1: warnings being treated as errors qemu/target-s390x/int_helper.c: In function â??helper_divs32â??: qemu/target-s390x/int_helper.c:47: error: implicit declaration of function â??GETPCâ?? qemu/target-s390x/int_helper.c:47: error: nested extern declaration of â??GETPCâ?? Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c36dd8a09fd8811ebcda453d80dc5f52402d691c Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Fri Jan 18 16:43:35 2013 +0100 block/raw-posix: Make hdev_aio_discard() available outside Linux Fixes the build on OpenBSD among others. Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c1db29199e3caf5cd56daad08b8926ffa97da136 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Jan 18 23:48:10 2013 +0100 usb: Fix compilation for MinGW (regression) 84f2d0ea added an argument to function usb_host_info. The stub function must match the declaration in usb.h. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 249fe3f3e99c2a57c7f2569edb4031e63e595c9e Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 18 19:30:13 2013 +0100 cpu-defs.h: Drop qemu_work_item prototype Commit c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e (cpu: Move queued_work_{first,last} to CPUState) moved the qemu_work_item fields away. Clean up the now unused prototype. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5256a7208a7c2af19baf8f99bd4f06632f9f9ba9 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Thu Jan 17 20:04:16 2013 +0000 tcg/target-arm: Add missing parens to assertions Silence a (legitimate) complaint about missing parentheses: tcg/arm/tcg-target.c: In function â??tcg_out_qemu_ldâ??: tcg/arm/tcg-target.c:1148:5: error: suggest parentheses around comparison in operand of â??&â?? [-Werror=parentheses] tcg/arm/tcg-target.c: In function â??tcg_out_qemu_stâ??: tcg/arm/tcg-target.c:1357:5: error: suggest parentheses around comparison in operand of â??&â?? [-Werror=parentheses] which meant that we would mistakenly always assert if running a QEMU built with debug enabled on ARM. Signed-off-by: Peter Maydell <peter.maydelL@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit e4ada482420175bc17d6ccb9f2af0e769da78e01 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:37:23 2013 +0100 Replace non-portable asprintf by g_strdup_printf g_strdup_printf already handles OOM errors, so some error handling in QEMU code can be removed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0e7a75929353b04bd2fce1be8640226883b42a10 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:29 2013 +0100 vl: Use size_t for sizes in get_boot_devices_list() Code mixes uint32_t, int and size_t. Very unlikely to go wrong in practice, but clean it up anyway. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 089da572b956ef0f8f5b8d5917358e07892a77c2 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:28 2013 +0100 fw_cfg: Use void *, size_t instead of uint8_t *, uint32_t for blobs Many callers pass size_t, which gets silently truncated to uint32_t. Harmless, because all practical sizes are well below 4GiB. Clean it up anyway. Size overflow now fails assertions. Bonus: saves a whole bunch of silly casts. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b3dd15529de22cd4bcedb6344105e87878d971b6 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:27 2013 +0100 pc: Clean up bochs_bios_init()'s (non-)use of sizeof Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0e0d2d6295076815ded8d0868b7b806380df5dda Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:26 2013 +0100 sun4: Fix unchecked strdup() by switching to fw_cfg_add_string() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 96f8058629d99ab689ff233c6133d6cf7f034679 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:25 2013 +0100 pc: Fix unchecked strdup() by switching to fw_cfg_add_string() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 44687f75434ea938e9d29fdc3696ff4bdc0978fa Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:24 2013 +0100 fw_cfg: New fw_cfg_add_string() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4cad3867b6df2c0826ae508a9fe15dd0b9d8936a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:23 2013 +0100 fw_cfg: Dumb down fw_cfg_add_*() not to return success / failure No caller is checking the value, so all errors get ignored, usually silently. assert() instead. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f6e3534327e94c1c222cbbe8011d47b73c102686 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 14:50:22 2013 +0100 fw_cfg: Replace debug prints by tracepoints Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 633f6502544e3dd6a615679ce440875be7ebbc58 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:42:53 2013 -0800 optimize: optimize using nonzero bits This adds two optimizations using the non-zero bit mask. In some cases involving shifts or ANDs the value can become zero, and can thus be optimized to a move of zero. Second, useless zero-extension or an AND with constant can be detected that would only zero bits that are already zero. The main advantage of this optimization is that it turns zero-extensions into moves, thus enabling much better copy propagation (around 1% code reduction). Here is for example a "test $0xff0000,%ecx + je" before optimization: mov_i64 tmp0,rcx movi_i64 tmp1,$0xff0000 discard cc_src and_i64 cc_dst,tmp0,tmp1 movi_i32 cc_op,$0x1c ext32u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,eq,$0x0 and after (without patch on the left, with on the right): movi_i64 tmp1,$0xff0000 movi_i64 tmp1,$0xff0000 discard cc_src discard cc_src and_i64 cc_dst,rcx,tmp1 and_i64 cc_dst,rcx,tmp1 movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c ext32u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0 Other similar cases: "test %eax, %eax + jne" where eax is already 32-bit (after optimization, without patch on the left, with on the right): discard cc_src discard cc_src mov_i64 cc_dst,rax mov_i64 cc_dst,rax movi_i32 cc_op,$0x1c movi_i32 cc_op,$0x1c ext32u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,ne,$0x0 brcond_i64 rax,tmp12,ne,$0x0 "test $0x1, %dl + je": movi_i64 tmp1,$0x1 movi_i64 tmp1,$0x1 discard cc_src discard cc_src and_i64 cc_dst,rdx,tmp1 and_i64 cc_dst,rdx,tmp1 movi_i32 cc_op,$0x1a movi_i32 cc_op,$0x1a ext8u_i64 tmp0,cc_dst movi_i64 tmp12,$0x0 movi_i64 tmp12,$0x0 brcond_i64 tmp0,tmp12,eq,$0x0 brcond_i64 cc_dst,tmp12,eq,$0x0 In some cases TCG even outsmarts GCC. :) Here the input code has "and $0x2,%eax + movslq %eax,%rbx + test %rbx, %rbx" and the optimizer, thanks to copy propagation, does the following: movi_i64 tmp12,$0x2 movi_i64 tmp12,$0x2 and_i64 rax,rax,tmp12 and_i64 rax,rax,tmp12 mov_i64 cc_dst,rax mov_i64 cc_dst,rax ext32s_i64 tmp0,rax -> nop mov_i64 rbx,tmp0 -> mov_i64 rbx,cc_dst and_i64 cc_dst,rbx,rbx -> nop Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3a9d8b179b1e43237365ede641d5aa6779ba91bc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:42:52 2013 -0800 optimize: track nonzero bits of registers Add a "mask" field to the tcg_temp_info struct. A bit that is zero in "mask" will always be zero in the corresponding temporary. Zero bits in the mask can be produced from moves of immediates, zero-extensions, ANDs with constants, shifts; they can then be be propagated by logical operations, shifts, sign-extensions, negations, deposit operations, and conditional moves. Other operations will just reset the mask to all-ones, i.e. unknown. [rth: s/target_ulong/tcg_target_ulong/] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d193a14a2c94c9c4877ab100c31ec174dc78644c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:42:51 2013 -0800 optimize: only write to state when clearing optimizer data The next patch will add to the TCG optimizer a field that should be non-zero in the default case. Thus, replace the memset of the temps array with a loop. Only the state field has to be up-to-date, because others are not used except if the state is TCG_TEMP_COPY or TCG_TEMP_CONST. [rth: Extracted the loop to a function.] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 75f0585f1718c575716021d11bfeb695129f785d Merge: 67c4f2d... 5b95b8b... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:56:41 2013 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: PPC: KVM: Add support for EPR with KVM openpic: export e500 epr enable into a ppc.c function Update Linux kernel headers PPC: e500: Change in-memory order of load blobs PPC: Provide zero SVR for -cpu e500mc and e5500 PPC: E500: Calculate loading blob offsets properly openpic: set mixed mode as supported openpic: unify gcr mode mask updates openpic: move gcr write into a function commit 67c4f2d0e11de8ee534b17edafbcbcdcca4b0e9b Merge: 48b8599... 28e942f... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:55:46 2013 +0000 Merge branch 's390-for-upstream' of git://repo.or.cz/qemu/agraf * 's390-for-upstream' of git://repo.or.cz/qemu/agraf: s390: Add a hypercall registration interface. target-s390x: Unregister reset callback on finalization s390x: fix indentation s390: Add CPU reset handler s390x: Remove inline function ebcdic_put and related data from cpu.h S390: Enable -cpu help and QMP query-cpu-definitions s390: Move IPL code into a separate device s390: new contributions GPLv2 or later commit 48b8599c991715eeae74f0cb650fc4284cb69227 Merge: ddc01bf... 9468a5d... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 19 09:54:31 2013 +0000 Merge branch 'axp-next' of git://github.com/rth7680/qemu * 'axp-next' of git://github.com/rth7680/qemu: alpha-linux-user: Correct select alpha-linux-user: Translate fcntl l_type commit 28e942f86d46ccd46bf1f4836389abb3ff706dff Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Thu Jan 17 04:23:46 2013 +0000 s390: Add a hypercall registration interface. Allow virtio machines to register for different diag500 function codes and convert s390-virtio to use it. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d5627ce8a4fd8dd6d7afd3d4d1ff7e9f1fb86d45 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Jan 7 06:14:16 2013 +0000 target-s390x: Unregister reset callback on finalization Since commit "s390: Add CPU reset handler" the CPU's instance_init registers a reset callback. Unregister that on instance_finalize. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 419831d7104e6876f47f5eccb758855115086bbd Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 16:44:27 2013 +0100 s390x: fix indentation In one of the last commits we accidently got 3-space indentation into the tree. Fix it up so it's 4 spaces wide. Reported-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 70bada03047f723424c4d08d93719c1a83a43cd2 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 7 05:27:14 2013 +0000 s390: Add CPU reset handler Add a CPU reset handler to have all CPUs in a PoP compliant state. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [agraf: move hw/hw.h into existing ifdef] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a158986d85bf75aa078ce3fb53e60a7fa3c6c6ee Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 08:24:55 2013 +0000 s390x: Remove inline function ebcdic_put and related data from cpu.h The function is only used in misc_helper.c, so move it to that file. This reduces the size of debug executables (compiled without optimization) because they get unused code and data for each compilation which includes cpu.h. Executables with optimization don't change their size. ebcdic2ascii is currently unused and could be removed (not done here). The array ascii2ebcdic must be accessed with an unsigned index, therefore (int)ascii[i] was replaced by (uint8_t)ascii[i]. The old code would have failed for a signed char less than 0. The current code only converts "QEMU" and spaces to EBCDIC, so there is no problem today. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 904e5fd5c25537fdf910bfd5db832df5d9c23ad6 Author: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 18 07:50:59 2012 +0000 S390: Enable -cpu help and QMP query-cpu-definitions This enables qemu -cpu help to return a list of supported CPU models on s390 and also to query for cpu definitions in the monitor. Initially only cpu model = host is returned. This needs to be reworked into a full-fledged CPU model handling later on. This change is needed to allow libvirt exploiters (like OpenStack) to specify a CPU model. Signed-off-by: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [agraf: fix s390x-linux-user, adjust header locations] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e674a49aae8b79bc4ea07f1bcd666bbf28b12a27 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Dec 18 07:50:57 2012 +0000 s390: Move IPL code into a separate device Lets move the code to setup IPL for external kernel or via the zipl rom into a separate file. This allows to - define a reboot handler, setting up the PSW appropriately - enhance the boot code to IPL disks that contain a bootmap that was created with zipl under LPAR or z/VM (future patch) - reuse that code for several machines (e.g. virtio-ccw and virtio-s390) - allow different machines to provide different defaults Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> [agraf: symbolify initial psw, adjust header file location, fix for QOM] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ccb084d3f0ec405afc6c878ace40f1ccf1e44027 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Nov 12 01:44:10 2012 +0000 s390: new contributions GPLv2 or later IBMs s390 contributions were meant to to be gplv2 or later (since we were contributing to qemu). Several of the s390 specific files link to gpl code anyway, so lets clarify the licence statement for new contributions for those files that we have touched multiple times or will likely touch again. This patch does not touch files that mostly deal with tcg. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5b95b8b9c1b0cd30a31dbeffdaec35134248b6e9 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 17 11:54:38 2013 +0100 PPC: KVM: Add support for EPR with KVM This patch links KVM EPR support to the existing TCG support we have now. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e49798b1bd7657722080126bfd5e787efdb3bc23 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 17 11:32:21 2013 +0100 openpic: export e500 epr enable into a ppc.c function Enabling and disabling the EPR capability (mpic_proxy) is a system wide operation. As such, it belongs into the ppc.c file, since that's where PPC specific machine wide logic happens. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d3dccee187ffeacec1a38ed288c112ffa0e3b513 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 18 00:06:26 2013 +0100 Update Linux kernel headers Based on kvm.git a843fac (next) plus dfdebc24 (master). Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b8dec1443ef6c52e72594c5a861a5d2fd7f05d80 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 17 11:19:28 2013 +0100 PPC: e500: Change in-memory order of load blobs Today, we load <kernel> <initrd> <dtb> into memory in that order. However, Linux has a bug where it can only handle the dtb if it's within the first 64MB of where <kernel> starts. So instead, let's change the order to <kernel> <dtb> <initrd> making Linux happy. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 746a870b3c44a6c5734691fec013c78520d55f15 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Jan 16 01:43:43 2013 +0100 PPC: Provide zero SVR for -cpu e500mc and e5500 Even though our -cpu types for e500mc and e5500 are no real CPUs that actually have version registers, a guest might still want to access said version register and that has to succeed for a guest to be happy. So let's expose a zero SVR value on E500_SVR SPR reads. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 528e536ea2fd3bfe8412e39a5623e80b254f3ae0 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 14 20:24:16 2013 +0100 PPC: E500: Calculate loading blob offsets properly We have 3 blobs we need to load when booting the system: - kernel - initrd - dtb We place them in physical memory in that order. At least we should. This patch fixes the location calculation up to take any module into account, fixing the dtb offset along the way. Reported-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 86e56a885aa5051c87906dfcd060c59f0af22309 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 20:17:24 2013 +0100 openpic: set mixed mode as supported The Raven MPIC implementation supports the "Mixed" mode to work with an i8259. While we don't implement mixed mode, we should mark it as a supported mode in the mode bitmap. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1ac3d71302d9d49427dd068af7eccdd4de128522 Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 20:15:28 2013 +0100 openpic: unify gcr mode mask updates The mode mask already masks out bits we don't care about, so the actual handling code can stay intact regardless. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 7f11573b9fe6c03a9ad4cd1bbaa761e564d44fce Author: Alexander Graf <agraf@xxxxxxx> Date: Mon Jan 7 20:13:52 2013 +0100 openpic: move gcr write into a function The GCR register contains too much functionality to be covered inside of the register switch statement. Move it out into a separate function. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cf139388ad5b39228793f34eea99e0ea9a2924aa Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Jan 17 16:46:54 2013 +0100 dataplane: support viostor virtio-pci status bit setting The viostor virtio-blk driver for Windows does not use the VIRTIO_CONFIG_S_DRIVER bit. It only sets the VIRTIO_CONFIG_S_DRIVER_OK bit. The viostor driver refreshes the virtio-pci status byte sometimes while the guest is running. We misinterpret 0x4 (VIRTIO_CONFIG_S_DRIVER_OK) as an indication that virtio-blk-data-plane should be stopped since 0x2 (VIRTIO_CONFIG_S_DRIVER) is missing. The result is that the device becomes unresponsive. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit cd7fdfe59f4f965665dcd9868fe3764f5256d6aa Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jan 15 17:19:38 2013 +0100 dataplane: avoid reentrancy during virtio_blk_data_plane_stop() When dataplane is stopping, the s->vdev->binding->set_host_notifier(..., false) call can invoke the virtqueue handler if an ioeventfd notification is pending. This causes hw/virtio-blk.c to invoke virtio_blk_data_plane_start() before virtio_blk_data_plane_stop() returns! The result is that we try to restart dataplane while trying to stop it and the following assertion is raised: msix_set_mask_notifier: Assertion `!dev->msix_mask_notifier' failed. Although the code was intended to prevent this scenario, the s->started boolean isn't enough. Add s->stopping so that we can postpone clearing s->started until we've completely stopped dataplane. This way, virtqueue handler calls during virtio_blk_data_plane_stop() are ignored. When dataplane is legitimately started again later we already self-kick ourselves to resume processing. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3249dbe661ba6ef108ecde97c54b4a4104d719c3 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Thu Jan 17 18:47:52 2013 +0400 win32-aio: use iov utility functions instead of open-coding them We have iov_from_buf() and iov_to_buf(), use them instead of open-coding these in block/win32-aio.c Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ddc01bf16e9f04b3e72c1b946b0b8efeb7a545d2 Merge: e387f99... 84c44613... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 17 13:09:57 2013 -0600 Merge remote-tracking branch 'luiz/queue/qmp' into staging # By Wenchao Xia # Via Luiz Capitulino * luiz/queue/qmp: HMP: add sub command table to info HMP: move define of mon_cmds HMP: add infrastructure for sub command HMP: delete info handler HMP: add QDict to info callback handler commit e387f99ebc5753ebb5b7602d86e44d064873f83c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 19:42:38 2013 +0200 virtio-pci: fix irqfd cleanup argument order Order of arguments of kvm_virtio_pci_irqfd_release got mixed up in all calls. As a result users see assertions during cleanup. Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 782beb5239c6306b166744e03478a75afb649811 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 17 08:31:50 2013 +0100 qom: Extend documentation on QOM method concepts Add a documentation section "Methods" and discuss among others how to handle overriding virtual methods. Clarify DeviceClass::realize documentation and refer to the above. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 781c0c3321d2bda9a9d7ffe9bf51560f0987b5a0 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Jan 15 08:47:26 2013 +0100 Makefile: drop recursive libcacard clean Commit eb8eb53e5846a957cf333f2e1ec8cb6e0c04 ("libcacard: rewrite Makefile in non-recursive style") refactored libcacard/Makefile so it can be included by the top-level Makefile. The top-level clean target still loops over subdirectories, including libcacard/, to invoke recursive clean. Remove libcacard from the recursive clean since its files are already included at the top level. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6522773f88a2e37800f0bf7dc3632a14649f53c6 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jan 14 14:14:42 2013 +0100 migration: remove argument to qemu_savevm_state_cancel Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b22ff1fbed9d7f1f677804cbaa9ee03ca17d0013 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 21:06:31 2012 +0200 migration: Only go to the iterate stage if there is anything to send Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c369f40d2cb39f4eaaf6589c1113b528256d3a09 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:33:34 2012 +0200 migration: unfold rest of migrate_fd_put_ready() into thread This will allow us finer control in next patches. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7de6a690e73967eb5bc5e72b2942a6be1fee2c20 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:23:43 2012 +0200 migration: move exit condition to migration thread Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f7b67be36d01f8f506dc93213855b31dad17708c Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Dec 10 22:29:14 2012 +0100 migration: Add buffered_flush error handling Now that we have error handling we can do proper handling of buffered_flush(). Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 76f5933aea281a52149b39a1a78a43565dc9715c Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:16:24 2012 +0200 migration: move beginning stage to the migration thread Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit afe419319de1e5e98b131368ba14f85f98ab3a76 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jan 14 13:36:28 2013 +0100 qemu-file: Only set last_error if it is not already set Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1e973051b96bac5eef46393eec15b68796e7c7d3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:30:39 2012 +0100 migration: fix off-by-one in buffered_rate_limit Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 25242635acb0b803392ad5669b5624815af3fd07 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Nov 10 18:58:40 2012 +0100 migration: remove double call to migrate_fd_close The call in buffered_close is enough, because buffered_close is called already by migrate_fd_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit b9c961a8ff3973b97964431491bc3f4f427cd66a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:29:03 2012 +0100 migration: make function static Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit f65a874756bb3e4b57571a33a51d8887bbee7981 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:31:03 2012 +0100 use XFER_LIMIT_RATIO consistently commit 5b4e1eb769eee892b44d3f6b2369b05196442f59 missed this use. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 9c339485f0abb96595f4d91880b177726463300c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:26:04 2012 +0100 Protect migration_bitmap_sync() with the ramlist lock Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit fb3409de22c7c167dced51175500bc4b1a78dcc2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 11:25:45 2012 +0100 Unlock ramlist lock also in error case Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> commit 84c44613f9ad8d13e0d2dbee767051527072dc12 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:29 2013 +0800 HMP: add sub command table to info Now info command takes a table of sub info commands, and changed do_info() to do_info_help() to do help funtion only. Note that now "info <unknown-topic>" returns error instead of list of info topics. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit a13ced59a4f305e37bd89f27f2b18f915889cad1 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:28 2013 +0800 HMP: move define of mon_cmds Because mon_cmds may use info_cmds, so adjust the declare sequence of them. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5f3d335fbdaccc5044bdfe0c6aefb865e48b9100 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:27 2013 +0800 HMP: add infrastructure for sub command This patch make parsing of hmp command aware of that it may have sub command. Also discard simple encapsulation function monitor_find_command(). For case "@command ", space after @command is filtered out. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5f11cb002a342e4fc0f87bb36fbabbc19bf04728 Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:26 2013 +0800 HMP: delete info handler Now cmd and info handler have same format, so delete info handler. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 84f2d0ea0f39bc140a6c69ba8e3ffd6b10cae6fa Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 14:06:25 2013 +0800 HMP: add QDict to info callback handler This patch change all info call back function to take additional QDict * parameter, which allow those command take parameter. Now it is set to NULL at default case. Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit e8bccad5ac6095b5af7946cd72d9aacb57f7c0a3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 21:20:00 2013 +0100 win32-aio: Fix memory leak The buffer is allocated for both reads and writes, and obviously it should be freed even if an error occurs. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bcbbd234d42f1111e42b91376db61922d42e7e9e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 21:19:59 2013 +0100 win32-aio: Fix vectored reads Copying data in the right direction really helps a lot! Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2ea9b58f0bc62445b7ace2381b4c4db7d5597e19 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 19:25:51 2013 +0100 aio: Fix return value of aio_poll() aio_poll() must return true if any work is still pending, even if it didn't make progress, so that bdrv_drain_all() doesn't stop waiting too early. The possibility of stopping early occasionally lead to a failed assertion in bdrv_drain_all(), when some in-flight request was missed and the function didn't really drain all requests. In order to make that change, the return value as specified in the function comment must change for blocking = false; fortunately, the return value of blocking = false callers is only used in test cases, so this change shouldn't cause any trouble. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6bf3ee07ff55aa795010a8e071826f38e9a26112 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Wed Jan 16 10:54:34 2013 +0100 ide: Remove wrong assertion The Bus Master IDE Active bit (BM_STATUS_DMAING) is not only set when the request is still in flight, but also when it has completed and the size of the physical memory regions in the PRDT was larger than the transfer size. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 6d759117d3fd28e38c49c56c9de206cc718d32fa Author: Jeff Cody <jcody@xxxxxxxxxx> Date: Tue Jan 15 10:47:24 2013 -0500 block: fix null-pointer bug on error case in block commit This is a bug that was caught by a coverity run by Markus. In the error case when we errored out to exit_restore_open early in the function, 'overlay_bs' was still NULL at that point, although it is used to look up flags and perform a bdrv_reopen(). Move the overlay_bs lookup to where it is needed, and check for NULL before restoring the flags. Also get rid of the unneeded parameter initialization. Reported-By: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a4cbfe24e4d9f86622ba81b8c5b599c92c682fbc Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Jan 13 16:35:41 2013 +0000 bswap: improve gluing OpenBSD system compiler (gcc 4.2.1) has problems with concatenation of macro arguments in macro functions: CC aes.o In file included from /src/qemu/include/qemu-common.h:126, from /src/qemu/aes.c:30: /src/qemu/include/qemu/bswap.h: In function 'leul_to_cpu': /src/qemu/include/qemu/bswap.h:461: warning: implicit declaration of function 'bswapHOST_LONG_BITS' /src/qemu/include/qemu/bswap.h:461: warning: nested extern declaration of 'bswapHOST_LONG_BITS' Function leul_to_cpu() is only used in kvm-all.c, so the warnings are not fatal on OpenBSD without -Werror. Fix by applying glue(). Also add do {} while(0) wrapping and fix semicolon use while at it. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 47f4dac3fde809e3da4e60d9eb699f1d4b378249 Merge: af381eb... 0a1a7fa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 16 15:20:05 2013 -0600 Merge remote-tracking branch 'kraxel/chardev.1' into staging # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/chardev.1: chardev: add pty chardev support to chardev-add (qmp) chardev: add socket chardev support to chardev-add (qmp) chardev: add parallel chardev support to chardev-add (qmp) chardev: add serial chardev support to chardev-add (qmp) chardev: add file chardev support to chardev-add (qmp) chardev: add hmp hotplug commands chardev: add qmp hotplug commands, with null chardev support chardev: reduce chardev ifdef mess a bit chardev: fix QemuOpts lifecycle chardev: add error reporting for qemu_chr_new_from_opts commit af381ebeacdefcec0d2b44bdbb9d6e01e35f691f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Jan 15 09:49:36 2013 +0100 build: fix Win32 clean build The version.o file did not appear explicitly as a dependency, and this caused clean builds to fail. Force its build by making the Makefile depend on version.o. (We cannot add it to libqemuutil.a, because it doesn't export any symbol and thus would not be pulled by the linker). Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Cc: Stefan Weil <sw@xxxxxxxxxxx> Tested-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eb60d1c55268f489b32e6b694e84e2017b75a3d3 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:59 2013 +0100 tmp105: Add temperature QOM property This obsoletes tmp105_set() and allows for better error handling. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2aad80eeb788c7c3f71c57e78352f0fdadf8fe28 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:58 2013 +0100 tmp105: QOM'ify Introduce TYPE_ constant and cast macro. Move the state struct to the new header to allow for future embedding. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6e9989034b176a8e4cfdccd85892abfa73977ba7 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:57 2013 +0100 tests: Add tmp105 qtest test case Exercise all four commands of the TMP105, testing for an issue in the I2C TX path. The test case uses the N800's OMAP I2C and is the first for ARM. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cb5ef3fa1871522a0886627033459e94bd537fb7 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:56 2013 +0100 tmp105: Fix I2C protocol bug An early length postincrement in the TMP105's I2C TX path led to transfers of more than one byte to place the second byte in the third byte's place within the buffer and the third byte to get discarded. Fix this by explictly incrementing the length after the checks but before the callback is called, which again checks the length. Adjust the Coding Style while at it. Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6d0b430176e3571af0e1596276078f05bfe1c5a5 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:55 2013 +0100 tmp105: Split out I2C message constants from header Allows value sharing with qtest. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2bf7b4572b39a494403190636b4e7d44967504c0 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Jan 16 01:57:54 2013 +0100 libqtest: Prepare I2C libqos This adds a simple I2C API and a driver implementation for omap_i2c. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 457b65432700281b061086a2a8527bf1f59163a9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:17:33 2013 +0100 audio: Replace non-portable asprintf in debug code by g_strdup_printf sw->name already uses the correct g_free to free the allocated memory. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a1cbfd554e11bb8af38c2f3e1f1574bf4c563cd2 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:20:25 2013 +0100 usb-storage: Drop useless null test in usb_msd_handle_data() scsi_req_new() never returns null, and scsi_req_enqueue() dereferences the pointer, so checking for null is useless. Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 955d7b26779d6654f6ba2c456bac9fd49fa0cd8a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Jan 16 18:20:57 2013 +0100 ui: Drop useless null tests in parse_keyboard_layout() Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 4ecf8aa5a06a830b05c035a5d6184bf991931d20 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Wed Jan 16 18:22:29 2013 +0100 pseries: Replace non-portable asprintf by g_strdup_printf g_strdup_printf already handles OOM errors, so some error handling in QEMU code can be removed. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b8e76b35d47d03f6f9bb3a7455316aaed8b25795 Author: Knut Omang <knuto@xxxxxxxxxx> Date: Wed Jan 16 16:34:34 2013 +0100 Add new DEFAULT_MACHINE_OPTIONS to q35 and ppc405 Without this default q35/ppc405 based machines would no longer boot after commit e4ada29e909787f629626660b1561f6a680187d3 Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9468a5d4904223af2c47131f32e3a0555142e4e3 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Thu Jan 10 22:30:50 2013 +0100 alpha-linux-user: Correct select Alpha, like s390x, passes all select arguments in registers. Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2ba7f73006371312109991869b13bf8f4b4659c4 Author: Laurent Vivier <laurent@xxxxxxxxx> Date: Thu Jan 10 21:42:48 2013 +0100 alpha-linux-user: Translate fcntl l_type The values of F_RDLCK, F_WRLCK, F_UNLCK, F_EXLCK, F_SHLCK differ between alpha and other linux architectures. This patch allows to run "dpkg" (database lock). Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0a1a7fabda7f0fa05ef09051be29e92e81f929ad Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Dec 20 14:39:13 2012 +0100 chardev: add pty chardev support to chardev-add (qmp) The ptsname is returned directly, so there is no need to use query-chardev to figure the pty device path. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f6bd5d6ec514939c421fcd411d1a39bc7dad0948 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Dec 20 13:53:12 2012 +0100 chardev: add socket chardev support to chardev-add (qmp) qemu_chr_open_socket is split into two functions. All initialization after creating the socket file handler is split away into the new qemu_chr_open_socket_fd function. chr->filename doesn't get filled from QemuOpts any more. Qemu gathers the information using getsockname and getnameinfo instead. This way it will also work correctly for file handles passed via file descriptor passing. Finally qmp_chardev_open_socket() is the actual qmp hotplug implementation which basically just calls socket_listen or socket_connect and the new qemu_chr_open_socket_fd function. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 88a946d32dd9e4c6c0ad56e19f2822bd5c8b416e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 10 14:20:58 2013 +0100 chardev: add parallel chardev support to chardev-add (qmp) Also alias the old parport name to parallel for -chardev. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d59044ef74d577797d087bc6ffb156cec89ed39a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 13:50:29 2012 +0100 chardev: add serial chardev support to chardev-add (qmp) Similar to file, except that no separate in/out files are supported because it's pointless for direct device access. Also the special tty ioctl hooks (pass through linespeed settings etc) are activated on Unix. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ffbdbe59acc5f175d6c05a5d90f0b7c865fafd5b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 13:13:57 2012 +0100 chardev: add file chardev support to chardev-add (qmp) Add support for file chardevs. Output file is mandatory, input file is optional. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f10889089153edf032476b45229477866a9ca0b1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 10:33:40 2012 +0100 chardev: add hmp hotplug commands Add chardev-add and chardev-remove commands to the human monitor. chardev-add accepts the same syntax as -chardev, chardev-remove expects a chardev id. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f1a1a35638bf045a2b158c0cb23d92ef39c06792 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 10:33:56 2012 +0100 chardev: add qmp hotplug commands, with null chardev support Add chardev-add and chardev-remove qmp commands. Hotplugging a null chardev is supported for now, more will be added later. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e551498e7283fc7f12a0f9cd5645517bfe9008f6 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 19 16:35:42 2012 +0100 chardev: reduce chardev ifdef mess a bit Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2274ae9d1a841c9d214b7c877d28e2f037a9b26e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Oct 15 09:30:59 2012 +0200 chardev: fix QemuOpts lifecycle qemu_chr_new_from_opts handles QemuOpts release now, so callers don't have to worry. It will either be saved in CharDriverState, then released in qemu_chr_delete, or in the error case released instantly. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bd2d80b2b75b36955d536564ceb593f5bdae2f12 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Oct 15 09:28:05 2012 +0200 chardev: add error reporting for qemu_chr_new_from_opts Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 249d41720b7dfbb5951b430b9eefdbee7464f515 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 9 03:58:11 2013 +0100 qdev: Prepare "realized" property Introduce the QOM realizefn suggested by Anthony. Detailed documentation is supplied in the qdev header. For now this implements a default DeviceClass::realize callback that just wraps DeviceClass::init, which it deprecates. Once all devices have been converted to DeviceClass::realize, DeviceClass::init is to be removed. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Anthony Liguori <anthony@xxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7983c8a335dd09fec49f99a44d4404aa87828c0a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Jan 9 03:58:10 2013 +0100 qdev: Fold state enum into bool realized Whether the device was initialized or not is QOM-level information and currently unused. Drop it from device. This leaves the boolean state of whether or not DeviceClass::init was called or not, a.k.a. "realized". Suggested-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2c9ee0291f8ca7e18f8e96a34e8f4be7867219d2 Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 8 12:36:31 2013 +0530 pseries: set no default boot order This patch removes the default boot order for pseries machine. This allows the machine to handle a NULL boot order in case no -boot option is provided. Thus it helps SLOF firmware to verify if boot order is specified in command line or not. If no boot order is provided SLOF tries to boot from the device set in the nvram. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Acked-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e4ada29e909787f629626660b1561f6a680187d3 Author: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 8 12:36:30 2013 +0530 Make default boot order machine specific This patch makes default boot order machine specific instead of set globally. The default boot order can be set per machine in QEMUMachine boot_order. This also allows a machine to receive a NULL boot order when -boot isn't used and take an appropriate action accordingly. This helps machine boots from the devices as set in guest's non-volatile memory location in case no boot order is provided by the user. Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx> Signed-off-by: Avik Sil <aviksil@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 038794cfe1c0eece8968418077e4af601acd5aff Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:24:16 2013 +0100 acl: Free memory allocated with g_malloc() with g_free() Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c23c15d30b901bb447cdcada96cae64c0046d146 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:24:15 2013 +0100 acl: Fix acl_remove not to mess up the ACL It leaks memory and fails to adjust qemu_acl member nentries. Future acl_add become confused: can misreport the position, and can silently fail to add. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit cc69bda6c97a1c193348eb381f4bffdfd1c8a948 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:42:32 2013 +0100 sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits Careless use of malloc(): allocate Uint32[N], assign to int *, use int[N]. Fix by converting to g_new(). Functions can't fail anymore, so make them return void. Caller ignored the value anyway. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dabe3143e0f36a78a65c0dce1e298e31df1be6c4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Jan 15 19:50:13 2013 +0200 kvm: add stub for kvm_irqchip_update_msi_route ppc64 build needs this stub to build with virtio enabled. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8ec12ec734da08a945a05e2b0f89d2639048c771 Merge: 58a864d... c3a2980... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:54:41 2013 -0600 Merge remote-tracking branch 'afaerber/memory-ioport' into staging * afaerber/memory-ioport: acpi_piix4: Do not use old_portio-style callbacks xen_platform: Do not use old_portio-style callbacks hw/dma.c: Fix conversion of ioport_register* to MemoryRegion Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 58a864dec23f9052a5379a3ce81566e065c14afa Merge: b9f84ac... ecbe251... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:53:10 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: configure: try pkg-config for curses qom: Make object_resolve_path_component() path argument const Add libcacard/trace/generated-tracers.c to .gitignore Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b9f84ac0fa81315bf4efa8db64f0705273b7499a Merge: c94bf1c... 7191bf3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:52:56 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: block: Fix how mirror_run() frees its buffer win32-aio: Fix how win32_aio_process_completion() frees buffer scsi-disk: qemu_vfree(NULL) is fine, simplify w32: Make qemu_vfree() accept NULL like the POSIX implementation sheepdog: clean up sd_aio_setup() sheepdog: multiplex the rw FD to flush cache block: clear dirty bitmap when discarding ide: issue discard asynchronously but serialize the pieces ide: fix TRIM with empty range entry block: make discard asynchronous raw: support discard on block devices raw-posix: remember whether discard failed raw-posix: support discard on more filesystems block: fix initialization in bdrv_io_limits_enable() qcow2: Fix segfault on zero-length write Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c94bf1c107df6623e54d48b90fb439a1281a36de Merge: bdb8872c... e175bce... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:52:39 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: target-i386: Use switch in check_hw_breakpoints() target-i386: Avoid goto in hw_breakpoint_insert() target-i386: Introduce hw_{local,global}_breakpoint_enabled() target-i386: Define DR7 bit field constants target-i386: Move kvm_check_features_against_host() check to realize time target-i386: cpu_x86_register() consolidate freeing resources target-i386: Move setting defaults out of cpu_x86_parse_featurestr() target-i386: check/enforce: Check all feature words target-i386/cpu.c: Add feature name array for ext4_features target-i386: kvm_check_features_against_host(): Use feature_word_info target-i386/cpu: Introduce FeatureWord typedefs target-i386: Disable kvm_mmu by default kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code exec: Return CPUState from qemu_get_cpu() xen: Simplify halting of first CPU kvm: Pass CPUState to kvm_init_vcpu() cpu: Move cpu_index field to CPUState cpu: Move numa_node field to CPUState target-mips: Clean up mips_cpu_map_tc() documentation cpu: Move nr_{cores,threads} fields to CPUState Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bdb8872cc14684557db4bef112b02eeb68f4410b Merge: 2fd3402... 08bb4a7... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:52:10 2013 -0600 Merge remote-tracking branch 'afaerber-or/prep-up' into staging * afaerber-or/prep-up: pc87312: Avoid define conflict on mingw32 pc87312: Replace register_ioport_*() with MemoryRegion Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2fd3402d9242dec06bb1ca5680c1ddf421932b08 Merge: dd25f93... 01b87f6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:50:04 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013-2' into staging * mdroth/qga-pull-1-14-2013-2: qga: add missing commas in json docs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dd25f938203eac51ef2ec9f4a545645ff49bda70 Merge: 5e72179... 7868181... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:49:48 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-14-2013' into staging * mdroth/qga-pull-1-14-2013: qemu-ga: Handle errors uniformely in ga_channel_open() qemu-ga: Plug fd leak on ga_channel_open() error paths qemu-ga: Plug fd leak on ga_channel_listen_accept() error path qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path qemu-ga: Drop pointless lseek() from ga_open_pidfile() qemu-ga: Document intentional fall through in channel_event_cb() qemu-ga: add ga_open_logfile() qemu-ga: ga_open_pidfile(): use qemu_open() Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5e72179b8f16e05a33fea5f63856aa16dbb29048 Merge: cf7c3f0... 7e7b7cb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 15 16:49:18 2013 -0600 Merge remote-tracking branch 'sstabellini/xen-2013-01-14' into staging * sstabellini/xen-2013-01-14: xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER xen_disk: add persistent grant support to xen_disk backend xen_disk: fix memory leak Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3a29809e4d8924a0cfffd7f1af3c2f3c46f5889 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Fri Jan 4 22:29:41 2013 +0100 acpi_piix4: Do not use old_portio-style callbacks Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: Used HWADDR_PRIx for hwaddr PIIX4_DPRINTF()] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7a652efa1b55ea671125696aabf8f1bd6e9a97f7 Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Fri Jan 4 22:29:40 2013 +0100 xen_platform: Do not use old_portio-style callbacks Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ecd584b836937eb45f7e7e487595002486a09cb7 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Dec 19 12:09:21 2012 +0000 hw/dma.c: Fix conversion of ioport_register* to MemoryRegion The commit 582299336879504353e60c7937fbc70fea93f3da introduced a 1-shift for some offset in DMA emulation. Before the previous commit, which converted ioport_register_* to MemoryRegion, the DMA controller registered 8 ioports with the following formula: base + ((8 + i) << d->shift) where 0 <= i < 8 When an IO occured within a Memory Region, DMA callback receives an offset relative to the start address. Here the start address is: base + (8 << d->shift). The offset should be: (i << d->shift). After the shift is reverted, the offsets are 0..7 not 1..8. Fixes LP#1089996. Reported-by: Andreas Gustafsson <gson@xxxxxxxx> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Tested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ecbe251fa0eb4905c4a82c887e37057243b9fbad Author: Vadim Evard <v.e.evard@xxxxxxxxx> Date: Tue Jan 15 16:17:24 2013 +0400 configure: try pkg-config for curses Static linkikng against ncurses may require explicit -ltinfo. In case -lcurses and -lncurses both didn't work give pkg-config a chance. Fixes #1094786 for me. Signed-off-by: Vadim Evard <v.e.evard@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7191bf311ea9722cdcc3b2229788eff69d896bd0 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 15:29:10 2013 +0100 block: Fix how mirror_run() frees its buffer It allocates with qemu_blockalign(), therefore it must free with qemu_vfree(), not g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7479acdbce2ecf6cbd0b7d72b81608c8fc51b1ae Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 14:23:39 2013 +0100 win32-aio: Fix how win32_aio_process_completion() frees buffer win32_aio_submit() allocates it with qemu_blockalign(), therefore it must be freed with qemu_vfree(), not g_free(). Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit db4c34c3df5107ec4900ff07f70c540479a7eeca Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 14:23:38 2013 +0100 scsi-disk: qemu_vfree(NULL) is fine, simplify Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 94c8ff3a01d9bd1005f066a0ee3fe43c842a43b7 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Tue Jan 15 14:23:37 2013 +0100 w32: Make qemu_vfree() accept NULL like the POSIX implementation On POSIX, qemu_vfree() accepts NULL, because it's merely wrapper around free(). As far as I can tell, the Windows implementation doesn't. Breeds bugs that bite only under Windows. Make the Windows implementation behave like the POSIX implementation. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f700f8e3463b5d61383121fa6f79564d6132b10d Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Jan 14 14:01:03 2013 +0800 sheepdog: clean up sd_aio_setup() The last two parameters of sd_aio_setup() are never used, so remove them. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 477830727821e4bc337f4ac1fd222ffe0b900e1a Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Tue Jan 15 16:28:55 2013 +0800 sheepdog: multiplex the rw FD to flush cache This will reduce sockfds connected to the sheep server to one, which simply the future hacks. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3e84b4832180db2aa6187b6b971054bc3ca68be0 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Jan 15 02:55:10 2013 +0100 qom: Make object_resolve_path_component() path argument const A usage with a hardcoded partial path such as object_resolve_path_component(obj, "foo") is totally valid but currently leads to a compilation error. Fix this. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a87eec766d99c33fc49ecc6dbce40f304168ac3f Author: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx> Date: Tue Jan 8 01:28:02 2013 +0200 Add libcacard/trace/generated-tracers.c to .gitignore Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit df702c9b4c1d049b12d7cf2f2ee607ff32f766cb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:58 2013 +0100 block: clear dirty bitmap when discarding Note that resetting bits in the dirty bitmap is done _before_ actually processing the request. Writes, instead, set bits after the request is completed. This way, when there are concurrent write and discard requests, the outcome will always be that the blocks are marked dirty. This scenario should never happen, but it is safer to do it this way. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 501378c3af16e8e83a9dd500c11e594f4d1dbe79 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:57 2013 +0100 ide: issue discard asynchronously but serialize the pieces Now that discard can take a long time, make it asynchronous. Each LBA range entry is processed separately because discard can be an expensive operation. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 80bc2e8d807939bee89d1a5ca0dbe89946d39ed1 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:56 2013 +0100 ide: fix TRIM with empty range entry ATA-ACS-3 says "If the two byte range length is zero, then the LBA Range Entry shall be discarded as padding." iovecs are used as if they are linearized, so it is incorrect to discard the rest of this iovec. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8238010b265886249f9f3d45e890788319b7736e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:55 2013 +0100 block: make discard asynchronous This is easy with the thread pool, because we can use s->is_xfs and s->has_discard from the worker function. QEMU has a widespread assumption that each I/O operation writes less than 2^32 bytes. This patch doesn't fix it throughout of course, but it starts correcting struct RawPosixAIOData so that there is no regression with respect to the synchronous discard implementation. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fcd9d4555252c47a337357dfce0806e5dde99d96 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:54 2013 +0100 raw: support discard on block devices Block devices use a ioctl instead of fallocate, so add a separate implementation. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c85191e5c9e14d65cc4281ef3b31f480227aa6dd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jan 14 16:26:53 2013 +0100 raw-posix: remember whether discard failed Avoid sending system calls repeatedly if they shall fail. This does not apply to XFS: if the filesystem-specific ioctl fails, something weird is happening. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3d4fa43e648f3b169e7ab5dd4e21312e510805d7 Author: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx> Date: Mon Jan 14 16:26:52 2013 +0100 raw-posix: support discard on more filesystems Linux 2.6.38 introduced the filesystem independent interface to deallocate part of a file. As of Linux 3.7, btrfs, ext4, ocfs2, tmpfs and xfs support it. Even though the system calls here are in practice issued on Linux, the code is structured to allow plugging in alternatives for other Unix variants. EOPNOTSUPP is used unconditionally in this patch, but it is supported in both OpenBSD and Mac OS X since forever (see for example http://lists.debian.org/debian-glibc/2006/02/msg00337.html). Signed-off-by: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 029d091e4975af60ff9622717af19c5910f2f4e9 Author: Peter Lieven <pl@xxxxxxxxx> Date: Fri Jan 11 13:29:55 2013 +0100 block: fix initialization in bdrv_io_limits_enable() bdrv_io_limits_enable() starts a new slice, but does not set io_base correctly for that slice. Here is how io_base is used: bytes_base = bs->nr_bytes[is_write] - bs->io_base.bytes[is_write]; bytes_res = (unsigned) nb_sectors * BDRV_SECTOR_SIZE; if (bytes_base + bytes_res <= bytes_limit) { /* no wait */ } else { /* operation needs to be throttled */ } As a result, any I/O operations that are triggered between now and bs->slice_end are incorrectly limited. If 10 MB of data has been written since the VM was started, QEMU thinks that 10 MB of data has been written in this slice. This leads to a I/O lockup in the guest. We fix this by delaying the start of a new slice to the next call of bdrv_exceed_io_limits(). Signed-off-by: Peter Lieven <pl@xxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e175bce587936bf479889881488821ea8d61c89c Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 13:39:56 2013 +0800 target-i386: Use switch in check_hw_breakpoints() Replace an if statement using magic numbers for breakpoint type with a more explicit switch statement. This is to aid readability. Change the return type and force_dr6_update argument type to bool. While at it, fix Coding Style issues (missing braces). Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1cc21a180b9ea9204e99ad5c58604cb458e572a9 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 08:24:02 2013 +0100 target-i386: Avoid goto in hw_breakpoint_insert() "Go To Statement Considered Harmful" -- E. Dijkstra To avoid an unnecessary goto within the switch statement, move watchpoint insertion out of the switch statement. Improves readability. While at it, fix Coding Style issues (missing braces, indentation). Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5902564ac983d67d7d898356971698b50b8f0b91 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 08:01:07 2013 +0100 target-i386: Introduce hw_{local,global}_breakpoint_enabled() hw_breakpoint_enabled() returned a bit field indicating whether a local breakpoint and/or global breakpoint was enabled. Avoid this number magic by using explicit boolean helper functions hw_local_breakpoint_enabled() and hw_global_breakpoint_enabled(), to aid readability. Reuse them for the hw_breakpoint_enabled() implementation and change its return type to bool. While at it, fix Coding Style issues (missing braces). Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 428065ce50643a56bff043501809b62b035f0b17 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Tue Jan 15 13:39:55 2013 +0800 target-i386: Define DR7 bit field constants Implicit use of dr7 bit field is a little hard to understand, so define constants for them and use them consistently. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8d2497c3552e19a60e7a75d20976471ecb2a8e2b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Jan 14 17:31:31 2013 +0100 qcow2: Fix segfault on zero-length write One of the recent refactoring patches (commit f50f88b9) didn't take care to initialise l2meta properly, so with zero-length writes, which don't even enter the write loop, qemu just segfaulted. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jan 11 03:10:17 2013 +0100 target-i386: Move kvm_check_features_against_host() check to realize time kvm_check_features_against_host() should be called when features can't be changed, and when features are converted to properties it would be possible to change them until realize time, so correct way is to call kvm_check_features_against_host() in x86_cpu_realize(). Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fa2db3c494270c1892365eef370d06a4559619e0 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jan 11 03:10:16 2013 +0100 target-i386: cpu_x86_register() consolidate freeing resources Freeing resources in one place would require setting 'error' to not NULL, so add some more error reporting before jumping to exit branch. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 077c68c32897ea02b88c9a919627d93d3878ef15 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jan 11 03:10:15 2013 +0100 target-i386: Move setting defaults out of cpu_x86_parse_featurestr() No functional change, needed for simplifying conversion to properties. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 07ca59450c9a0c5df65665ce46aa8487af59a1dd Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:48 2013 -0200 target-i386: check/enforce: Check all feature words This adds the following feature words to the list of flags to be checked by kvm_check_features_against_host(): - cpuid_7_0_ebx_features - ext4_features - kvm_features - svm_features This will ensure the "enforce" flag works as it should: it won't allow QEMU to be started unless every flag that was requested by the user or defined in the CPU model is supported by the host. This patch may cause existing configurations where "enforce" wasn't preventing QEMU from being started to abort QEMU. But that's exactly the point of this patch: if a flag was not supported by the host and QEMU wasn't aborting, it was a bug in the "enforce" code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 89e49c8bea9ec81d2cca25f81f5e15c3a1d8b69c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:47 2013 -0200 target-i386/cpu.c: Add feature name array for ext4_features Feature names were taken from the X86_FEATURE_* constants in the Linux kernel code. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bffd67b01d96d3a59bf74a2d38f00e59d4b9c774 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:46 2013 -0200 target-i386: kvm_check_features_against_host(): Use feature_word_info Instead of carrying the CPUID leaf/register and feature name array on the model_features_t struct, move that information into feature_word_info so it can be reused by other functions. The goal is to eventually kill model_features_t entirely, but to do that we have to either convert x86_def_t.features to an array or use offsetof() inside FeatureWordInfo (to replace the pointers inside model_features_t). So by now just move most of the model_features_t fields to FeatureWordInfo except for the two pointers to local arguments. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5ef5787627c07d053c2628fe720e814561fbfbe3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:45 2013 -0200 target-i386/cpu: Introduce FeatureWord typedefs This introduces a FeatureWord enum, FeatureWordInfo struct (with generation information about a feature word), and a FeatureWordArray typedef, and changes add_flagname_to_bitmaps() code and cpu_x86_parse_featurestr() to use the new typedefs instead of separate variables for each feature word. This will help us keep the code at kvm_check_features_against_host(), cpu_x86_parse_featurestr() and add_flagname_to_bitmaps() sane while adding new feature name arrays. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 6a4784ce6b95b013a13504ead9ab62975faf6eff Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:44 2013 -0200 target-i386: Disable kvm_mmu by default KVM_CAP_PV_MMU capability reporting was removed from the kernel since v2.6.33 (see commit a68a6a7282373), and was completely removed from the kernel since v3.3 (see commit fb92045843). It doesn't make sense to keep it enabled by default, as it would cause unnecessary hassle when using the "enforce" flag. This disables kvm_mmu on all machine-types. With this fix, the possible scenarios when migrating from QEMU <= 1.3 to QEMU 1.4 are: ------------+----------+---------------------------------------------------- src kernel | dst kern.| Result ------------+----------+---------------------------------------------------- >= 2.6.33 | any | kvm_mmu was already disabled and will stay disabled <= 2.6.32 | >= 3.3 | correct live migration is impossible <= 2.6.32 | <= 3.2 | kvm_mmu will be disabled on next guest reboot * ------------+----------+---------------------------------------------------- * If they are running kernel <= 2.6.32 and want kvm_mmu to be kept enabled on guest reboot, they can explicitly add +kvm_mmu to the QEMU command-line. Using 2.6.33 and higher, it is not possible to enable kvm_mmu explicitly anymore. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9ca5892328a40bfa9c24c847441761c4729ae3f3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Mon Jan 7 16:20:42 2013 -0200 kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code Any KVM-specific code that use these constants must check if kvm_enabled() is true before using them. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 38d8f5c84e7c02f2523005dddc31939ca18232dd Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 19:47:15 2012 +0100 exec: Return CPUState from qemu_get_cpu() Move the declaration to qemu/cpu.h and add documentation. The implementation still depends on CPUArchState for CPU iteration. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4a1e40b5091bcff5f8ea3fe9963eaa8e76b16389 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 19:39:30 2012 +0100 xen: Simplify halting of first CPU Use the global first_cpu variable to halt the CPU rather than using a local first_cpu initialized from qemu_get_cpu(0). This will allow to change qemu_get_cpu() return type to CPUState despite use of the CPU_COMMON halted field in the reset handler. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 504134d27f15aa94f6d2b5c45eaa804a8dfb5a4c Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 06:38:45 2012 +0100 kvm: Pass CPUState to kvm_init_vcpu() CPUArchState is no longer needed, and it thereby no longer depends on NEED_CPU_H. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 55e5c2850293547203874098f7cec148ffd12dfa Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 06:18:02 2012 +0100 cpu: Move cpu_index field to CPUState Note that target-alpha accesses this field from TCG, now using a negative offset. Therefore the field is placed last in CPUState. Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change. Move common parts of mips cpu_state_reset() to mips_cpu_reset(). Acked-by: Richard Henderson <rth@xxxxxxxxxxx> (for alpha) [AF: Rebased onto ppc CPU subclasses and openpic changes] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1b1ed8dc40635d60dd95c04658989af63542fcbf Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 04:22:03 2012 +0100 cpu: Move numa_node field to CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 66afd1ad5a7a25e573577ac45979d8a3213796c3 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 20:36:30 2012 +0100 target-mips: Clean up mips_cpu_map_tc() documentation This function will be touched again soon, so a good understanding of env vs. other helps. Adopt gtk-doc style. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> commit ce3960ebe57d0601a3628b64adac6fd23c901f70 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Dec 17 03:27:07 2012 +0100 cpu: Move nr_{cores,threads} fields to CPUState To facilitate the field movements, pass MIPSCPU to malta_mips_config(); avoid that for mips_cpu_map_tc() since callers only access MIPS Thread Contexts, inside TCG helpers. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 08bb4a7c9bb9c12746bce9b3a1f031dd4192afc1 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Jan 13 08:12:45 2013 +0000 pc87312: Avoid define conflict on mingw32 Mingw32 headers define FAR, causing this warning: /src/qemu/hw/pc87312.c:38:0: warning: "FAR" redefined [enabled by default] In file included from /usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windows.h:48:0, from /src/qemu/include/sysemu/os-win32.h:29, from /src/qemu/include/qemu-common.h:46, from /src/qemu/include/exec/ioport.h:27, from /src/qemu/hw/isa.h:6, from /src/qemu/hw/pc87312.h:28, from /src/qemu/hw/pc87312.c:26: /usr/local/lib/gcc/i686-mingw32msvc/4.7.0/../../../../i686-mingw32msvc/include/windef.h:34:0: note: this is the location of the previous definition Avoid the warning by expanding the macros. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 328c24a97b9cde975bc8b12caa4c6c067fff83c6 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Fri Jan 11 21:11:20 2013 +0100 pc87312: Replace register_ioport_*() with MemoryRegion Prepare an instance_init function for the MemoryRegion init. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> commit cf7c3f0cb5a7129f57fa9e69d410d6a05031988c Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> Date: Mon Jan 14 22:52:02 2013 +0100 virtio-9p: fix compilation error. Fix the compilation error introduced by msg new field. CC hw/9pfs/virtio-9p.o In file included from /home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/9pfs/virtio-9p.c:17:0: /home/konradf/Documents/safe/greensocs/virtio-project/x86-qemu/qemu/hw/virtio-pci.h:30:16: erreur: field â??msgâ?? has incomplete type make: *** [hw/9pfs/virtio-9p.o] Erreur 1 Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx> commit 01b87f6d217ed05d5948562f74f5cf7b511a9c6c Author: Eric Blake <eblake@xxxxxxxxxx> Date: Wed Jan 2 09:15:11 2013 -0700 qga: add missing commas in json docs * qga/qapi-schema.json: Use valid JSON. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit b8bec49cccbf8e34558371df60e7e64419c4fde9 Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 13:20:13 2013 -0600 dataplane: fix build breakage on set_guest_notifiers() virtio_pci_set_guest_notifiers() now takes an additional argument to specify the number of virtqueues to assign a guest notifier for. This causes a build breakage for CONFIG_VIRTIO_BLK_DATA_PLANE builds: /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function â??virtio_blk_data_plane_startâ??: /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:451:47: error: too few arguments to function â??s->vdev->binding->set_guest_notifiersâ?? /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c: In function â??virtio_blk_data_plane_stopâ??: /home/mdroth/w/qemu2.git/hw/dataplane/virtio-blk.c:511:5: error: too few arguments to function â??s->vdev->binding->set_guest_notifiersâ?? make[1]: *** [hw/dataplane/virtio-blk.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [subdir-x86_64-softmmu] Error 2 Fix this by passing 1 as the number of virtqueues to assign notifiers for. Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 53510bfc1256711365cd2a841649f3ad5a79790f Author: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Date: Mon Jan 14 13:20:12 2013 -0600 virtio-pci: build for uninitialized return value in vq_vector_unmask Fixes the following: /home/mdroth/w/qemu2.git/hw/virtio-pci.c: In function â??kvm_virtio_pci_vector_unmaskâ??: /home/mdroth/w/qemu2.git/hw/virtio-pci.c:673:12: error: â??retâ?? may be used uninitialized in this function [-Werror=uninitialized] cc1: all warnings being treated as errors make: *** [hw/virtio-pci.o] Error 1 make: *** Waiting for unfinished jobs.... Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit be657dea4bec90031cc66a111a772299bfca7fa5 Author: Alberto Garcia <agarcia@xxxxxxxxxx> Date: Fri Jan 11 18:25:30 2013 +0100 Add GE IP-Octal 232 IndustryPack emulation The GE IP-Octal 232 is an IndustryPack module that implements eight RS-232 serial ports, each one of which can be redirected to a character device in the host. Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9c16fa79bfa0f8d7a937ee58fa45f2bd0995fa53 Author: Alberto Garcia <agarcia@xxxxxxxxxx> Date: Fri Jan 11 18:25:29 2013 +0100 Add TEWS TPCI200 IndustryPack emulation The TPCI200 is a PCI board that supports up to 4 IndustryPack modules. A new bus type called 'IndustryPack' has been created so any compatible module can be attached to this board. Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alberto Garcia <agarcia@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7e7b7cba16faa7b721b822fa9ed8bebafa35700f Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jan 14 18:30:30 2013 +0000 xen_disk: implement BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 9e496d7458bb01b717afe22db10a724db57d53fd Author: Roger Pau Monne <roger.pau@xxxxxxxxxx> Date: Mon Jan 14 18:28:19 2013 +0000 xen_disk: add persistent grant support to xen_disk backend This protocol extension reuses the same set of grant pages for all transactions between the front/back drivers, avoiding expensive tlb flushes, grant table lock contention and switches between userspace and kernel space. The full description of the protocol can be found in the public blkif.h header. http://xenbits.xen.org/gitweb/?p=xen.git;a=blob_plain;f=xen/include/public/io/blkif.h Speed improvement with 15 guests performing I/O is ~450%. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 282c6a2f292705f823554447ca0b7731b6f81a97 Author: Roger Pau Monne <roger.pau@xxxxxxxxxx> Date: Mon Jan 14 18:26:53 2013 +0000 xen_disk: fix memory leak On ioreq_release the full ioreq was memset to 0, loosing all the data and memory allocations inside the QEMUIOVector, which leads to a memory leak. Create a new function to specifically reset ioreq. Reported-by: Maik Wessler <maik.wessler@xxxxxxxxx> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 7868181f98ff1fbcd7f7034153eec5e03615d023 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:25:02 2013 +0100 qemu-ga: Handle errors uniformely in ga_channel_open() We detect errors in several places. One reports with g_error(), which calls abort(), the others report with g_critical(). Three of them exit(), three return false. Always report with g_critical(), and return false. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> *minor fix-up of commit msg Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d4f4a3efdf0a71621ae5351176f5f15b522d0026 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:25:01 2013 +0100 qemu-ga: Plug fd leak on ga_channel_open() error paths Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 32c16620dda8ba16f6d6bcd20efefdec8975af77 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:25:00 2013 +0100 qemu-ga: Plug fd leak on ga_channel_listen_accept() error path Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 03ac10f166b790cb66804e512abec6d002cd8481 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:24:59 2013 +0100 qemu-ga: Plug file descriptor leak on ga_open_pidfile() error path Spotted by Coverity. Also document why we keep it open on success. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 5d27f9ce3de424207883d84352d76150e9707394 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:24:58 2013 +0100 qemu-ga: Drop pointless lseek() from ga_open_pidfile() After open(), the file offset is already zero, and neither lockf() nor ftruncate() change it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit f5b795787864ddde1104a4f7c061dcb0e58e45c0 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Jan 11 11:24:57 2013 +0100 qemu-ga: Document intentional fall through in channel_event_cb() For clarity, and to hush up Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 9e92f6d46233171898fc7d0487a04e5b78e44234 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Jan 8 19:26:26 2013 -0200 qemu-ga: add ga_open_logfile() This function sets O_CLOEXEC on the log file fd so that it isn't leaked to executed processes. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Amos Kong <akong@xxxxxxxxxx> Tested-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6ffacc5d3ddf2e3227aae2a8cc5c15627265f727 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Jan 8 19:26:25 2013 -0200 qemu-ga: ga_open_pidfile(): use qemu_open() This ensures that O_CLOEXEC is passed to open(), this way the pid file fd is not leaked to executed processes. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> Acked-by: Amos Kong <akong@xxxxxxxxxx> Tested-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a507db9599599ce33007b524276a6ea88e521662 Merge: b55160c... f9943cd... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:27:41 2013 -0600 Merge remote-tracking branch 'kraxel/pixman.v6' into staging * kraxel/pixman.v6: pixman: pass extra cflags and ldflags Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit b55160c3d9b38c5d481ceccc30e397430f26fe92 Merge: 167eb81... 0360784... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:27:29 2013 -0600 Merge remote-tracking branch 'kraxel/usb.76' into staging * kraxel/usb.76: usb-host: Initialize dev->port the obviously safe way usb-host: Drop superfluous null test from usb_host_auto_scan() ehci: Assert state machine is sane w.r.t. EHCIQueue xhci: nuke transfe5rs on detach xhci: call xhci_detach_slot on root port detach too xhci: create xhci_detach_slot helper function Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 167eb811d006b95e9a26d4a0e681907ae77f5ce4 Merge: a69f221... 08688af... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:27:08 2013 -0600 Merge remote-tracking branch 'spice/spice.v67' into staging * spice/spice.v67: qxl: Don't drop client capability bits qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit a69f221ef840cde778080ffaa78e0d9dd27b87c7 Merge: da758bd... 00e4d0d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:26:57 2013 -0600 Merge remote-tracking branch 'kraxel/testdev.2' into staging * kraxel/testdev.2: pc-testdev: use typedefs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da758bd7a3156fc96a630684ad9e4b4a03064306 Merge: 8e9a868... de0161c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:26:26 2013 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging * kwolf/for-anthony: dataplane: handle misaligned virtio-blk requests dataplane: extract virtio-blk read/write processing into do_rdwr_cmd() block: make qiov_is_aligned() public raw-posix: fix bdrv_aio_ioctl sheepdog: implement direct write semantics block: do not probe zero-sized disks Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8e9a8681dd6066e4f79ba85b59deedb4d3d11aa2 Merge: 7adef3b... feb9a2a... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:23:50 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,virtio This further optimizes MSIX handling in virtio-pci. Also included is pci cleanup by Paolo, and pci device assignment fix by Alex. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> * mst/tags/for_anthony: pci-assign: Enable MSIX on device to match guest pci: use constants for devices under the 1B36 device ID, document them ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt virtio-9p: use symbolic constant, add to pci-ids.txt reorganize pci-ids.txt docs: move pci-ids.txt to docs/specs/ vhost: backend masking support vhost: set started flag while start is in progress virtio-net: set/clear vhost_started in reverse order virtio: backend virtqueue notifier masking virtio-pci: cache msix messages kvm: add stub for update msi route msix: add api to access msix message virtio: don't waste irqfds on control vqs commit 7adef3bc5a195d483987469fc80fbbe4a25a5b9d Merge: 0054ee8... aaf821f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:23:25 2013 -0600 Merge remote-tracking branch 'bonzini/stub' into staging * bonzini/stub: (27 commits) build: improve quiet output for .stp rules build: fold trace-obj-y into libqemuutil.a build: some simplifications for "trace/Makefile.objs" build: remove coroutine-obj-y build: move version-obj-y to the generic LINK rule build: move base QAPI files to libqemuutil.a build: move QAPI definitions for QEMU out of qapi-obj-y build: consolidate multiple variables into universal-obj-y build: move qobject files to qobject/ and libqemuutil.a build: move libqemuutil.a components to util/ build: move files away from tools-obj-y, common-obj-y, user-obj-y build: move util-obj-y to libqemuutil.a build: rename oslib-obj-y to util-obj-y libcacard: list oslib-obj-y file explicitly libcacard: link vscclient to dynamic library libcacard: rewrite Makefile in non-recursive style libcacard: add list of exported symbols libcacard: use per-target variable definitions libcacard: prepare to use -y trick in the Makefile libcacard: require libtool to build it ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 0054ee8c4168e7e298915baaa1a88d717e541bd3 Merge: 63fb259... 5178234... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Jan 14 10:22:31 2013 -0600 Merge remote-tracking branch 'qmp/queue/qmp' into staging * qmp/queue/qmp: monitor: assert monitor_puts()'s loop invariant target-i386: fix bits 39:32 of the final physical address when using 4M page Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit f9943cd58f8a053172aa701d79da512ccd10d758 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 4 10:15:53 2013 +0100 pixman: pass extra cflags and ldflags Store --extra-cflags and --extra-ldflags in config-host.mak, then pass them on to the pixman configure script. Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 036078475427f2562c8e505f6bb44dbf5d8cbd95 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:33:25 2013 +0100 usb-host: Initialize dev->port the obviously safe way Coverity worries the strcpy() could overrun the destination. It can't, because the source always points to usb_host_scan()'s auto port[], which has the same size. Use pstrcpy() anyway, to hush the checker. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4663530898a15944706d51b523d1f1545e32e46a Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:33:24 2013 +0100 usb-host: Drop superfluous null test from usb_host_auto_scan() Coverity points out that port is later passed to usb_host_open(), which dereferences it. It actually can't be null: it always points to usb_host_scan()'s auto port[]. Drop the superfluous port == NULL test. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cc8d2b65c7e5f44172bf3ec300407522162e9a7f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:33:23 2013 +0100 ehci: Assert state machine is sane w.r.t. EHCIQueue Coverity worries the EHCIQueue pointer could be null when we pass it to functions that reference it. The state machine ensures it can't be null then. Assert that, to hush the checker. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit de0161c0d553f2aaf6118ca87f978a5e6b4a9732 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Jan 11 16:41:29 2013 +0100 dataplane: handle misaligned virtio-blk requests O_DIRECT on Linux has alignment requirements on I/O buffers and misaligned requests result in -EINVAL. The Linux virtio_blk guest driver usually submits aligned requests so I forgot to handle misaligned requests. It turns out that virtio-win guest drivers submit misaligned requests. Handle them using a bounce buffer that meets alignment requirements. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b5ef1aab945c1b04740574064b13eb93f1572587 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Jan 11 16:41:28 2013 +0100 dataplane: extract virtio-blk read/write processing into do_rdwr_cmd() Extract code for read/write command processing into do_rdwr_cmd(). This brings together pieces that are spread across process_request(). The real motivation is to set the stage for handling misaligned requests, which the next patch tackles. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c53b1c5114bdf7fc945cbf11436da61789ca2267 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Fri Jan 11 16:41:27 2013 +0100 block: make qiov_is_aligned() public The qiov_is_aligned() function checks whether a QEMUIOVector meets a BlockDriverState's alignment requirements. This is needed by virtio-blk-data-plane so: 1. Move the function from block/raw-posix.c to block/block.c. 2. Make it public in block/block.h. 3. Rename to bdrv_qiov_is_aligned(). 4. Change return type from int to bool. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b608c8dc02c78ee95455a0989bdf1b41c768b2ef Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:28:35 2013 +0100 raw-posix: fix bdrv_aio_ioctl When the raw-posix aio=thread code was moved from posix-aio-compat.c to block/raw-posix.c, there was an unintended change to the ioctl code. The code used to return the ioctl command, which posix_aio_read() would later morph into a zero. This hack is not necessary anymore, and in fact breaks scsi-generic (which expects a zero return code). Remove it. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0e7106d8b5f7ef4f9df10baf1dfb3db482bcd046 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Thu Jan 10 16:03:47 2013 +0800 sheepdog: implement direct write semantics Sheepdog supports both writeback/writethrough write but has not yet supported DIRECTIO semantics which bypass the cache completely even if Sheepdog daemon is set up with cache enabled. Suppose cache is enabled on Sheepdog daemon size, the new cache control is cache=writeback # enable the writeback semantics for write cache=writethrough # enable the emulated writethrough semantics for write cache=directsync # disable cache competely Guest WCE toggling on the run time to toggle writeback/writethrough is also supported. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8e895599a1beb250ebca00e83b5fae6a828d2171 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:39:27 2013 +0100 block: do not probe zero-sized disks A blank CD or DVD is visible as a zero-sized disks. Probing such disks will lead to an EIO and a failure to start the VM. Treating them as raw is a better solution. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 0cb41e2c5ebc1f8fa180a1726981416fee9abad1 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 14:06:51 2013 +0100 xhci: nuke transfe5rs on detach Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f3dcf6384cc94b6a688f3a366c20642f36247b68 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 13:06:57 2013 +0100 xhci: call xhci_detach_slot on root port detach too Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8125184178de05d762e39ee07f44ada6006e87bd Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 13:06:16 2013 +0100 xhci: create xhci_detach_slot helper function Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 00e4d0dbad9f2d449f021394addec9dfae5678bf Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Jan 7 12:59:43 2013 +0100 pc-testdev: use typedefs Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 08688af04dc1137ac2f420b35c235183926b4a23 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:24:50 2013 +0100 qxl: Don't drop client capability bits interface_set_client_capabilities() copies only the first few bits, because it falls into a Classic C trap: you can declare a parameter uint8_t caps[58], but the resulting parameter type is uint8_t *, not uint8_t[58]. In particular, sizeof(caps) is sizeof(uint8_t *), not the intended sizeof(uint8_t[58]). Harmless, because the bits aren't used, yet. Broken in commit c10018d6. Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bc5f92e5db6f303e73387278e32f8669f0abf0e5 Author: Markus Armbruster <armbru@xxxxxxxxxxxx> Date: Thu Jan 10 14:24:49 2013 +0100 qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check The pointer arithmetic there is safe, but ugly. Coverity grouses about it. However, the actual comparison is off by one: <= end instead of < end. Fix by rewriting the check in a cleaner way. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit aaf821fde35f2ac5cf509ebd83a7d40704ea8d48 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 10:45:20 2012 +0100 build: improve quiet output for .stp rules Mention the directory in which the .stp file is being generated. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ff667e2e9b86fdc36e3b143483526f4c4fe80049 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:45:20 2012 +0100 build: fold trace-obj-y into libqemuutil.a Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0e848f482bce75f4d9cbac9f495fa45e51d08c9a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 24 14:06:27 2012 +0100 build: some simplifications for "trace/Makefile.objs" Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 84ecb7a6b9b2b14adadc1ff21c854d9e5f42be56 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 17:38:14 2012 +0100 build: remove coroutine-obj-y Just fold it into block-obj-y. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bf0842b71f581e0c60f4bbfbebf37ff999a22b88 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 17:36:35 2012 +0100 build: move version-obj-y to the generic LINK rule There is no reason for it to be in block-obj-y, in particular. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 576d55068d210c7316297af4194a10f729efe742 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:27:51 2012 +0100 build: move base QAPI files to libqemuutil.a Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 59cacde8cdf2e85de9b1aff63e456e89a8a5c59d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:03:18 2012 +0100 build: move QAPI definitions for QEMU out of qapi-obj-y There is no reason why for example qemu-ga should include all the definitions for the QEMU monitor. However, there are a few that are needed (qapi_free_SocketAddress, qapi_free_InetSocketAddress, ErrorClass_lookup). These should be moved to a separate "core" .json schema that goes into libqemuutil.a. For now, make this clearer by moving the qapi-*.o definitions out of libqemuutil.a. Once the above refactoring is done, qga-obj-y should not include anymore qapi-types.o and qapi-visit.o. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9444e9e640d56039253d885ba88c3fa818a00149 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:24:49 2012 +0100 build: consolidate multiple variables into universal-obj-y The directory descent mechanism, and a less-flat tree both helped in making some *-obj-y definitions very short. Many of these often end up in universal-obj-y, and used to be separate only because of libuser (which is now part of history...). Consolidate these variables in a single one. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a372823a14461c454feaa86373bd672fd518847a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 16:10:26 2012 +0100 build: move qobject files to qobject/ and libqemuutil.a Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit baacf04799ace72a9c735dd9306a1ceaf305e7cf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:58:44 2012 +0100 build: move libqemuutil.a components to util/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f157ebba2de4a6225679e13cc1ce01ff5d147c76 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 16:09:36 2012 +0100 build: move files away from tools-obj-y, common-obj-y, user-obj-y Split them between libqemuutil.a and, for those used by qemu-img/io/nbd, block-obj-y. Static libraries ensure that binaries such as qemu-ga do not include unused modules. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8a090705b4485eaed602632963cc53acaf3ba12e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 15:40:20 2012 +0100 build: move util-obj-y to libqemuutil.a Use a static library to eliminate repetition in the linking rules. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e4b42e6ebc2442f5ae9885d62171599cc682b4f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 14:34:31 2012 +0100 build: rename oslib-obj-y to util-obj-y This prepares the creation of libqemuutil.a in the next patch. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d9dc91ace82d1c4ca6f2c6f10a9cfcacf988662e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:24:27 2012 +0100 libcacard: list oslib-obj-y file explicitly We will grow the list of files in the next patches, but libcacard should remain slim. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 26ca8c06d2e4fb43903c9d5e8ebe27792ffc461b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 08:42:03 2012 +0100 libcacard: link vscclient to dynamic library There is no reason for vscclient to duplicate the code. rules.mak takes care of invoking libtool to do the link. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 992aeb8eb53e5846a957cf333f2e1ec8cb6e0c04 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 08:34:49 2012 +0100 libcacard: rewrite Makefile in non-recursive style Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5018f1cc9f9e2b68c12671e83cd1e3c6a12ec2b5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:19:51 2012 +0100 libcacard: add list of exported symbols Do not export internal QEMU symbols. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit af0c8e9f3c75a23905b97be6f6e530acaa7bedc3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:13:10 2012 +0100 libcacard: use per-target variable definitions This lets the libcacard Makefile use more rules.mak magic. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 591eca679e6d1165c9c69896dcecc8087bb1619c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:16:33 2012 +0100 libcacard: prepare to use -y trick in the Makefile Rename variables to follow the conventions of the rest of the build systems. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b6fc675b25d32f018870e202eb4b2a6eb509f88b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 20:40:35 2012 +0100 libcacard: require libtool to build it Do not fail at build time, instead just disable the library if libtool is not present. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e832341bde5448a6a1392ea903a553497a13763b Author: Alon Levy <alevy@xxxxxxxxxx> Date: Wed Nov 28 11:16:26 2012 +0200 libcacard: fix missing symbol in libcacard.so Before patch: $ make libcacard.la $ nm ./libcacard/.libs/libcacard.so.0.0.0 | grep " U " | \ egrep -v "(g_)|(GLIBC)|(SECMOD)|(PK11)|(CERT)|(NSS)|(PORT)|(PR)" U error_set Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit afd347ab3874858bfb609f22032c34ecd5f37d08 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 20:39:36 2012 +0100 build: remove CONFIG_SMARTCARD The passthru smartcard does not have the shared library dependency, build it unconditionally. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2c13ec50e763621889f2b2e6b5d587f692e58f3f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Dec 21 09:23:18 2012 +0100 build: move dtrace rules to rules.mak Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2165588274332e9f08891d5b22d56f4c0b7dc437 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:57:45 2012 +0100 build: support linking with libtool objects/libraries This patch moves the complication of using libtool to the generic rules.mak file. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f141ccfa15096a7610b9973ae5ebae6562625a8d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 18:32:53 2012 +0100 build: make libtool verbose when making with V=1 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5708fc665524c5218076388504d078441fb3940c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 26 15:36:40 2012 +0100 stubs: fully replace qemu-tool.c and qemu-user.c Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4d4545743f55b37d37535f7b32456b82c97efeb8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 26 16:03:42 2012 +0100 qemu-option: move standard option definitions out of qemu-config.c Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 63fb2590839162afdf14d7c0ee02d460766c0956 Merge: 02e079c... 314e229... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 12 12:47:07 2013 +0000 Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: target-arm: Fix SWI (SVC) instruction in M profile. target-arm: use type_register() instead of type_register_static() commit 02e079c79cdb7ac8180f92edaed4b942ca6b7c71 Merge: 837d1f9... 61993a6... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 12 12:47:02 2013 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (31 commits) PPC: linux-user: Calculate context pointer explicitly target-ppc: Error out for -cpu host on unknown PVR target-ppc: Slim conversion of model definitions to QOM subclasses PPC: Bring EPR support closer to reality PPC: KVM: set has-idle in guest device tree kvm: Update kernel headers openpic: fix CTPR and de-assertion of interrupts openpic: move IACK to its own function openpic: IRQ_check: search the queue a word at a time openpic: fix sense and priority bits openpic: add some bounds checking for IRQ numbers openpic: use standard bitmap operations Revert "openpic: Accelerate pending irq search" openpic: always call IRQ_check from IRQ_get_next openpic/fsl: critical interrupts ignore mask before v4.1 openpic: make ctpr signed openpic: rework critical interrupt support openpic: make register names correspond better with hw docs ppc/booke: fix crit/mcheck/debug exceptions openpic: lower interrupt when reading the MSI register ... commit 837d1f978224f7e7b020c71ffb10b291952cc596 Merge: a6fc23e... 2b35e93... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 12 12:46:57 2013 +0000 Merge branch 's390-reorg' of git://repo.or.cz/qemu/rth * 's390-reorg' of git://repo.or.cz/qemu/rth: (149 commits) target-s390: Claim maintainership target-s390: Use noreturn for exception and load_psw target-s390: Use TCG_CALL_NO_WG for misc helpers target-s390: Use TCG_CALL_NO_WG for integer helpers target-s390: Use TCG_CALL_NO_WG for floating-point helpers target-s390: Use TCG_CALL_NO_WG for memory helpers target-s390: Perform COMPARE AND SWAP inline target-s390: Optimize get_address target-s390: Optimize ADDC/SUBB target-s390: Optimize ADDU/SUBU CC testing target-s390: Tidy comparisons target-s390: Optmize emitting discards target-s390: Optimize XC target-s390: Fix cpu_clone_regs target-s390: Implement LOAD/SET FP AND SIGNAL target-s390: Implement SET ROUNDING MODE target-s390: Use uint64_to_float128 target-s390: Implement LCDFR target-s390: Check insn operand specifications target-s390: Implement CPSDR ... commit a6fc23e5dc76660792c8363d058adf22caa82945 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Jan 11 16:41:43 2013 +0000 hw/pc.c: add ULL suffix in ioport80_read and ioportF0_read return value The commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d broke the compilation for i386. ULL need to be specify for uint64_t value. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 163fa4b09db3e36c612e178fd11b3af4247cbd56 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jan 11 15:05:06 2013 -0800 tcg-i386: use LEA for 3-operand 64-bit addition Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 092bb3068801bd6bfc90fcced2661e77bb811764 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jan 9 10:17:08 2013 +0100 pixman: fix warning Cc: afaerber@xxxxxxx Cc: agraf@xxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cc6e3ca93c1b40fba579e8724dd06ca9f0507b31 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Jan 9 10:17:07 2013 +0100 gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3dd46c78525a30e98c68a44e1c3797d9fcfb0462 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 5 10:10:27 2013 +0000 optionrom: build with discrete CPP and AS steps Build option ROM .S files with separate preprocessor and assembler steps because the C compiler could be unsuitable. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b6d9439c0d221b477c479a41a46797eee228bf88 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Jan 5 14:48:22 2013 +0000 slirp: remove unused field tt Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 338d80dd353c50b6397723ffecf7e5bc3ba1651d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:33 2013 -0800 user: Consider symbolic links as possible directories Commit 2296f194dfde4c0a54f249d3fdb8c8ca21dc611b reduced the number of syscalls performed during user emulation startup, but failed to consider the use of symbolic links in creating directory structures. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit d2565875ec5a483ddcdf3cec821830bd1f082cf6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:32 2013 -0800 alpha-linux-user: Fix sigaction Unconditional bswap replaced by __get_user/__put_user. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 658f2dc970996d547a641b5685e384ebe6f2648e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:31 2013 -0800 linux-user: Rewrite __get_user/__put_user with __builtin_choose_expr The previous formuation with multiple assignments to __typeof(*hptr) falls down when hptr is qualified const. E.g. with const struct S *p, p->f is also qualified const. With this formulation, there's no assignment to any local variable. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c732a52d3e3b7ed42d7daa94ba40a83408cd6f22 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:30 2013 -0800 bswap: Rewrite cpu_to_<endian><type>u with {ld,st}<type>_<endian>_p We've now optimized the ld/st versions; reuse that for the "legacy" versions. Always use inlines so that we get the type checking that we expect. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 612d590ebc6cef179cf5f7823522237e622ab430 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:29 2013 -0800 bswap: Rewrite all ld<type>_<endian>_p functions Use the new host endian unaligned access functions instead of open coding byte-by-byte references. Remove assembly special cases for i386 and ppc -- we've now exposed the operation to the compiler sufficiently for these to be optimized automatically. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 7db2145a6826b14efceb8dd64bfe6ad8647072eb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:28 2013 -0800 bswap: Add host endian unaligned access functions Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cdfe2851c6c33c133bd90c2643cb0486c0f5b325 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:27 2013 -0800 bswap: Tidy base definitions of bswapN Move the bswap_N -> bswapN wrappers inside CONFIG_BYTESWAP_H. Change the ultimate fallback defintions from macros to inline functions. The proper types recieved by the function arguments means we can remove unnecessary casts, making the code more readable. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fedb88bd32d331131d77a9b567d12e682fd102ac Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Jan 4 16:39:26 2013 -0800 fdt: Use bswapN instead of bswap_N Fixes the libfdt enabled build for hosts that have <machine/bswap.h>. The code at the beginning of qemu/bswap.h is attempting to standardize on bswapN. In the case of CONFIG_MACHINE_BSWAP_H, this is all we get. In the case of CONFIG_BYTESWAP_H, we get bswap_N from the system header and then wrap these with inline functions to get bswapN. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 314e2296dc945e286b605563d7b6e6b269d29816 Author: Alex_Rozenman@xxxxxxxxxx <Alex_Rozenman@xxxxxxxxxx> Date: Fri Jan 11 15:21:22 2013 +0000 target-arm: Fix SWI (SVC) instruction in M profile. When do_interrupt_v7m is called with EXCP_SWI, the PC already points to the next instruction. Don't modify it here. Signed-off-by: Alex Rozenman <Alex_Rozenman@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 918fd0839eeafc83bd4984364321a947d29041fe Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 11 15:21:22 2013 +0000 target-arm: use type_register() instead of type_register_static() The type_register_static() interface is documented as: type_register_static: @info: The #TypeInfo of the new type. @info and all of the strings it points to should exist for the life time that the type is registered. But cpu_register() uses a stack variable for the 'info' argument, so it has to use type_register() instead of type_register_static(). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit fedf2de31023b4ee71a4e578db013976243a8143 Merge: e2848a7... c02e1ea... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 11 08:43:18 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: hw/pc.c: Fix converting of ioport_register* to MemoryRegion Replace remaining gmtime, localtime by gmtime_r, localtime_r savevm: Remove MinGW specific code which is no longer needed qga/channel-posix.c: Explicitly include string.h configure: Fix comment (copy+paste bug) readline: avoid memcpy() of overlapping regions Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e2848a78b0a6715f94623bdf43ef74d3d08cfe4d Merge: 80ec243... 7e973bb... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 11 08:36:52 2013 -0600 Merge remote-tracking branch 'kraxel/q35.1' into staging * kraxel/q35.1: Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too pc: rename machine types q35: document chipset devices q35: add ich9 intel hda controller Conflicts: hw/intel-hda.c aliguori: resolve conflict with static const change from Andreas. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 80ec24328607937690d0d620b99e8c24ab29e8f5 Merge: 47a150a... 63e3555... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 11 08:23:16 2013 -0600 Merge remote-tracking branch 'afaerber-or/prep-up' into staging * afaerber-or/prep-up: prep: Use pc87312 device instead of collection of random ISA devices prep: Add pc87312 Super I/O emulation prep: Include devices for ppc64 as well Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jan 9 18:10:22 2013 +0000 hw/pc.c: Fix converting of ioport_register* to MemoryRegion The commit 258711 introduced MemoryRegion to replace ioport_region* for ioport 80h and F0h. A MemoryRegion needs to have both read and write callback otherwise a segfault will occur when an access is made. The previous behaviour of this both ioport is to return 0xffffffffffffffff. So keep this behaviour. Reported-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Tested-by: Adam Lackorzynski <adam@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit eb7ff6fb0bddb33991fa44586ac8e2e02019dc97 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jan 7 23:08:13 2013 +0100 Replace remaining gmtime, localtime by gmtime_r, localtime_r This allows removing of MinGW specific code and improves reentrancy for POSIX hosts. [Removed unused ret variable in qemu_get_timedate() to fix warning: vl.c: In function â??qemu_get_timedateâ??: vl.c:451:16: error: variable â??retâ?? set but not used [-Werror=unused-but-set-variable] -- Stefan Hajnoczi] Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 68b891ec3937aa2e18eed5a403b1d9fd9b875084 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Jan 7 22:20:27 2013 +0100 savevm: Remove MinGW specific code which is no longer needed QEMU provides a portable function qemu_gettimeofday instead of gettimeofday and also an implementation of localtime_r for MinGW. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1d57db193f2eb619ccc9a60e76120379b757d9f2 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Mon Jan 7 17:29:55 2013 +0000 qga/channel-posix.c: Explicitly include string.h Explicitly include string.h to avoid warnings under MacOS X/clang about implicit declarations of strerror() and strlen(). Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 75f13596452692fb7375ee558e9fb37cd649e603 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jan 5 12:17:38 2013 +0100 configure: Fix comment (copy+paste bug) Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7e973bb2e17f929f47376a3872f7ccdff25a51ab Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Tue Jan 8 19:52:20 2013 +0100 Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too The WARNING message from commit f7e4dd6c made me notice. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 94dec5948aeb240c7e324ce9ecffeb3e066c1b69 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 08:53:13 2013 +0100 pc: rename machine types Starting with release 1.4 we have a fully functional q35 machine type, i.e. "qemu -M q35" JustWorks[tm]. Update machine type names to reflect that: * pc-1.4 becomes pc-i440fx-1.4 * q35-next becomes pc-q35-1.4 The pc-1.3 (+older) names are maintained for compatibility reasons. For the same reason the "pc" and "q35" aliases are kept. pc-piix-1.4 continues to be the default machine type, again for compatibility reasons. Also updated the description (shown by "qemu -M ?") with host bridge name, south bridge name and chipset release year. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7d9f7b51cc62ec23ac72e3338165a2f3007631a2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 09:38:19 2013 +0100 q35: document chipset devices Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8b07eaa110df41b027ee62cbf3549cc3e48ec147 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Jan 8 09:25:16 2013 +0100 q35: add ich9 intel hda controller Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 47a150a4bbb06e45ef439a8222e9f46a7c4cca3f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:49:08 2013 +0100 virtio-scsi: abort in-flight I/O when the device is reset When the device is reset, the SCSI bus should also be reset so that in-flight I/O is cancelled. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d0508c3664290baad379f6513c92cae6e5aac95b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jan 10 15:49:07 2013 +0100 qdev: add qbus_reset_all Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8c43a6f05d5ef3c9484bd2be9d4e818d58e62016 Author: Andreas Färber <afaerber@xxxxxxx> Date: Thu Jan 10 16:19:07 2013 +0100 Make all static TypeInfos const Since 39bffca2030950ef6efe57c2fac8327a45ae1015 (qdev: register all types natively through QEMU Object Model), TypeInfo as used in the common, non-iterative pattern is no longer amended with information and should therefore be const. Fix the documented QOM examples: sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h Since frequently the wrong examples are being copied by contributors of new devices, fix all types in the tree: sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c This also avoids to piggy-back these changes onto real functional changes or other refactorings. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 63e3555e80c31776285accbb4d0c14ae91c457dc Merge: 52a71bf... a6308bc... Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Thu Jan 10 21:52:28 2013 +0100 Merge branch 'master' of git://git.qemu.org/qemu into prep-up Conflicts: hw/Makefile.objs hw/ppc_prep.c Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit a6308bc2224db238e72c570482717b68246a7ce0 Merge: 8757c09... 067f069... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 10 13:26:31 2013 -0600 Merge remote-tracking branch 'kraxel/build.1' into staging * kraxel/build.1: m48t59-test: don't touch watchdog rtc-test: skip year-2038 overflow check in case time_t is 32bit only Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8757c09f15dcd455f81b4faed73da0d35d7e6b53 Merge: 5e3bc73... 8fc94e5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Jan 10 13:26:12 2013 -0600 Merge remote-tracking branch 'awilliam/tags/qemu-1.4-vfio-20130109.0' into staging vfio-pci: Fixes for qemu 1.4 & stable * awilliam/tags/qemu-1.4-vfio-20130109.0: vfio-pci: Loosen sanity checks to allow future features vfio-pci: Make host MSI-X enable track guest Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 517823449ebe8e3758b86c441cc74968b68e6491 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Jan 10 14:10:22 2013 +0100 monitor: assert monitor_puts()'s loop invariant Chiefly to hush up Coverity. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 067f0691277325dcce8401534d2ffc6164305021 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 4 17:12:18 2013 +0100 m48t59-test: don't touch watchdog Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4e45deedf57c6cc7113b588282d0c16f89298aff Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Jan 4 10:37:50 2013 +0100 rtc-test: skip year-2038 overflow check in case time_t is 32bit only Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6ad53bdf5830bfc30221aee8d4ced9a9eaf8fe03 Author: Wen Congyang <wency@xxxxxxxxxxxxxx> Date: Sat Dec 22 15:13:54 2012 +0800 target-i386: fix bits 39:32 of the final physical address when using 4M page ((pde & 0x1fe000) << 19) is the bits 39:32 of the final physical address, and we shouldn't use unit32_t to calculate it. Convert the type to hwaddr to fix this problem. Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> commit 5e3bc735d93dd23f074b5116fd11e1ad8cd4962f Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Tue Jan 8 16:30:56 2013 +0100 Check return values from g_poll and select The current implementation of os_host_main_loop_wait() on Windows, returns 1 only when a g_poll() event occurs because the return value of select() is overridden. This is wrong as we may skip a socket event, as shown in this example: 1. select() returns 0 2. g_poll() returns 1 (socket event occurs) 3. os_host_main_loop_wait() returns 1 4. qemu_iohandler_poll() sees no socket event because select() has return before the event occurs 5. select() returns 1 6. g_poll() returns 0 (g_poll overrides select's return value) 7. os_host_main_loop_wait() returns 0 8. qemu_iohandler_poll() doesn't check for socket events because the return value of os_host_main_loop_wait() is zero. 9. goto 5 This patch use one variable for each of these return values, so we don't miss a select() event anymore. Also move the call to select() after g_poll(), this will improve latency as we don't have to go through two os_host_main_loop_wait() calls to detect a socket event. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7cd5da7eef152a533c5774effd2e7bbfa5976c86 Merge: 4b274b1... 96610da... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 9 09:55:51 2013 -0600 Merge remote-tracking branch 'mdroth/qga-pull-1-8-2013' into staging * mdroth/qga-pull-1-8-2013: qemu-ga: sample fsfreeze hooks qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw qemu-ga: guest_suspend(): improve error reporting qemu-ga: bios_supports_mode(): improve error reporting qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() + error_set() qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set() qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set() qemu-ga: build_fs_mount_list(): take an Error argument qemu-ga: qmp_guest_shutdown(): improve error reporting qemu-ga: qmp_guest_file_*: improve error reporting qemu-ga: qmp_guest_file_close(): fix fclose() error check qemu-ga: guest_file_handle_find(): take an Error argument Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit feb9a2ab4b0260d8d680a7ffd25063dafc7ec628 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Sun Jan 6 21:30:31 2013 -0700 pci-assign: Enable MSIX on device to match guest When a guest enables MSIX on a device we evaluate the MSIX vector table, typically find no unmasked vectors and don't switch the device to MSIX mode. This generally works fine and the device will be switched once the guest enables and therefore unmasks a vector. Unfortunately some drivers enable MSIX, then use interfaces to send commands between VF & PF or PF & firmware that act based on the host state of the device. These therefore may break when MSIX is managed lazily. This change re-enables the previous test used to enable MSIX (see qemu-kvm a6b402c9), which basically guesses whether a vector will be used based on the data field of the vector table. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 5c03a2542fbe1a275fe3dd7ebd48a6a283b249ed Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:38 2012 +0100 pci: use constants for devices under the 1B36 device ID, document them Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 96610da210697a1f33669d8bec0cb7b944d3a516 Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Date: Wed Dec 12 12:55:57 2012 +0900 qemu-ga: sample fsfreeze hooks Adds sample hook scripts for --fsfreeze-hook option of qemu-ga. - fsfreeze-hook : execute scripts in fsfreeze-hook.d/ - fsfreeze-hook.d/mysql-flush.sh.sample : quiesce MySQL before snapshot Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit ec0f694c11e8e0958d727e40e0759ab99e5908d6 Author: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Date: Wed Dec 12 12:55:55 2012 +0900 qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw To use the online disk snapshot for online-backup, application-level consistency of the snapshot image is required. However, currently the guest agent can provide only filesystem-level consistency, and the snapshot may contain dirty data, for example, incomplete transactions. This patch provides the opportunity to quiesce applications before snapshot is taken. If --fsfreeze-hook option is specified, the hook is executed with "freeze" argument before the filesystem is frozen by fsfreeze-freeze command. As for fsfreeze-thaw command, the hook is executed with "thaw" argument after the filesystem is thawed. This patch depends on patchset to improve error reporting by Luiz Capitulino: http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03016.html Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@xxxxxxxxxxx> Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> *clarified usage in help output Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 7b3760879bf323a0d9654a5158d5b3ed51882505 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:04 2012 -0200 qemu-ga: guest_suspend(): improve error reporting Most errors are QERR_UNDEFINED_ERROR today. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 6b26e837a40a7bed14080fb9029ad6c22409f8b3 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:03 2012 -0200 qemu-ga: bios_supports_mode(): improve error reporting Most errors are QERR_UNDEFINED_ERROR today. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 878a0ae0ab3eb8428626e67995c9efad8eb1ba80 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:02 2012 -0200 qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() + error_set() Convert them to error_setg_errno(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 071673b09021b60eab268653c6bcfba92eea7603 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:01 2012 -0200 qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set() Convert them to error_setg_errno(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 617fbbc13219d26dd71d100d83d617ec8acf5e2d Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:02:00 2012 -0200 qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set() Convert them to error_setg_errno(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 261551d1cc3a830e9623971dffa8033b216f1d63 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Thu Nov 29 15:29:11 2012 -0200 qemu-ga: build_fs_mount_list(): take an Error argument Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit d220a6dfea10655efe70d37748a3c23cf0a00647 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:58 2012 -0200 qemu-ga: qmp_guest_shutdown(): improve error reporting Most errors are QERR_UNDEFINED_ERROR. Also, adds ga_wait_child() as a future commit will use it too. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit db3edb665549979b44e0376ab9e859f58b89b503 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:57 2012 -0200 qemu-ga: qmp_guest_file_*: improve error reporting Use error_setg_errno() when possible with an improved error description. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 3ac4b7c51e3ba181a86983ba2601a595ed8f3b1d Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:56 2012 -0200 qemu-ga: qmp_guest_file_close(): fix fclose() error check fclose() returns EOF on error. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit a9de6d01df3153b2ac0cade11e26a66d596d7166 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Nov 27 11:01:55 2012 -0200 qemu-ga: guest_file_handle_find(): take an Error argument Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> *Fixed missing space character in error message Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> commit 4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce Merge: 560c30b... ebe8b9c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 8 15:15:57 2013 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: target-i386: Explicitly set vendor for each built-in cpudef target-i386: Sanitize AMD's ext2_features at realize time target-i386: Filter out unsupported features at realize time qemu-common.h: Make qemu_init_vcpu() stub static inline target-i386: check/enforce: Eliminate check_feat field target-i386: check/enforce: Check SVM flag support as well target-i386: check/enforce: Check all CPUID.80000001H.EDX bits target-i386: check/enforce: Do not ignore "hypervisor" flag target-i386: check/enforce: Fix CPUID leaf numbers on error messages target-i386: kvm: Enable all supported KVM features for -cpu host target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features cpu: Change parent type to Device qdev: Don't assume existence of parent bus on unparenting qdev: Include qdev code into *-user, too libqemustub: sysbus_get_default() stub libqemustub: vmstate register/unregister stubs libqemustub: Add qemu_[un]register_reset() stubs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8fc94e5a8046e349e07976f9bcaffbcd5833f3a2 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Jan 8 14:10:03 2013 -0700 vfio-pci: Loosen sanity checks to allow future features VFIO_PCI_NUM_REGIONS and VFIO_PCI_NUM_IRQS should never have been used in this manner as it locks a specific kernel implementation. Future features may introduce new regions or interrupt entries (VGA may add legacy ranges, AER might add an IRQ for error signalling). Fix this before it gets us into trouble. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx commit b0223e29afdc88cc262a764026296414396cd129 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Jan 8 14:09:03 2013 -0700 vfio-pci: Make host MSI-X enable track guest Guests typically enable MSI-X with all of the vectors in the MSI-X vector table masked. Only when the vector is enabled does the vector get unmasked, resulting in a vector_use callback. These two points, enable and unmask, correspond to pci_enable_msix() and request_irq() for Linux guests. Some drivers rely on VF/PF or PF/fw communication channels that expect the physical state of the device to match the guest visible state of the device. They don't appreciate lazily enabling MSI-X on the physical device. To solve this, enable MSI-X with a single vector when the MSI-X capability is enabled and immediate disable the vector. This leaves the physical device in exactly the same state between host and guest. Furthermore, the brief gap where we enable vector 0, it fires into userspace, not KVM, so the guest doesn't get spurious interrupts. Ideally we could call VFIO_DEVICE_SET_IRQS with the right parameters to enable MSI-X with zero vectors, but this will currently return an error as the Linux MSI-X interfaces do not allow it. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx commit ebe8b9c6eb6e425d44805288b6b5dabd69368f46 Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Dec 28 21:01:18 2012 +0100 target-i386: Explicitly set vendor for each built-in cpudef Since cpudef config is not supported anymore and all remaining sources now always set x86_def_t.vendor[123] fields, remove setting default vendor to simplify future re-factoring. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9b15cd9e7a1ab0827f4d01c4be77eb41f195073f Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Dec 28 21:01:17 2012 +0100 target-i386: Sanitize AMD's ext2_features at realize time When CPU properties are implemented, ext2_features may change between object_new(CPU) and cpu_realize_fn(). Sanitizing ext2_features for AMD based CPU at realize() time will keep current behavior after CPU features are converted to properties. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4586f157757acc5c8edcc954289c7aa51661235c Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Dec 28 21:01:16 2012 +0100 target-i386: Filter out unsupported features at realize time Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 75a192aa68e7801ab8465b3345ac74d6d3cdceca Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Jan 5 14:44:08 2013 +0100 qemu-common.h: Make qemu_init_vcpu() stub static inline Turn the *-user macro into a no-op inline function to avoid unused-variable warnings and band-aiding #ifdef'ery. This allows to drop an #ifdef for alpha and avoids more for unicore32 and other upcoming trivial realizefn implementations. Suggested-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit e8beac00bd26a60e788ab336f38bc12a95b20f0d Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:10 2013 -0200 target-i386: check/enforce: Eliminate check_feat field Now that all entries have check_feat=~0 in kvm_check_features_against_host(), we can eliminate check_feat entirely and make the code check all bits. This patch shouldn't introduce any behavior change, as check_feat is set to ~0 on all entries. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 396d2cfccdc1a46a8c66d9d9baaa59071a553b1c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:09 2013 -0200 target-i386: check/enforce: Check SVM flag support as well When nested SVM is supported, the kernel returns the SVM flag on GET_SUPPORTED_CPUID[1], so we can check the SVM flag safely in kvm_check_features_against_host(). I don't know why the original code ignored the SVM flag. Maybe it was because kvm_cpu_fill_host() used the CPUID instruction directly instead of GET_SUPPORTED_CPUID [1] Older kernels (before v2.6.37) returned the SVM flag even if nested SVM was _not_ supported. So the only cases where this patch should change behavior is when SVM is being requested by the user or the CPU model, but not supported by the host. And on these cases we really want QEMU to abort if the "enforce" option is set. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 227146259e8deb14b7b30e7718e61512e0f524a9 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:08 2013 -0200 target-i386: check/enforce: Check all CPUID.80000001H.EDX bits I have no idea why PPRO_FEATURES was being ignored on the check of the CPUID.80000001H.EDX bits. I believe it was a mistake, and it was supposed to be ~(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) or just ~CPUID_EXT2_AMD_ALIASES, because some time ago kvm_cpu_fill_host() used the CPUID instruction directly (instead of kvm_arch_get_supported_cpuid()). But now kvm_cpu_fill_host() uses kvm_arch_get_supported_cpuid(), and kvm_arch_get_supported_cpuid() returns all supported bits for CPUID.80000001H.EDX, even the AMD aliases (that are explicitly copied from CPUID.01H.EDX), so we can make the code check/enforce all the CPUID.80000001H.EDX bits. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 54830ff84df5d1fb182e91bf40e3d7c66c2559a4 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:07 2013 -0200 target-i386: check/enforce: Do not ignore "hypervisor" flag We don't need any hack to ignore CPUID_EXT_HYPERVISOR anymore, because kvm_arch_get_supported_cpuid() now sets CPUID_EXT_HYPERVISOR properly. So, this shouldn't introduce any behavior change, but it makes the code simpler. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8b4beddc6bead9d7c85fe690b62f2621574eb195 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:06 2013 -0200 target-i386: check/enforce: Fix CPUID leaf numbers on error messages The -cpu check/enforce warnings are printing incorrect information about the missing flags. There are no feature flags on CPUID leaves 0 and 0x80000000, but there were references to 0 and 0x80000000 in the table at kvm_check_features_against_host(). This changes the model_features_t struct to contain the register number as well, so the error messages print the correct CPUID leaf+register information, instead of wrong CPUID leaf numbers. This also changes the format of the error messages, so they follow the "CPUID.<leaf>.<register>.<name> [bit <offset>]" convention used in Intel documentation. Example output: $ qemu-system-x86_64 -machine pc-1.0,accel=kvm -cpu Opteron_G4,+ia64,enforce warning: host doesn't support requested feature: CPUID.01H:EDX.ia64 [bit 30] warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26] warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28] warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5] warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6] warning: host doesn't support requested feature: CPUID.80000001H:ECX.misalignsse [bit 7] warning: host doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8] warning: host doesn't support requested feature: CPUID.80000001H:ECX.xop [bit 11] warning: host doesn't support requested feature: CPUID.80000001H:ECX.fma4 [bit 16] Unable to find x86 CPU definition $ Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bd004beff8db09b5790b1bb19fad3974e112f007 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:05 2013 -0200 target-i386: kvm: Enable all supported KVM features for -cpu host When using -cpu host, we don't need to use the kvm_default_features variable, as the user is explicitly asking QEMU to enable all feature supported by the host. This changes the kvm_cpu_fill_host() code to use GET_SUPPORTED_CPUID to initialize the kvm_features field, so we get all host KVM features enabled. This will also allow us to properly check/enforce KVM features inside kvm_check_features_against_host() later. For example, we will be able to make this: $ qemu-system-x86_64 -cpu ...,+kvm_pv_eoi,enforce refuse to start if kvm_pv_eoi is not supported by the host (after we fix kvm_check_features_against_host() to check KVM flags as well). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit fcb93c036053ca8a5cfc02ca72b1b80dd2062423 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Fri Jan 4 20:01:04 2013 -0200 target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features The existing -cpu host code simply sets every bit inside svm_features (initializing it to -1), and that makes it impossible to make the enforce/check options work properly when the user asks for SVM features explicitly in the command-line. So, instead of initializing svm_features to -1, use GET_SUPPORTED_CPUID to fill only the bits that are supported by the host (just like we do for all other CPUID feature words inside kvm_cpu_fill_host()). This will keep the existing behavior (as filter_features_for_kvm() already uses GET_SUPPORTED_CPUID to filter svm_features), but will allow us to properly check for KVM features inside kvm_check_features_against_host() later. For example, we will be able to make this: $ qemu-system-x86_64 -cpu ...,+pfthreshold,enforce refuse to start if the SVM "pfthreshold" feature is not supported by the host (after we fix kvm_check_features_against_host() to check SVM flags as well). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 961f839570f01d60a0b224248e6e56fc1d675793 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:13 2012 -0200 cpu: Change parent type to Device This finally makes the CPU class a subclass of the Device class, allowing us to start using DeviceState properties on CPU subclasses. It has no_user=1, as creating CPUs using -device doesn't work yet. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 5d5b24d042072fb4d13e7027f6e52e44390a9896 Author: Andreas Färber <afaerber@xxxxxxx> Date: Fri Jan 4 18:13:00 2013 +0100 qdev: Don't assume existence of parent bus on unparenting Commit 667d22d1ae59da46b4c1fbd094ca61145f19b8c3 (qdev: move bus removal to object_unparent) made the assumption that at unparenting time parent_bus is not NULL. This assumption is unjustified since object_unparent() may well be called directly after object_initialize(), without any qdev_set_parent_bus(). This did not cause any issues yet because qdev_[try_]create() does call qdev_set_parent_bus(), falling back to SysBus if unsupplied. While at it, ensure that this new function uses the device_ prefix and make the name more neutral in light of this semantic change. Reported-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx> commit 507066f8a9610c0088df19ce7b3e436f43165ec1 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:12 2012 -0200 qdev: Include qdev code into *-user, too The code depends on some functions from qemu-option.o, so add qemu-option.o to universal-obj-y to make sure it's included. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 906709a151344805df4ff493a7d3a81fbce46fbe Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:09 2012 -0200 libqemustub: sysbus_get_default() stub The stub will be used on cases where sysbus.c is not compiled in (e.g. *-user). Note that code that uses NULL as the bus with qdev{_try,}_create() implicitly uses sysbus_get_default() as the bus, and will still require sysbus.c to be compiled in. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 083a5f8731bb3c7e0eae99dcdb1209027d770aaf Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:08 2012 -0200 libqemustub: vmstate register/unregister stubs Add vmstate stub functions, so that qdev.o can be used without savevm.o when vmstate support is not necessary (i.e. by *-user). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 41c6bcd912d1a2461313040566077b86e48eea31 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:07 2012 -0200 libqemustub: Add qemu_[un]register_reset() stubs This will be useful for code that don't call qemu_devices_reset() (e.g. *-user). If qemu_devices_reset() is never called, it means we don't need to keep track of the reset handler list. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit b8ef62a9b746f2d7078d97c7ee5d1c7a31b42d5d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:37 2012 +0100 ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt Due to disagreement on a name that is generic enough for hw/pci/pci.h, the symbolic constants are placed in the .c files. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 13744bd0a054bc7a4b1432cc8facd23d41a9806e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:36 2012 +0100 virtio-9p: use symbolic constant, add to pci-ids.txt Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4ea9296c0738e7885e27f463bb6bcbab32b6ef7a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:35 2012 +0100 reorganize pci-ids.txt Some devices were missing, and we're using two PCI vendor ids. This patch only adds devices that are already documented in hw/pci/pci.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 28e7a650691fac674b3aa8697353e27f9c165b1b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 13 10:19:34 2012 +0100 docs: move pci-ids.txt to docs/specs/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 560c30b1db1d40fe45c5104185367c4de43399d3 Merge: c3dd94b... 89eb147... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 8 10:36:20 2013 -0600 Merge remote-tracking branch 'kraxel/usb.75' into staging * kraxel/usb.75: (32 commits) uhci: stop using portio lists usbredir: Add support for buffered bulk input (v2) exynos4210: Add EHCI support usb/ehci: Add SysBus EHCI device for Exynos4210 usb/ehci: Move capsbase and opregbase into SysBus EHCI class usb/ehci: Clean up SysBus and PCI EHCI split xhci: call set-address with dummy usbpacket usb-redir: Add debugging to bufpq save / restore usbredir: Add usbredir_init_endpoints() helper usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci usbredir: Add ep_stopped USBDevice method usbredir: Add USBEP2I and I2USBEP helper macros usbredir: Add an usbredir_stop_ep helper function usb: Add an usb_device_ep_stopped USBDevice method usb: Fix usb_ep_find_packet_by_id hid: Change idle handling to use a timer uhci: Maximize how many frames we catch up when behind uhci: Limit amount of frames processed in one go uhci: Add a QH_VALID define uhci: Fix pending interrupts getting lost on migration ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3dd94b129e222e00a4ed00689e11afdd85c740f Merge: da1a4ce... 83f58e5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Jan 8 10:36:13 2013 -0600 Merge remote-tracking branch 'stefanha/net' into staging * stefanha/net: rtl8139: preserve link state across device reset e1000: no need auto-negotiation if link was down net: clean up network at qemu process termination e1000: Discard oversized packets based on SBP|LPE Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit da1a4cef9e125a866f4ef9a39b342c2913727f70 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Jan 2 05:08:48 2013 +0100 target-mips: Fix helper and tests for dot/cross-dot product instructions Helper function for dpa_w_ph, dpax_w_ph, dps_w_ph and dpsx_w_ph incorrectly defines halfword vector elements as unsigned values. This results in wrong output which is not triggered in the tests as they also follow this logic. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e320d05a531ed4991a87cfe0a4c280563fb88788 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 19:44:31 2013 +0100 target-mips: Replace macros by inline functions The macros RESTORE_ROUNDING_MODE and RESTORE_FLUSH_MODE silently used variable env from their callers. Using inline functions with env passed as a function argument is more transparent. This modification was proposed by Peter Maydell. Cc: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit e1a4019cf13ddf2441496c2e613faba3a891cddf Author: Eric Johnson <ericj@xxxxxxxx> Date: Mon Jan 7 22:26:44 2013 -0800 target-mips: Allow DSP access to be disabled once enabled. Clear the DSP hflags at the start of compute_hflags. Otherwise access is not properly disabled once enabled. Signed-off-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 314992b1a48a5a2a0f2b14195f959ad2c3f5b3ff Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Jan 3 14:17:18 2013 +0100 linux-user: fix mips 32-on-64 prealloc case MIPS only supports 31 bits of virtual address space for user space, so let's make sure we stay within that limit with our preallocated memory block. This fixes the MIPS user space targets when executed without command line option. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 89eb147c2cfd2c797d3662aa2f55254441f0595a Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 3 12:29:41 2013 +0100 uhci: stop using portio lists Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b2d1fe67d09d2b6c7da647fbcea6ca0148c206d3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Dec 19 15:08:33 2012 +0100 usbredir: Add support for buffered bulk input (v2) Buffered bulk mode is intended for bulk *input* endpoints, where the data is of a streaming nature (not part of a command-response protocol). These endpoints' input buffer may overflow if data is not read quickly enough. So in buffered bulk mode the usb-host takes care of the submitting and re-submitting of bulk transfers. Buffered bulk mode is necessary for reliable operation with the bulk in endpoints of usb to serial convertors. Unfortunatelty buffered bulk input mode will only work with certain devices, therefor this patch also adds a usb-id table to enable it for devices which need it, while leaving the bulk ep handling for other devices unmodified. Note that the bumping of the required usbredir from 0.5.3 to 0.6 does not mean that we will now need a newer usbredir release then qemu-1.3, .pc files reporting 0.5.3 have only ever existed in usbredir builds directly from git, so qemu-1.3 needs the 0.6 release too. Changes in v2: -Split of quirk handling into quirks.c Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 7682e8580722f951559f372ba3d2b6170fdbe734 Author: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx> Date: Mon Jan 7 15:38:39 2013 -0500 readline: avoid memcpy() of overlapping regions memcpy() for overlapping regions is undefined behavior; use memmove() instead in readline_hist_add(). [Keep tab characters since surrounding code still uses them -- Stefan] Signed-off-by: Nickolai Zeldovich <nickolai@xxxxxxxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f56a12475ff1b8aa61210d08522c3c8aaf0e2648 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 24 17:37:01 2012 +0200 vhost: backend masking support Support backend guest notifier masking in vhost-net: create eventfd at device init, when masked, make vhost use that as eventfd instead of sending an interrupt. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 24f4fe345c1b80bab1ee18573914123d8028a9e6 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 25 17:41:07 2012 +0200 vhost: set started flag while start is in progress This makes it possible to use started flag for sanity checking of callbacks that happen during start/stop. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 1830b80ff29dbd9d149f7f3cb565a690b5d5994c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 25 17:38:59 2012 +0200 virtio-net: set/clear vhost_started in reverse order As vhost started is cleared last thing on stop, set it first things on start. This makes it possible to use vhost_started while start is in progress which is used by follow-up patches. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit f1d0f15a6d46bd47e7658e44a004c8898c8cb91e Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 24 17:35:27 2012 +0200 virtio: backend virtqueue notifier masking some backends (notably vhost) can mask events at their source in a way that is more efficient than masking through kvm. Specifically - masking in kvm uses rcu write side so it has high latency - in kvm on unmask we always send an interrupt masking at source does not have these issues. Add such support in virtio.h and use in virtio-pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 774345f981854b026e24aeb0833311183a8e8067 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Fri Dec 21 00:27:54 2012 +0200 virtio-pci: cache msix messages Some guests mask a vector then unmask without changing it. Store vectors to avoid kvm system calls in this case. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 078bbb504031dc89616d4b67adcf2ce884cb880b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Fri Dec 21 00:47:46 2012 +0200 kvm: add stub for update msi route Will be used by virtio-pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 4c93bfa9c9f00104b5c7e837da697f9506cb70c7 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Fri Dec 21 00:27:02 2012 +0200 msix: add api to access msix message Will be used by virtio pci. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2d620f593d9395abd9aa453f8ae0861a51d674d8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Dec 20 14:28:58 2012 +0200 virtio: don't waste irqfds on control vqs Pass nvqs to set_guest_notifiers. This makes it possible to save on irqfds by not allocating one for the control vq for virtio-net. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 61993a67128095946ed5df51c3c20748182d8efc Author: Samuel Seay <lightningth@xxxxxxxxx> Date: Fri Jan 4 14:35:48 2013 +0000 PPC: linux-user: Calculate context pointer explicitly Peter Maydell recommended the change to be more proper. The result was tested and shows coming up with the same proper value. Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx> [agraf: change subject] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 6 08:31:31 2013 +0000 target-ppc: Error out for -cpu host on unknown PVR Previously we silently exited, with subclasses we got an opcode warning. Instead, explicitly tell the user what's wrong. An indication for this is -cpu ? showing "host" with an all-zero PVR. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2985b86b5c9c068af203bd912309af033112039a Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Jan 6 08:31:30 2013 +0000 target-ppc: Slim conversion of model definitions to QOM subclasses Since the model list is highly macrofied, keep ppc_def_t for now and save a pointer to it in PowerPCCPUClass. This results in a flat list of subclasses including aliases, to be refined later. Move cpu_ppc_init() to translate_init.c and drop helper.c. Long-term the idea is to turn translate_init.c into a standalone cpu.c. Inline cpu_ppc_usable() into type registration. Split cpu_ppc_register() in two by code movement into the initfn and by turning the remaining part into a realizefn. Move qemu_init_vcpu() call into the new realizefn and adapt create_ppc_opcodes() to return an Error. Change ppc_find_by_pvr() -> ppc_cpu_class_by_pvr(). Change ppc_find_by_name() -> ppc_cpu_class_by_name(). Turn -cpu host into its own subclass. This requires to move the kvm_enabled() check in ppc_cpu_class_by_name() to avoid the class being found via the normal name lookup in the !kvm_enabled() case. Turn kvmppc_host_cpu_def() into the class_init and add an initfn that asserts KVM is in fact enabled. Implement -cpu ? and the QMP equivalent in terms of subclasses. This newly exposes -cpu host to the user, ordered last for -cpu ?. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 68c2dd70068fe82a1989d0d5b70a1ab400bde19a Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 4 11:21:04 2013 +0100 PPC: Bring EPR support closer to reality We already used to support the external proxy facility of FSL MPICs, but only implemented it halfway correctly. This patch adds support for * dynamic enablement of the EPR facility * interrupt acknowledgement only when the interrupt is delivered This way the implementation now is closer to real hardware. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1a61a9ae61cdf7b7d24c3eb711fe772c196c235e Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Thu Jan 3 12:37:02 2013 +0000 PPC: KVM: set has-idle in guest device tree On e500mc, the platform doesn't provide a way for the CPU to go idle. To still not uselessly burn CPU time, expose an idle hypercall to the guest if kvm supports it. Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> [agraf: adjust for current code base, add patch description, fix non-kvm case] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d4834ff9b72d7b89181e88b1a481564cb750c1b5 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Jan 4 10:04:19 2013 +0100 kvm: Update kernel headers Corresponding kvm.git hash: 18eb54cf4a Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9f1d4b1d6939d39fe570d886f6a651f4764bcbcb Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:40 2013 +0000 openpic: fix CTPR and de-assertion of interrupts Properly implement level-triggered interrupts by withdrawing an interrupt from the raised queue if the interrupt source de-asserts. Also withdraw from the raised queue if the interrupt becomes masked. When CTPR is written, check whether we need to raise or lower the interrupt output. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a898a8fc96a071189206218b39b5db99531f5c8b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:39 2013 +0000 openpic: move IACK to its own function Besides making the code cleaner, we will need a separate way to access IACK in order to implement EPR (external proxy) interrupt delivery. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4417c73305f60e46a2370bcaf3635981f5dbc050 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:38 2013 +0000 openpic: IRQ_check: search the queue a word at a time Search the queue more efficiently by first looking for a non-zero word, and then using the common bit-searching function to find the bit within the word. It would be even nicer if bitops_ffsl() could be hooked up to the compiler intrinsic so that bit-searching instructions could be used, but that's another matter. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6c5e84c25fc70717c410150b23c765bedf0af52d Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jan 3 13:25:37 2013 +0000 openpic: fix sense and priority bits Previously, the sense and priority bits were masked off when writing to IVPR, and all interrupts were treated as edge-triggered (despite the existence of code for handling level-triggered interrupts). Polarity is implemented only as storage. We don't simulate the bad effects that you'd get on real hardware if you set this incorrectly, but at least the guest sees the right thing when it reads back the register. Sense now controls level/edge on FSL external interrupts (and all interrupts on non-FSL MPIC). FSL internal interrupts do not have a sense bit (reads as zero), but are level. FSL timers and IPIs do not have sense or polarity bits (read as zero), and are edge-triggered. To accommodate FSL internal interrupts, QEMU's internal notion of whether an interrupt is level-triggered is separated from the IVPR bit. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 65b9d0d5659687ebb85b1305ac70b3a84df16e5a Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:50 2012 +0000 openpic: add some bounds checking for IRQ numbers The two checks with abort() guard against potential QEMU-internal problems, but the EOI check stops the guest from causing updates to queue position -1 and other havoc if it writes EOI with no interrupt in service. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: remove hunk in code that didn't get applied yet] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e69a17f65e9f12f33c48b04a789e49d40a8993f5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:48 2012 +0000 openpic: use standard bitmap operations Besides the private implementation being redundant, namespace collisions prevented the use of other things in bitops.h. Serialization does get a bit more awkward, unfortunately, since the standard bitmap operations are "unsigned long" rather than "uint32_t", though in exchange we will get faster queue lookups on 64-bit hosts once we search a word at a time. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 47f73749c61765f7a898ac88f11995368740da10 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:47 2012 +0000 Revert "openpic: Accelerate pending irq search" This reverts commit a9bd83f4c65de0058659ede009fa1a241f379edd. This counting approach is not robust against setting a bit that was already set, or clearing a bit that was already clear. Perhaps that is considered a bug, but besides the lack of any documentation for that restriction, it's a pretty unpleasant way for the problem to manifest itself. It could be made more robust by testing the current value of the bit before changing the count, but a later patch speeds up IRQ_check in all cases, not just when there's nothing pending. Hopefully that should be adequate to address performance concerns. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3c94378e2c500b6211e95d7457f4a9959955c3d1 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:46 2012 +0000 openpic: always call IRQ_check from IRQ_get_next Previously the code relied on the queue's "next" field getting set to -1 sometime between an update to the bitmap, and the next call to IRQ_get_next. Sometimes this happened after the update. Sometimes it happened before the check. Sometimes it didn't happen at all. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 72c1da2ca72af50e6536d0cd9c6db758f66cd7c2 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:45 2012 +0000 openpic/fsl: critical interrupts ignore mask before v4.1 Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: make bool :1] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eb4384278417297661663c54e01c0f0ffec0a9e3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:44 2012 +0000 openpic: make ctpr signed Other priorities are signed, so avoid comparisons between signed and unsigned. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5e22c276de982dd26ebc4424c8d4592cce1baab9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:43 2012 +0000 openpic: rework critical interrupt support Critical interrupts on FSL MPIC are not supposed to pay attention to priority, IACK, EOI, etc. On the currently modeled version it's not supposed to pay attention to the mask bit either. Also reorganize to make it easier to implement newer FSL MPIC models, which encode interrupt level information differently and support mcheck as well as crit, and to reduce problems for later patches in this set. Still missing is the ability to lower the CINT signal to the core, as IACK/EOI is not used. This will come with general IRQ-source-driven lowering in the next patch. New state is added which is not serialized, but instead is recomputed in openpic_load() by calling the appropriate write_IRQreg function. This should have the side effect of causing the IRQ outputs to be raised appropriately on load, which was missing. The serialization format is altered by swapping ivpr and idr (we'd like IDR to be restored before we run the IVPR logic), and moving interrupts to the end (so that other state has been restored by the time we run the IDR/IVPR logic. Serialization for this driver is not yet in a state where backwards compatibility is reasonable (assuming it works at all), and the current serialization format was not built for extensibility. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: fix for current code state] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit be7c236fa2e59090d7cd0193ca3f225c331d5f81 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:42 2012 +0000 openpic: make register names correspond better with hw docs The base openpic specification doesn't provide abbreviated register names, so it's somewhat understandable that the QEMU code made up its own, except that most of the names that QEMU used didn't correspond to the terminology used by any implementation I could find. In some cases, like PCTP, the phrase "processor current task priority" could be found in the openpic spec when describing the concept, but the register itself was labelled "current task priority register" and every implementation seems to use either CTPR or the full phrase. In other cases, individual implementations disagree on what to call the register. The implementations I have documentation for are Freescale, Raven (MCP750), and IBM. The Raven docs tend to not use abbreviations at all. The IBM MPIC isn't implemented in QEMU. Thus, where there's disagreement I chose to use the Freescale abbreviations. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: rebase on current state of the code] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a1bb73849fbd7d992b6ac2cf30c034244fb2299d Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:41 2012 +0000 ppc/booke: fix crit/mcheck/debug exceptions Book E does not play games with certain bits of xSRR1 being MSR save bits and others being error status. xSRR1 is the old MSR, period. This was causing things like MSR[CE] to be lost, even in the saved version, as soon as you take an exception. rfci/rfdi/rfmci are fixed to pass the actual xSRR1 register contents, rather than the register number. Put FIXME comments on the hack that is "asrr0/1". The whole point of separate exception levels is so that you can, for example, take a machine check or debug interrupt without corrupting critical-level operations. The right xSRR0/1 set needs to be chosen based on CPU type flags. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e99fd8af63a1692a1159cba8fa4943f2589adf97 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:39 2012 +0000 openpic: lower interrupt when reading the MSI register This will stop things from breaking once it's properly treated as a level-triggered interrupt. Note that it's the MPIC's MSI cascade interrupts that are level-triggered; the individual MSIs are edge-triggered. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4c4f0e4801ac79632d03867c88aafc90b4ce503c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Dec 21 16:15:38 2012 +0000 openpic: fix debug prints Fix various format errors when debug prints are enabled. Also cause error checking to happen even when debug prints are not enabled, and consistently use 0x for hex output. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> [agraf: adjust for more recent code base, prettify DPRINTF macro] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit beb526b12134a6b6744125deec5a7fe24a8f92e3 Author: Samuel Seay <lightningth@xxxxxxxxx> Date: Wed Jan 2 10:53:46 2013 +0000 PPC: fix segfault in signal handling code Removed h2g() macro around the ka->_sa_handler due to the _sa_handler being a guest memory address. Changed the __put_user to put_user as it was attempting to put a value at the stack address but the new address is a guest memory address, __put_user is for host memory addresses. Signed-off-by: Samuel Seay <LightningTH@xxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> [agraf: change subject line, reformat commit message] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 88a78d9093917096feffeba66802be27d0e64ead Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Thu Dec 27 19:16:51 2012 +0000 PPC: Reset qemu timers when guest reset This patch install the timer reset handler. This will be called when the guest is reset. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: adjust for QOM'ification] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit af7e9e74c6a62a5bcd911726a9e88d28b61490e0 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 20 17:30:58 2012 +0100 openpic: fix coding style issues This patch fixes the following coding style violations: - structs have to be typedef and be CamelCase - if()s are always surrounded by curly braces Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d56af005dc3d6354bd39411e8446b415bbcf86b8 Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Tue Dec 18 01:13:58 2012 +0000 powerpc: linux header sync script includes epapr_hcalls.h epapr_hcalls.h is now referenced by kvm_para.h. so this is needed for QEMU to get compiled on powerpc. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c3203fa5b2c17a1c446e44c87788fef21b4af5f4 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:02 2012 +0000 openpic: don't crash on a register access without a CPU context If we access a register via the QEMU memory inspection commands (e.g. "xp") rather than from guest code, we won't have a CPU context. Gracefully fail to access the register in that case, rather than crashing. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a26a7b38331dc14893a66fbe78f34afab153d6b2 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:04 2012 +0000 openpic: s/opp->nb_irqs -1/opp->nb_cpus - 1/ "opp->nb_irqs-1" would have been a minor coding style error, but putting in one space but not the other makes it look confusingly like a numeric literal "-1". Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0d4046833ba44c5f29e5dcce2dde0a6202225e59 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:03 2012 +0000 openpic: BRR1 is not a CPU-specific register. It's in the address range that normally contains a magic redirection to the CPU-specific region of the curretn CPU, but it isn't actually a per-CPU register. On real hardware BRR1 shows up only at 0x40000, not at 0x60000 or other non-magic per-CPU areas. Plus, this makes it possible to read the register on the QEMU command line with "xp". Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 0fe04622c11a4f131070196ad5cd97ce94d9c33b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:01 2012 +0000 openpic: support large vectors on FSL mpic Previously only the spurious vector was sized appropriately to the openpic model. Also, instances of "IPVP_VECTOR(opp->spve)" were replace with just "opp->spve", as opp->spve is already just a vector and not an IVPR. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c975330ec4f5674f2899331f914c04ecba6edf26 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:12:00 2012 +0000 openpic: remove pcsr (CPU sensitivity register) I could not find this register in any spec (FSL, IBM, or OpenPIC) and the code doesn't do anything with it but initialize, save, or restore it. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 71c6cacb241689bbf99d54467dc2ae6912ffdab9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Dec 13 16:11:59 2012 +0000 openpic: symbolicize some magic numbers Deefine symbolic names for some register bits, and use some that have already been defined. Also convert some register values from hex to decimal when it improves readability. IPVP_PRIORITY_MASK is corrected from (0x1F << 16) to (0xF << 16), in conjunction with making wider use of the symbolic name. I looked at Freescale and IBM MPIC docs and at the base OpenPIC spec, and all three had priority as 4 bits rather than 5. Plus, the magic nubmer that is being replaced with symbolic values treated the field as 4 bits wide. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 358d615b6908b4916c74819ffad823cb4a74314e Author: Liming Wang <walimisdev@xxxxxxxxx> Date: Sun Dec 16 04:49:46 2012 +0100 exynos4210: Add EHCI support Add EHCI USB host controller to exynos4210. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit aee7499a59d6778c10b018da41db4a22655ef8a8 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Dec 16 04:49:45 2012 +0100 usb/ehci: Add SysBus EHCI device for Exynos4210 It uses a different capsbase and opregbase than the Xilinx device. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Cc: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4a4343671e183824a3f5db76ad561ce01e6c6e0a Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Dec 16 04:49:44 2012 +0100 usb/ehci: Move capsbase and opregbase into SysBus EHCI class This allows specific derived models to use different values. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5aa3ca9f53cc7a1bf76b7583c46937a73914394a Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Sun Dec 16 04:49:43 2012 +0100 usb/ehci: Clean up SysBus and PCI EHCI split SysBus EHCI was introduced in a hurry before 1.3 Soft Freeze. To use QOM casts in place of DO_UPCAST() / FROM_SYSBUS(), we need an identifying type. Introduce generic abstract base types for PCI and SysBus EHCI to allow multiple types to access the shared fields. While at it, move the state structs being amended with macros to the header file so that they can be embedded. The VMSTATE_PCI_DEVICE() macro does not play nice with the QOM parent_obj naming convention, so defer that cleanup. Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a820b575787ac0b6b274b6a89aa6ef9813b4c782 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 13:10:39 2012 +0100 xhci: call set-address with dummy usbpacket Due to the way devices are addressed with xhci (done by hardware, not the guest os) there is no packet when invoking the set-address control request. Create a dummy packet in that case to avoid null pointer dereferences. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e97f0aca796fb949f9d34c50603511048a52b39b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:46 2012 +0100 usb-redir: Add debugging to bufpq save / restore Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bd019b735ac422bf9a40e1865e3d59f2e128604f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:45 2012 +0100 usbredir: Add usbredir_init_endpoints() helper Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d3aea641a4002e0abe940c65d318ef38eda245df Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:44 2012 +0100 usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci The xhci-hcd may submit bulk transfers > 65535 bytes even when not using bulk-in pipeling, so usbredir can only be used in combination with an xhci hcd if the client has the 32 bits bulk length capability. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d8553dd0475a967042193cdcf4d02c8ce5e73730 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:43 2012 +0100 usbredir: Add ep_stopped USBDevice method To ensure that interrupt receiving is properly stopped when the guest is no longer interested in an interrupt endpoint. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7e9638d3eb5c0b4c5920dac72bb2e6885652c029 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:42 2012 +0100 usbredir: Add USBEP2I and I2USBEP helper macros Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f8c126f329892ec8941e5bbe6ba411d78cfc66cb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:41 2012 +0100 usbredir: Add an usbredir_stop_ep helper function Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f79738b03ba55a5c9733c6dc2455964a6f8fdac9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:40 2012 +0100 usb: Add an usb_device_ep_stopped USBDevice method Some usb devices (host or network redirection) can benefit from knowing when the guest stops using an endpoint. Redirection may involve submitting packets independently from the guest (in combination with a fifo buffer between the redirection code and the guest), to ensure that buffers of the real usb device are timely emptied. This is done for example for isoc traffic and for interrupt input endpoints. But when the (re)submission of packets is done by the device code, then how does it know when to stop this? For isoc endpoints this is handled by detecting a set interface (change alt setting) command, which works well for isoc endpoints. But for interrupt endpoints currently the redirection code never stops receiving data from the device, which is less then ideal. However the controller emulation is aware when a guest looses interest, as then the qh for the endpoint gets unlinked (ehci, ohci, uhci) or the endpoint is explicitly stopped (xhci). This patch adds a new ep_stopped USBDevice method and modifies the hcd code to call this on queue unlink / ep stop. This makes it possible for the redirection code to properly stop receiving interrupt input (*) data when the guest no longer has interest in it. *) And in the future also buffered bulk input. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 6735d433729f80fab80c0a1f70ae131398645613 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:39 2012 +0100 usb: Fix usb_ep_find_packet_by_id usb_ep_find_packet_by_id mistakenly only checks the first packet and if that is not a match, keeps trying the first packet! This patch fixes this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 027c03f7327faa696e1d876954a18b5214c18583 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:38 2012 +0100 hid: Change idle handling to use a timer This leads to cleaner code in usb-hid, and removes up to a 1000 calls / sec to qemu_get_clock_ns(vm_clock) if idle-time is set to its default value of 0. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9fdf70272702095f57efc51a80c79493fd0829b8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:37 2012 +0100 uhci: Maximize how many frames we catch up when behind If somehow we've gotten behind a lot, simply skip ahead, like the ehci code does. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f8f48b6957bf182339495e6be429f7bdc7ef1981 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:36 2012 +0100 uhci: Limit amount of frames processed in one go Before this patch uhci would process an unlimited amount of frames when behind on schedule, by setting the timer to a time already past, causing the timer subsys to immediately recall the frame_timer function gain. This would cause invalid cancellations of bulk queues when the catching up processed more then 32 frames at a moment when the bulk qh was temporarily unlinked (which the Linux uhci driver does). This patch fixes this by processing maximum 16 frames in one go, and always setting the timer one ms later, making the code behave more like the ehci code. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 475443cf14d7ef01b9ea56eed8657804f7bdf664 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:35 2012 +0100 uhci: Add a QH_VALID define Rather then using the magic 32 value in various places. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ecfdc15f4351a17989d446f4f1e6d1931d9c1677 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:34 2012 +0100 uhci: Fix pending interrupts getting lost on migration Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 719c130dcaa3b1269beed71ca9cf6c43a0219b30 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:33 2012 +0100 uhci: Fix 1 ms delay in interrupt reporting to the guest Re-arrange how we process frames / increase frnum / report pending interrupts, to avoid a 1 ms delay in interrupt reporting to the guest. This increases the packet throughput for cases where the guest submits a single packet, then waits for its completion then re-submits from 500 pkts / sec to 1000 pkts / sec. This impacts for example the use of redirected / virtual usb to serial convertors. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4a9ef2c042207e4eddbd010ccf2e1c8264d8f0d6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:32 2012 +0100 ehci: Don't call commit_irq after raising PCD ehci_raise_irq(s, USBSTS_PCD), gets applied immediately so there is no need to call commit_irq after it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 52c15e5986cd0f6531a2989a81a964f77b4ed9c2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:31 2012 +0100 ehci: Further speedup rescanning if async schedule after raising an interrupt I tried lowering the time between raising an interrupt and rescanning the async schedule to see if the guest has queued a new transfer before, but that did not have any positive effect. I now believe the cause for this is that lowering this time made it more likely to hit the 1 ms interrupt threshold penalty for the next packet, as described in my "ehci: Use uframe precision for interrupt threshold checking" commit. Now that we do interrupt threshold handling with uframe precision, futher lowering this time from .5 to .25 ms gives an extra 15% improvement in speed (MB/s) reading from a simple USB-2.0 thumb-drive. While at it also properly set the int_req_by_async flag for short packet completions. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9359a58b122187964d7465d48165680eadbf69d3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Dec 18 14:17:02 2012 +0100 ehci: Use uframe precision for interrupt threshold checking (v2) Before this patch, the following could happen: 1) Transfer completes, raises interrupt 2) .5 ms later we check if the guest has queued up any new transfers 3) We find and execute a new transfer 4) .2 ms later the new transfer completes 5) We re-run our frame_timer to write back the completion, but less then 1 ms has passed since our last run, so frindex is not changed, so the interrupt threshold code delays the interrupt 6) 1 ms from the re-run our frame-timer runs again and finally delivers the interrupt This leads to unnecessary large delays of interrupts, this code fixes this by changing frindex to uframe precision and using that for interrupt threshold control, making the interrupt fire at step 5 for guest which have low interrupt threshold settings (like Linux). Note that the guest still sees the frindex move in steps of 8 for migration compatibility. This boosts Linux read speed of a simple cheap USB thumb drive by 6 %. Changes in v2: -Make the guest see frindex move in steps of 8 by modifying ehci_opreg_read, rather then using a shadow variable Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bbbc39ccacf66ef58261c155f9eed503947c3023 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:29 2012 +0100 ehci: Verify a queue's ep direction does not change ehci_fill_queue assumes that there is a one on one relationship between an ep and a qh, this patch adds a check to ensure this. Note I don't expect this to ever trigger, this is just something I noticed the guest might do while working on other stuff. The only way this check can trigger is if a guest mixes in and out qtd-s in a single qh for a non control ep. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 51e0c5d02951ee5bd653132e46123f6e963ff23f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:28 2012 +0100 ehci: Add an ehci_get_pid helper function Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e3fdfd488c47c2d6920e0964364f1238fb5bf0e2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:27 2012 +0100 ehci: Verify qtd for async completed packets Remove the short-circuiting of fetchqtd in fetchqh, so that the qtd gets properly verified before completing the transaction. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2b3de6ada5d180130ba083d5b45ed51ce8e4def2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:26 2012 +0100 ehci: writeback_async_complete_packet: verify qh and qtd Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 190d849249fd7fecbc75ec38f348197c152f4e87 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:25 2012 +0100 ehci: Move get / put_dwords upwards No other changes. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d066c57b1c97a1967c949aba643bba35329b32ee Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:24 2012 +0100 ehci: Verify guest does not change the token of inflight qtd-s This is not allowed, except for clearing active on cancellation, so don't warn when the new token does not have its active bit set. This unifies the cancellation path for modified qtd-s, and prepares ehci_verify_qtd to be used ad an extra check inside ehci_writeback_async_complete_packet(). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c643263409b42a31fd9b1458cd5158280b9c62e1 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:23 2012 +0100 ehci: Add ehci_verify_qh and ehci_verify_qtd helper functions Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f881c8d36b5c524348bc337b46baf34636079cf6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Dec 14 14:35:22 2012 +0100 ehci: Add a ehci_writeback_async_complete_packet helper function Also drop the warning printf, which was there mainly because this was an untested code path (as the previous bug fixes to it show), but that no longer is the case now :) Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 83f58e570f21c3e7227e7fbef1fc0e18b5ed7ea9 Author: Amos Kong <akong@xxxxxxxxxx> Date: Fri Dec 28 17:29:11 2012 +0800 rtl8139: preserve link state across device reset A device reset does not affect the link state, only set_link does. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 84dd2120247a7d25ff1bb337de21c0e76816ad2d Author: Amos Kong <akong@xxxxxxxxxx> Date: Fri Dec 28 17:29:10 2012 +0800 e1000: no need auto-negotiation if link was down Commit b9d03e352cb6b31a66545763f6a1e20c9abf0c2c added link auto-negotiation emulation, it would always set link up by callback function. Problem exists if original link status was down, link status should not be changed in auto-negotiation. Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f30dbae63a46f23116715dff8d130c7d01ff02be Author: Amos Kong <akong@xxxxxxxxxx> Date: Tue Dec 11 22:20:15 2012 +0800 net: clean up network at qemu process termination We don't clean up network if fails to parse "-device" parameters without calling net_cleanup(). I touch a problem, the tap device which is created by qemu-ifup script could not be removed by qemu-ifdown script. Some similar problems also exist in vl.c In this patch, if network initialization successes, a cleanup function will be registered to be called at qemu process termination. Signed-off-by: Amos Kong <akong@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2c0331f4f7d241995452b99afaf0aab00493334a Author: Michael Contreras <michael@xxxxxxxxxxx> Date: Wed Dec 5 13:31:30 2012 -0500 e1000: Discard oversized packets based on SBP|LPE Discard packets longer than 16384 when !SBP to match the hardware behavior. Signed-off-by: Michael Contreras <michael@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8e4a424b305e29dc0e454f52df3b35577f342975 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Jan 6 18:30:17 2013 +0000 Revert "virtio-pci: replace byte swap hack" This reverts commit 9807caccd605d09a72495637959568d690e10175. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 9807caccd605d09a72495637959568d690e10175 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Apr 14 20:39:14 2012 +0000 virtio-pci: replace byte swap hack Remove byte swaps by declaring the config space as native endian. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1d728c394652d40a9065668606d62f28bc544949 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Tue May 1 18:45:39 2012 +0000 tests: add gcov support Add support for compiling for GCOV test coverage, enabled with '--enable-gcov' during configure. Test coverage will be reported after each test. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2b35e93fbfc52c2be6cf85e5a54a3707cdabd914 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Dec 5 09:23:25 2012 -0600 target-s390: Claim maintainership Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 26cc0a3fd11d537bdd2649b5f3c385ad858b1857 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:32:25 2012 -0800 target-s390: Use noreturn for exception and load_psw Both always exit the cpu loop. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 893e1660d5b9be0900bb1f09e574b1856eb30783 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:31:29 2012 -0800 target-s390: Use TCG_CALL_NO_WG for misc helpers Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c20fec4055f06de6d96789d1a290f284fac48fc4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:25:57 2012 -0800 target-s390: Use TCG_CALL_NO_WG for integer helpers The division routines do not read or write tcg registers, but can raise fixed-point divide exceptions. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c482ea94eaf26761e5cc0e53259cf1a98db29622 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:21:54 2012 -0800 target-s390: Use TCG_CALL_NO_WG for floating-point helpers None of them read or write tcg registers, but most can raise fp exceptions. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d918a65c690c321f56e7ce4b5a9e1f2fbe32bb1b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Nov 15 10:20:43 2012 -0800 target-s390: Use TCG_CALL_NO_WG for memory helpers Those that do not read or write tcg registers, but can raise exceptions via memory faults. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b7886de3f36111b71ee0664a0b992f6c5b55de7d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 17:09:35 2012 -0700 target-s390: Perform COMPARE AND SWAP inline Still no proper solution for CONFIG_USER_ONLY, but the system version is significantly better. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit bacf43c62e54ee21494c4bf0c39d96d2bcc0e260 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 21 06:57:09 2012 -0700 target-s390: Optimize get_address Don't load the displacement into a register first, add it second so that tcg_gen_addi_i64 can eliminate zeros. Don't mask the displacement first so that we don't turn small negative numbers into large positive numbers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c95ec459c6c39b7a7e1850f82abd95eca4ccfcce Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 09:51:40 2012 -0700 target-s390: Optimize ADDC/SUBB Giving the proper mask to disas_jcc allows us to generate an inline comparison generating the carry/borrow with setcond. In the very worst case, when we must use the external helper to compute a value for CC, we generate (cc > 1) instead of (cc >> 1), which is only very slightly slower on common cpus. In the very best case, when the CC comes from a COMPARE insn and the compiler is using ALCG with zero, everything folds out to become just the setcond that the compiler wanted. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a359b770c60bf3085c244bc9d5a5fd8fcf286bce Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 09:41:33 2012 -0700 target-s390: Optimize ADDU/SUBU CC testing We can easily generate some masks for logical add/subtract inline. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit de379661d5c7cc1d219000d0741f5d96ced56553 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Sep 20 07:55:51 2012 -0700 target-s390: Tidy comparisons After full conversion, we can audit the uses of LTGT cc ops and see that none of the instructions can ever set CC=3. Thus we can extend the table to treat that bit as ignored. This fixes a regression wrt the pre-conversion translation in which NE was used for both m=6 and m=7. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f24c49c24a4979fe50eff7afe18f371f5809177d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 19 13:50:07 2012 -0700 target-s390: Optmize emitting discards While they aren't expensive, they aren't free to process. When we know that the three cc helper variables are dead, don't kill them. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d074ac6d266129f8f4e2aac5b0e6c39c22964d9a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 19 13:48:46 2012 -0700 target-s390: Optimize XC Notice XC with same address and convert that to store of zero. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 90b4f8ad7226960d3a21bd8fca894ce1e6b5e4cf Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 12 16:52:31 2012 -0700 target-s390: Fix cpu_clone_regs R2 is the syscall return register, not R0. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 411edc22cbab9a44f6d6c6cdef8637ba1f313e37 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Sep 10 17:23:13 2012 -0700 target-s390: Implement LOAD/SET FP AND SIGNAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a12000b9ece917f62d6405e7ee83c8abb6ad7afa Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Sep 10 16:26:35 2012 -0700 target-s390: Implement SET ROUNDING MODE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d2d9feac6fa9f6fd40e8f251bcfdd9a9a0f421f8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Sep 9 16:04:17 2012 -0700 target-s390: Use uint64_to_float128 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1d1f63013539bccc877899116cccf106d318b04a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Sep 9 14:31:43 2012 -0700 target-s390: Implement LCDFR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 49f7ee802fa6695af61dc1e88638f426d47a22a5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 7 16:16:57 2012 -0700 target-s390: Check insn operand specifications Removes all the fixmes for even register numbers, etc. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2db014b5a73f295f6edbdc2c8400a94ccfc90624 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 14:13:52 2012 -0700 target-s390: Implement CPSDR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 99b4f24b3e636ab241b53bc16bf8f0a0ac4a2271 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 11:14:04 2012 -0700 target-s390: Implement POPCNT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2112bf1bfb696def31b211425e5e74e89f9574c3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 11:08:17 2012 -0700 target-s390: Implement CONVERT FROM LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6ac1b45f9b3cb788255c0fde7637ba663eba632c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 10:42:54 2012 -0700 target-s390: Implement CONVERT TO LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b92fa33486b240404923308b483a3318eb804c4a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 09:45:20 2012 -0700 target-s390: Implement STORE ON CONDITION Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 632086da28e1682c0129276656ee0d32274fcd17 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:55:00 2012 -0700 target-s390: Implement LOAD ON CONDITION Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1c2687518235aa38dd3dd270fc216e559d0509eb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 17:32:54 2012 -0700 target-s390: Implement COMPARE AND TRAP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 403e217f4073b885b7e02a1b64054ceca7202bf6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:54:00 2012 -0700 target-s390: Implement COMPARE RELATIVE LONG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e0def9094ef1997613e488768405bcfb589f0596 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 14:10:05 2012 -0700 target-s390: Implement PREFETCH Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d6c6372e186e7f17fe9eeec0c50a43b484669d71 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 13:54:13 2012 -0700 target-s390: Implement R[NOX]SBG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 143cbbc5ebc4a5b5beb82dc31ecc5ac5f6d511d2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:52:08 2012 -0700 target-s390: Implement LDGR, LGDR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2d6a869833d99d89fc4bbe42bdb35b2c1d808067 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 12:50:06 2012 -0700 target-s390: Implement RISBG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5550359f07b54d6fb6f38ee5dcbc198cff42bf51 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 10:53:49 2012 -0700 target-s390: Implement COMPARE AND BRANCH Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7a6c7067f034c5b887cda5e45ef660fe50ebbd1b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 17:28:17 2012 -0700 target-s390: Tidy s->op_cc handling There's no need to force computation of the true cc_op when taking an exception or single stepping. In either case we'll enter the next TB with s->cc_op = DYNAMIC and recompute anyway. Just make sure that s->cc_op is stored back to env->cc_op as needed. Delete some dead functions, avoid allocating unused TCG temps, drop the old s->is_jmp setting. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2cf5e350c4f7ec08aab5d70193310c721b8179e9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 29 12:57:55 2012 -0700 target-s390: Implement BRANCH ON INDEX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4f3adfb2a63416c434fdafdfa406604f2a18392b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 11:33:58 2012 -0700 target-s390: Delete dead code from old translator The use of inline restricts detection of static functions that are no longer used. Limit the use of inline to those functions that are conditionally used based on CONFIG_USER_ONLY. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dc458df91d00986885fe12ed25876aa6d0604cee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 11:12:40 2012 -0700 target-s390: Convert SERVC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7ab938d706b515cfe4680a823525693124e2047d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 11:04:48 2012 -0700 target-s390: Convert LPSWE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit fc778b55a5ae45abac2a94d591e7490622917872 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:58:59 2012 -0700 target-s390: Convert STFL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d14b3e09b21a297fddc62c0c7839156022079d05 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:43:38 2012 -0700 target-s390: Convert STSI Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 14244b21a041161185bb53c3eb29e3d8dc7bfe6e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:17:16 2012 -0700 target-s390: Convert SACF Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 39a5003c89191a46ec6af722ade3dfdf457e9f58 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 10:11:36 2012 -0700 target-s390: Convert STCKE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3d596f491250d66fffabbc60d0621ea72859e96c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:57:18 2012 -0700 target-s390: Convert CSP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 204504e2fa0ec0f11c806ad335edf6bd1f499e34 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:45:38 2012 -0700 target-s390: Convert STURA Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2c423fc070b3e260fc368e2573c76d7ddd52e165 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:36:20 2012 -0700 target-s390: Convert subchannel instructions While we're at it, list all of the chapter 14 subchannel insns. Which is easy since all merely need indicate non-operation. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5cc69c54f606005ea0432d83dafbec0f5b0e831a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:22:13 2012 -0700 target-s390: Convert RRBE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2bbde27f2548cb48f362eada1080e590f5453404 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:18:01 2012 -0700 target-s390: Convert SSKE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8026417c7169e7efd1696f3ed15e51306729176a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 09:13:38 2012 -0700 target-s390: Convert ISKE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cfef53e356119bddcba0724c0c26fd5940f231e3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 16:25:28 2012 -0700 target-s390: Convert IPTE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 411fea3d8400af5479690d6e22c6492c15e10a4a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 16:18:33 2012 -0700 target-s390: Convert STAP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e805a0d39e26fc85681db7e1bf58c91a5628eaff Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 16:11:32 2012 -0700 target-s390: Convert SPX, STPX Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0568d8aab0b48cb033aad8ecaef5bc0c531ce9ff Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:59:26 2012 -0700 target-s390: Convert PTLB Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 28d555566719dada8e2d028ff611b4fb8a984e0c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:55:34 2012 -0700 target-s390: Convert SPKA Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c4f0a863c3b980694e2ccb8fa3252a0eb8ef6a97 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:47:26 2012 -0700 target-s390: Convert SPT, STPT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit dd3eb7b54f0dbcf76e3ccfdf8535201049670378 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:36:58 2012 -0700 target-s390: Convert SCKC, STCKC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 434c91a5f4ed7219819678315b5529fbc35435e6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:31:07 2012 -0700 target-s390: Convert STCK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 352897995147c4a054679654048f5c128ca32743 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 15:20:49 2012 -0700 target-s390: Convert SCK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 71bd666963ad9fb004d7aa919b7222165e602173 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:21:47 2012 -0700 target-s390: Convert STIDP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4600c994d93fc9af2b045086dd31e613d2f9d7bc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 14:27:42 2012 -0700 target-s390: Convert SRST Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit aa31bf60312157aefb09f887e2f750c7d59a8bbc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:20:53 2012 -0700 target-s390: Convert CLST, MVST Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ee6c38d5b10fda25175fa85febde532a12456346 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:19:44 2012 -0700 target-s390: Convert MVPG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d62a4c97f2cab0bd8649e3cd0b7692f989dbb577 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 11:54:04 2012 -0700 target-s390: Convert EAR, SAR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 374724f91ab236b4f60ec4796f1601720486d06b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 11:38:12 2012 -0700 target-s390: Convert CKSM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6e2704e74d317ba077b680c2fc881724686fb24a Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:18:21 2012 -0700 target-s390: Convert IPM Note that the previous placement of the PM field was incorrect. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8379bfdbca195af9df1e6ecf67f04402bd80d471 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 07:44:43 2012 -0700 target-s390: Convert LFPC, SFPC Note that we were failing to set the rounding mode in fpu_status. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 102bf2c63535122cba0d7917ed8cfb8cc1c7b14c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 24 07:39:11 2012 -0700 target-s390: Convert FLOGR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 683bb9a8889cd00e69b05ba78bd5ba27f2e4e958 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 21:08:22 2012 -0700 target-s390: Convert CONVERT FROM FIXED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 68c8bd93ccb0ee441d62b5b8b8911cf5c38663f8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 15:17:35 2012 -0700 target-s390: Convert CONVERT TO FIXED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 24db8412ec58a63556fb51fb157497342f1b08b8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 10:14:24 2012 -0700 target-s390: Convert LOAD ZERO Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 16d7b2a43b3325882d51677d76a0a3f082844f2b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 14:33:03 2012 -0700 target-s390: Convert FP SQUARE ROOT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5d7fd045cafeac1831c1999cb9e1251b7906c6b2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 15:58:27 2012 -0700 target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 31aa97d1ed87853835a2df4ea9db1566f85c57a2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 12:40:09 2012 -0700 target-s390: Convert TEST DATA CLASS Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 722bfec331504bf873a5e4ec4f232c4ed116dda2 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 12:30:12 2012 -0700 target-s390: Convert MULTIPLY AND ADD, SUBTRACT Use the new float*_muladd interface to softfloat. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 83b00736f3d8033861c27b80c9d3fc7c44bbec99 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 12:02:38 2012 -0700 target-s390: Convert FP MULTIPLY Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f08a5c311d3047f2cafe72e3e377674e7f8acdcb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 7 11:41:12 2012 -0700 target-s390: Convert FP DIVIDE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1a800a2dcee541dee4f51aed5110ca9d5811c5e8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 11:05:03 2012 -0700 target-s390: Convert FP SUBTRACT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 587626f8da5e2ee15bbf9f636c78991d6c953387 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 10:48:20 2012 -0700 target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7691c23b1f7b508f3f5391e8f362579544be6980 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:59:19 2012 -0700 target-s390: Convert LLGT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e025e52aba7063c8137b7812e10d69500efb1fbb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:52:55 2012 -0700 target-s390: Convert STORE REVERSED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d54f58654187f8bafb4523a286a9baf46c531d06 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:35:40 2012 -0700 target-s390: Convert LOAD REVERSED Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3e398cf9c2ffdee0c8f61d3bc8966357d0b8e095 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sun Sep 2 10:12:48 2012 -0700 target-s390: Convert LOAD CONTROL, part 2 Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 112bf0791d615060ff9235318e13fd4725146ff8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:15:59 2012 -0700 target-s390: Convert TPROT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2ae680590667b5a8e4eb667a726b5d16d6553cb9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 15:11:53 2012 -0700 target-s390: Convert STCM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 32a44d5882ae82364a8e957a5e21cbeaaacc71a3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:59:22 2012 -0700 target-s390: Convert CLM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit f3de39c485027a6b47bffb741f5209aa44052b71 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:46:55 2012 -0700 target-s390: Convert COMPARE AND SWAP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 504488b82770e053aa31861fd7ef31afdb874f27 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:17:58 2012 -0700 target-s390: Convert LCTL, STCTL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ea20490fdd9faacf9768363edcda3c76fed703ab Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 14:09:05 2012 -0700 target-s390: Convert EFPC, STFPC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0c2400155bc47dcfb7216f586457940a9f342462 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 13:52:23 2012 -0700 target-s390: Convert SIGP Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d8fe4a9c284f244679ab251637bff81126d91dfe Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 13:15:10 2012 -0700 target-s390: Convert LRA Note that truncating the store to r1 based on PSW_MASK_64 is incorrect. We always modify the entire register. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 97c3ab61c46c1c0194657b8bead3d499600d8aab Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 13:00:27 2012 -0700 target-s390: Convert MVCP, MVCS Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4f7403d52b1c682df15c862f5e7ca0712b66089f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 12:54:07 2012 -0700 target-s390: Convert CLC Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0a949039596edf43e5e32dc7cb0cb4e994497e4b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:54:19 2012 -0700 target-s390: Convert NC, XC, OC, TR, UNPK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit af9e5a04ea63b7ebbe7af2bb3553dc0e8a158d12 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:43:06 2012 -0700 target-s390: Convert MVC The code that was in gen_op_mvc was a bit confused wrt what lengths it wanted to handle. I also disbelieve that the inline memset is worthwhile. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit eb66e6a96904e50a9d0d1a76aecfe8675f4d8673 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:24:25 2012 -0700 target-s390: Convert CLCLE, MVCLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7df3e93aa953148841bd8a086cb3230f3d01a14c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 09:38:22 2012 -0700 target-s390: Convert LAM, STAM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 145cdb401995707d1261735da7f6be3d4a91d377 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 11:08:40 2012 -0700 target-s390: Convert STNSM, STOSM Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a05d2b6b83544dd0ae915112d7a4565e8a3871f1 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 10:57:56 2012 -0700 target-s390: Convert NI, XI, OI Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6a04d76a815c7daeb9f27b7503ebddce311958fe Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 10:22:28 2012 -0700 target-s390: Convert MOVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 77f8d6c3ed89ee02847709da6508cd4dcc1d2f2d Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 09:49:37 2012 -0700 target-s390: Convert LOAD, STORE MULTIPLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a79ba3398a0aa7fdd544ce28d2950b4eeb3c16a5 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 09:22:23 2012 -0700 target-s390: Convert SHIFT DOUBLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit cbe24bfa91d21766f2953c2da92c1e3dd13d8387 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 22 09:15:19 2012 -0700 target-s390: Convert SHIFT, ROTATE SINGLE Note that we were missing the 32-bit SLA. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 972e35b9665db113c3d4df7d394ee8cbbf7446ee Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:41:36 2012 -0700 target-s390: Convert DIAGNOSE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8b5ff57115e60589d772efeaa0c061ad6701e340 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:33:36 2012 -0700 target-s390: Convert LOAD PSW Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7d30bb73db3a2fa38a33556430754917d5d70c91 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:12:50 2012 -0700 target-s390: Convert SET SYSTEM MASK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c49daa51a8e19694a611971206e75bd245768e3c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 14:05:11 2012 -0700 target-s390: Convert CONVERT TO DECIMAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 00574261e1fcb318fdd4cc1293238fc1f50de341 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 12:26:53 2012 -0700 target-s390: Convert FP STORE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6e764e97ca4050f2105b10e158f4fcb2801470be Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 13:48:38 2012 -0700 target-s390: Convert EXECUTE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 58a9e35bcc23d44142a2a58ddf3fae51749f3f01 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 13:13:09 2012 -0700 target-s390: Convert INSERT CHARACTERS UNDER MASK Change the CC handling to be more like TEST UNDER MASK, with val & mask. This lets us handle ICMH much more like ICM. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 443aaeb8991022f3eadd2b65e14e805093e2a0e6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 12:36:10 2012 -0700 target-s390: Cleanup cc computation helpers The inline markers hid the fact that {n}abs_32 were unused because of typos in the main do_calc_cc function. Let the compiler handle auto-inlining here. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit afdc70bea01452367e372db7e2168b71bb3aa9b3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Aug 21 07:12:29 2012 -0700 target-s390: Convert INSERT CHARACTER Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d764a8d12b24c8b97fe3ff2193aec04079e8db20 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 12:24:24 2012 -0700 target-s390: Convert FP LOAD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e1eaada955aab907b53a091b85421de9e8b8dd9c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:46:49 2012 -0700 target-s390: Convert MOVE LONG Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b9836c1acd4ecb286bd1617857cc52df7b75c414 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:41:05 2012 -0700 target-s390: Convert SUPERVISOR CALL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d9a39927993a186b039d5be66cc85c0e735a78bc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:28:56 2012 -0700 target-s390: Convert SET ADDRESSING MODE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 00d2dc192fb866d077935f0dd298472d65d87eb6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 16:20:58 2012 -0700 target-s390: Convert TEST UNDER MASK Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b4e2bd3563af75ba5b9fe809c8cf79d2d34aecf3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 17:27:40 2012 -0700 target-s390: Send signals for divide Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 891452e5e274967ffb87d10791620154f2cdc303 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 14:02:02 2012 -0700 target-s390: Convert DIVIDE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c61aad6943cd77046e47cdb5beedad9d035d2216 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 14:22:58 2012 -0700 target-s390: Convert BRANCH ON COUNT Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7233f2ed17175eea043faad749143c1fb5ffe0b3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 08:28:02 2012 -0700 target-s390: Convert BRANCH ON CONDITION Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 8ac33cdb8bfbf319adea60363cf1ba3e5dbf5c4f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Aug 18 11:38:19 2012 -0700 target-s390: Convert BRANCH AND SAVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 4e4bb43899c4c97e14b59fbd7cd5cb44eea850a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 18:52:33 2012 -0700 target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW I'm resonably certain that the carry/borrow-out condition for both helpers was incorrect, failing to take into account the carry-in. Adding the new CC_OP codes also allows removing the awkward interface we used for the slb helpers. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2b280b97085ae90e804c1b31557a79d1da2789a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 16:00:08 2012 -0700 target-s390: Convert STORE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit facfc8648728b5c5554b3269355a4c13824e664b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 15:01:36 2012 -0700 target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit b9bca3e57a4570ce2aff46388fa1edc9da5437a4 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 11:38:37 2012 -0700 target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ade9dea429e202eabf87a36a20d1d3bbc34d8910 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 11:20:33 2012 -0700 target-s390: Convert LOAD LOGICAL IMMEDIATE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 11bf2d73d0dba509e14dbfc2189365410a5a2c06 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 11:03:39 2012 -0700 target-s390: Convert LOAD AND TEST Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit c698d8768756c66dd0dd55ea884c69c2212d59f9 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 10:27:29 2012 -0700 target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit aedec19d628dacf4f04ee7258ac2c5c9e47b5a7e Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 09:57:07 2012 -0700 target-s390: Convert LOAD ADDRESS Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 22c37a08bd0ce680d6b9750c73704a025bc3fc93 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 17 09:45:53 2012 -0700 target-s390: Convert LOAD, LOAD LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit a7e836d5ebef23022ec53a0dba5d3a1ac0883a03 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 16 15:20:51 2012 -0700 target-s390: Convert COMPARE, COMPARE LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3bbfbd1f956d82f552a0fe160abf929ec88a78ad Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 16:28:39 2012 -0700 target-s390: Convert AND, OR, XOR Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 1ac5889f48127321a585886524013fcb6e2c91e3 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Sep 25 15:26:59 2012 -0700 target-s390: Convert 64-bit MULTIPLY LOGICAL Use a new "retxl" member of CPUS290XState to return the "eXtra Low" part of a 128-bit value. That said, this will get used when two independent values need returning (e.g. quotient+remainder) as well. At the same time, shuffle the elements of CPUS390XState to get this new space from existing padding in the structure. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d87aaf934f2fa24443bba7db60036b698e04d6a8 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Sep 25 15:17:59 2012 -0700 target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d1c04a2ba05bec8567a52f28979288e2237dfe9c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Tue Sep 25 15:10:35 2012 -0700 target-s390: Convert MULTIPLY HALFWORD, SINGLE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit e272b3ace35ffafe24754986b999bda19f56f373 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 16 14:42:49 2012 -0700 target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3f4cb56a4351b0710f90d1205f2d6178a8ebc02f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 27 14:46:42 2012 -0700 target-s390: Implement SUBTRACT HALFWORD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d82287dee9d8bfe2c4cb520e30c76244fcbb705c Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 16 14:09:45 2012 -0700 target-s390: Convert ADD HALFWORD Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit d5a103cd6eb3b407feb4e007cb778a89b1b20c5f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Sep 14 19:31:57 2012 -0700 target-s390: Reorg exception handling Make the user path more like the system path. Prepare for more kinds of runtime exceptions. Rename ILC to ILEN to make it clear that we want to pass around a full instruction length, rather than a "code" that happens to be stored one bit left in a larger field. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 3fde06f5fb67dd9e5373b8105318e74e18eec895 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 13:31:01 2012 -0700 target-s390: Split out disas_jcc Lots of duplicated code replaced with a couple of tables. We no longer attempt to manually invert the logic operation: the comments now match the code. In the fully general test, constant propagate (1 << (3 - cc)) into (8 >> cc). The new function will be usable by non-branch insns as well. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit ad044d09de62c10c361003765d5039396c057abe Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Aug 15 17:16:22 2012 -0700 target-s390: Add format based disassassmbly infrastructure Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 51855ecf1a9d5a8388778571b8ab32134e83f378 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Sep 24 12:06:15 2012 -0700 target-s390: Fix PSW_MASK handling We were treating psw.mask as the 32-bit quantity it is in ESA mode. In particular, the CC field was at the wrong place. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 2f22e2ec79c07de03016adefb166cf01745fc852 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 22 05:28:43 2012 -0700 target-s390: Tidy unconditional BRCL Yes, we're about to rewrite all of this, but having this unconditional jump recompute cc_op is a large source of "false diff errors" when trying to examine before and after dumps. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 9d126faf4279b324d5c4cdf09a3570d4a2041626 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 22 05:25:09 2012 -0700 target-s390: Fix BCR There were are two exit paths for which we forgot to copy s->cc_op back to the tcg register. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit afd43fecfe7f6e863884b850f53fac4a75c28d84 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 22 05:22:18 2012 -0700 target-s390: Fix SACF exit DISAS_EXCP is exit via exception; we wanted DISAS_JUMP. This matters when we start cleaning up the TB exit paths. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 7e68da2a9dd112a1a4ef16e8ef3dc1916529ae6b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 19 09:14:33 2012 -0700 target-s390: Register helpers Which highlights a lot of cc helpers that no longer exist. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 431253c28f9177a3f4783dc47b952c8fffcf3177 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Wed Sep 5 06:57:35 2012 -0700 target-s390: Use TCG registers for FPR At the same time, tidy other usages of tcg_gen_deposit_i64. In some cases we can "type cast" rather than extend, and in others we can allow tcg_gen_deposit_i64 itself to optimize the HOST_LONG_BITS==32 case. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 063eb0f3038434ab4cf9ad4bcc19a8789e15d237 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Aug 20 08:15:42 2012 -0700 target-s390: Add missing temp_free in gen_op_calc_cc Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 6ee77b16630bc86c1a44f9df61b072c7974ba503 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Thu Aug 23 10:44:45 2012 -0700 target-s390: Fix gdbstub The real gdb protocol doesn't split out pc or cc as real registers. Those are pseudos that are extracted as needed from the PSW. Don't modify env->cc_op during read -- that way lies heisenbugs. Fill in the XXX for the fp registers. Remove duplicated defines in cpu.h. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 79be7c7b603f89da209098a03a5459beb09a579b Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Sat Sep 1 14:13:12 2012 -0700 target-s390: Fix disassembly of cpsdr Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0fd81617fad2cae099348877099f6cf4c3bbc5bd Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Aug 31 12:49:47 2012 -0700 target-s390: Disassemble more z10 and z196 opcodes Also fix disassembly for COMPARE AND BRANCH. The table must be sorted by primary opcode, and several were out of place. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> commit 549db5c32bb025501e2eeb23d2e5cc669061eb71 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Jan 5 09:33:43 2013 +0100 hw/i386: Fix broken build for non POSIX hosts pc-testdev.c cannot be compiled with MinGW (and other non POSIX hosts): CC i386-softmmu/hw/i386/../pc-testdev.o qemu/hw/i386/../pc-testdev.c:38:22: warning: sys/mman.h: file not found qemu/hw/i386/../pc-testdev.c: In function â??test_flush_pageâ??: qemu/hw/i386/../pc-testdev.c:103: warning: implicit declaration of function â??mprotectâ?? ... Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 1e397eadf1cf54920c45a2fdc204b1ade1b72d38 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Dec 31 10:09:04 2012 -0800 softfloat: Implement uint64_to_float128 Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 17ed229379d971ae117245b353324115a62b0014 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Mon Dec 31 10:09:03 2012 -0800 softfloat: Fix uint64_to_float64 The interface to normalizeRoundAndPackFloat64 requires that the high bit be clear. Perform one shift-right-and-jam if needed. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit a4c7ecd8ca998044bfafa0bdd7ea47270e7ebad6 Merge: 346c1f8... bfb82a2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 4 13:25:20 2013 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: spice: drop incorrect vm_change_state_handler() opaque linux-user/syscall.c: remove forward declarations hw/mcf5206: Reduce size of lookup table Remove --sparc_cpu option from the configure list pseries: Remove unneeded include statement (fixes MinGW builds) pc_sysfw: Check for qemu_find_file() failure Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 346c1f8b52afca515fecf95d5c215751b73fe9e1 Merge: 72e5b27... 9ee59f3... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 4 13:25:07 2013 -0600 Merge remote-tracking branch 'kraxel/testdev.1' into staging * kraxel/testdev.1: pc: remove bochs bios debug ports hw: Add test device for unittests execution add isa-debug-exit device. switch debugcon to memory api Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 72e5b276b2fcd5ac3c0b235f19ff0dc39ad9f82f Merge: 25bbf61... 503b19f... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Jan 4 13:24:49 2013 -0600 Merge remote-tracking branch 'kraxel/acpi.2' into staging * kraxel/acpi.2: apci: assign memory regions to ich9 lpc device apci: assign memory regions to piix4 acpi device acpi: autoload dsdt configure: also symlink *.aml files Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit bfb82a28752d29291adf932c3a9941e8383203af Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Dec 19 14:07:16 2012 +0100 spice: drop incorrect vm_change_state_handler() opaque The spice_server pointer is a global variable and vm_change_state_handler() therefore does not use its opaque parameter. The vm change state handler is added with a pointer to the spice_server pointer. This is useless and we probably would not want 2 levels of pointers. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Reviewed-by: Uri Lublin <uril@xxxxxxxxxx> commit 586b0bef84c202bb2256a35eb71bfd6670262bd7 Author: John Spencer <maillist-qemu@xxxxxxxxxxx> Date: Wed Dec 26 00:49:49 2012 +0100 linux-user/syscall.c: remove forward declarations instead use the correct headers that define these functions. Requested-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx> Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 715857cbbabc8740792b608f9bc4cd9fad6ecb1d Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Dec 22 13:59:22 2012 +0100 hw/mcf5206: Reduce size of lookup table This typically reduces the size from 512 bytes to 128 bytes. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c242222c978d2c09411f2560915708c364ca2ce9 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Thu Dec 20 16:41:34 2012 +0800 Remove --sparc_cpu option from the configure list commit 9b9c37c36439ee0452632253dac7a31897f27f70 always assume sparcv9, the others are no longer supported. Remove --sparc_cpu option from the configure list. Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e2af7a4dc8d218c5fb5b41dd1d008fa111d0636e Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Dec 20 07:50:41 2012 +0100 pseries: Remove unneeded include statement (fixes MinGW builds) sys/mman.h is not needed (tested on Linux) and unavailable for MinGW, so remove it. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e7b1d0ea950fc760371c9580ba6b34c912369a38 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Wed Dec 5 15:28:05 2012 +0100 pc_sysfw: Check for qemu_find_file() failure pc_fw_add_pflash_drv() ignores qemu_find_file() failure, and happily creates a drive without a medium. When pc_system_flash_init() asks for its size, bdrv_getlength() fails with -ENOMEDIUM, which isn't checked either. It fails relatively cleanly only because -ENOMEDIUM isn't a multiple of 4096: $ qemu-system-x86_64 -S -vnc :0 -bios nonexistant qemu: PC system firmware (pflash) must be a multiple of 0x1000 [Exit 1 ] Fix by handling the qemu_find_file() failure. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9ee59f341f9d7a95b3a87b7cac3f74bcdda395fb Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 09:59:55 2012 +0100 pc: remove bochs bios debug ports Prehistoric leftover, zap it. We poweroff via acpi these days. And having a port (0x501,0x502) where any random guest write will make qemu exit -- with no way to turn it off -- is a bad joke anyway. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ee0cc5415e6edc043bd84e855f7d0bf85bd97547 Author: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> Date: Thu Dec 13 12:48:53 2012 -0200 hw: Add test device for unittests execution Add a test device which supports the kvmctl ioports, so one can run the KVM unittest suite. Intended Usage: qemu-system-x86_64 -nographic \ -device pc-testdev \ -device isa-debug-exit,iobase=0xf4,iosize=0x04 \ -kernel /path/to/kvm/unittests/msr.flat Where msr.flat is one of the KVM unittests, present on a separate repo, git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git [ kraxel: more memory api + qom fixes ] CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit bb355b1859dde19fbb4f856c6d0b8f46733142d7 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 12 15:54:59 2012 +0100 add isa-debug-exit device. When present it makes qemu exit on any write. Mapped to port 0x501 by default. Without this patch Anthony doesn't allow me to remove the bochs bios debug ports because his test suite uses this. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit e8ba1ce92d8cbc4e77efcaf040077d3901098e5f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Dec 12 15:43:35 2012 +0100 switch debugcon to memory api Also some QOM glue while being at it. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 503b19fc5d018f4edc60fb771cf97f47cea71be2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 09:42:18 2012 +0100 apci: assign memory regions to ich9 lpc device Get rid of get_system_io() usage. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 56e5b2a1a655b9158c0d274a6f630927c9a5fb4b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 09:40:45 2012 +0100 apci: assign memory regions to piix4 acpi device Get rid of get_system_io() usage. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f7e4dd6c18ccfbaf6cd2f5eaaed2b77cabc8a406 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Dec 3 10:47:27 2012 +0100 acpi: autoload dsdt Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5acc2ec041b2fd5c9a85d9d12362c08d3b3bf339 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Dec 3 10:45:49 2012 +0100 configure: also symlink *.aml files Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 25bbf61e4bacd1e4fa4115ffcf151051b9d6608e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Jan 3 14:23:03 2013 +0100 pty: unbreak libvirt Commit 586502189edf9fd0f89a83de96717a2ea826fdb0 breaks libvirt pty support because it tried to figure the pts name from stderr output. Fix this by moving the label to the end of the line, this way the libvirt parser does still recognise the message. libvirt looks for "char device redirected to ${ptsname}<whitespace>". Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ef4929fb3c25e03deca76c7f5d22fba08edf864f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Jan 3 11:56:16 2013 +0100 dataplane: use linux-headers/ for virtio includes The hw/dataplane/vring.c code includes linux/virtio_ring.h. Ensure that we use linux-headers/ instead of the system-wide headers, which may be out-of-date on older distros. This resolves the following build error on Debian 6: CC hw/dataplane/vring.o cc1: warnings being treated as errors hw/dataplane/vring.c: In function 'vring_enable_notification': hw/dataplane/vring.c:71: error: implicit declaration of function 'vring_avail_event' hw/dataplane/vring.c:71: error: nested extern declaration of 'vring_avail_event' hw/dataplane/vring.c:71: error: lvalue required as left operand of assignment Note that we now build dataplane/ for each target instead of only once. There is no way around this since linux-headers/ is only available for per-target objects - and it's how virtio, vfio, kvm, and friends are built. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit dbd99ae302be8f51b547fb6283c91d0c9859b7d5 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 18:33:44 2013 +0100 configure: Write new file "config-all-disas.mak" when running configure Incremental builds added new lines to that file each time when configure was run. Now a new file with a comment line is written. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 503483336039a8b2b182535f87f4820d259fca82 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Tue Jan 1 18:43:56 2013 +0100 tci: Fix broken builds with TCG interpreter TCI no longer compiled after commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a. The TCI disassembler depends on data structures which are different for each QEMU target, so it cannot be compiled as a universal-obj today. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 74e91370beb3fabda515623b4491a8b7a024304a Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Mon Dec 31 15:30:31 2012 +0400 savevm.c: cleanup system includes savevm.c suffers from the same problem as some other files. Some years ago savevm.c was created from vl.c, moving some code from there into a separate file. At that time, all includes were just copied from vl.c to savevm.c, without checking which ones are needed and which are not. But actually most of that stuff is _not_ needed. More, some stuff is wrong, for example, *BSD #ifdef'ery around <util.h> vs <libutil.h> - for one, it fails to build on Debian/kFreebsd. Just remove all this. Maybe there's a possibility to clean it up further - like removing <windows.h> (and maybe including winsock.h for htons etc), and maybe it's possible to remove some internal #includes too, but I didn't check this. While at it, remove duplicate #include of qemu/timer.h. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit ab51b1d568e02c80b1abf9016bda3a86dc1db389 Author: Michael Tokarev <mjt@xxxxxxxxxx> Date: Sun Dec 30 12:48:14 2012 +0400 disallow -daemonize usage of stdio (curses display, -nographic, -serial stdio etc) Curses display requires stdin/out to stay on the terminal, so -daemonize makes no sense in this case. Instead of leaving display uninitialized like is done since 995ee2bf469de6bb, explicitly detect this case earlier and error out. -nographic can actually be used with -daemonize, by redirecting everything to a null device, but the problem is that according to documentation and historical behavour, -nographic redirects guest ports to stdin/out, which, again, makes no sense in case of -daemonize. Since -nographic is a legacy option, don't bother fixing this case (to allow -nographic and -daemonize by redirecting guest ports to null instead of stdin/out in this case), but disallow it completely instead, to stop garbling host terminal. If no display display needed and user wants to use -nographic, the right way to go is to use -serial null -parallel null -monitor none -display none -vga none instead of -nographic. Also prevent the same issue -- it was possible to get garbled host tty after -nographic -daemonize and it is still possible to have it by using -serial stdio -daemonize Fix this by disallowing opening stdio chardev when -daemonize is specified. Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 217da7fdeb2a4c99c49f22f9dc64c8df2e3a4387 Merge: 9a8a5ae... d6b1ef8... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 12:19:27 2013 -0600 Merge remote-tracking branch 'stefanha/block' into staging * stefanha/block: sheepdog: pass oid directly to send_pending_req() sheepdog: don't update inode when create_and_write fails block/raw-win32: Fix compiler warnings (wrong format specifiers) qemu-img: report size overflow error message cutils: change strtosz_suffix_unit function virtio-blk: Return UNSUPP for unknown request types virtio-blk: add x-data-plane=on|off performance feature dataplane: add virtio-blk data plane code virtio-blk: restore VirtIOBlkConf->config_wce flag iov: add qemu_iovec_concat_iov() test-iov: add iov_discard_front/back() testcases iov: add iov_discard_front/back() to remove data dataplane: add Linux AIO request queue dataplane: add event loop dataplane: add virtqueue vring code dataplane: add host memory mapping code configure: add CONFIG_VIRTIO_BLK_DATA_PLANE raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9a8a5ae69d3a436e51a7eb2edafe254572f60823 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Dec 30 08:20:13 2012 +0100 tcg: Remove unneeded assertion Commit 7f6f0ae5b95adfa76e10eabe2c34424a955fd10c added two assertions. One of these assertions is not needed: The pointer ts is never NULL because it is initialized with the address of an array element. Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit d6b1ef89a1ede41334e4d0fa27e600e0b4d4f209 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Dec 17 14:17:27 2012 +0800 sheepdog: pass oid directly to send_pending_req() Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bd751f2204a03d6fcd47a4b4b12ac534d2ecbea7 Author: Liu Yuan <tailai.ly@xxxxxxxxxx> Date: Mon Dec 17 14:17:26 2012 +0800 sheepdog: don't update inode when create_and_write fails For the error case such as SD_RES_NO_SPACE, we shouldn't update the inode bitmap to avoid the scenario that the object is allocated but wasn't created at the server side. This will result in VM's IO error on the failed object. Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Liu Yuan <tailai.ly@xxxxxxxxxx> Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit fccedc624c425e3acb1557f9f9b13104427ec5ce Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Mon Dec 17 20:40:01 2012 +0100 block/raw-win32: Fix compiler warnings (wrong format specifiers) Commit fbcad04d6bfdff937536eb23088a01a280a1a3af added fprintf statements with wrong format specifiers. GetLastError() returns a DWORD which is unsigned long, so %lu must be used. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 7944339726b4582b67fd94085c21c33636e8f973 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Mon Dec 17 09:49:23 2012 +0800 qemu-img: report size overflow error message qemu-img will complain when qcow or qcow2 size overflow for 64 bits, report the right message in this condition. $./qemu-img create -f qcow2 /tmp/foo 0x10000000000000000 before change: qemu-img: Invalid image size specified! You may use k, M, G or T suffixes for qemu-img: kilobytes, megabytes, gigabytes and terabytes. after change: qemu-img: Image size must be less than 8 EiB! [Resolved conflict with a9300911 goto removal -- Stefan] Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 37edbf7ea8067262a5c3d8bbe4786139348c8311 Author: liguang <lig.fnst@xxxxxxxxxxxxxx> Date: Mon Dec 17 09:49:22 2012 +0800 cutils: change strtosz_suffix_unit function if value to be translated is larger than INT64_MAX, this function will not be convenient for caller to be aware of it, so change a little for this. Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9e72c45033770b81b536ac6091e91807247cc25a Author: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> Date: Thu Dec 13 09:03:43 2012 +0200 virtio-blk: Return UNSUPP for unknown request types Currently, all unknown requests are treated as VIRTIO_BLK_T_IN Signed-off-by: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 392808b49b6aee066d0c1d200e72fc3dc11c9d0f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:45:38 2012 +0100 virtio-blk: add x-data-plane=on|off performance feature The virtio-blk-data-plane feature is easy to integrate into hw/virtio-blk.c. The data plane can be started and stopped similar to vhost-net. Users can take advantage of the virtio-blk-data-plane feature using the new -device virtio-blk-pci,x-data-plane=on property. The x-data-plane name was chosen because at this stage the feature is experimental and likely to see changes in the future. If the VM configuration does not support virtio-blk-data-plane an error message is printed. Although we could fall back to regular virtio-blk, I prefer the explicit approach since it prompts the user to fix their configuration if they want the performance benefit of virtio-blk-data-plane. Limitations: * Only format=raw is supported * Live migration is not supported * Block jobs, hot unplug, and other operations fail with -EBUSY * I/O throttling limits are ignored * Only Linux hosts are supported due to Linux AIO usage Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e72f66a0a20f38d0c7576f6c0aec0ca644976e35 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:39:30 2012 +0100 dataplane: add virtio-blk data plane code virtio-blk-data-plane is a subset implementation of virtio-blk. It only handles read, write, and flush requests. It does this using a dedicated thread that executes an epoll(2)-based event loop and processes I/O using Linux AIO. This approach performs very well but can be used for raw image files only. The number of IOPS achieved has been reported to be several times higher than the existing virtio-blk implementation. Eventually it should be possible to unify virtio-blk-data-plane with the main body of QEMU code once the block layer and hardware emulation is able to run outside the global mutex. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8a873ba78069ef81c4ef073a0bd703172c8b3312 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Mon Dec 10 13:14:39 2012 +0100 virtio-blk: restore VirtIOBlkConf->config_wce flag Two slightly different versions of a patch to conditionally set VIRTIO_BLK_F_CONFIG_WCE through the "config-wce" qdev property have been applied (ea776abca and eec7f96c2). David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> noticed that the "config-wce" property is broken as a result and fixed it recently. The fix sets the host_features VIRTIO_BLK_F_CONFIG_WCE bit from a qdev property. Unfortunately, the virtio device then has no chance to test for the presence of the feature bit during virtio_blk_init(). Therefore, reinstate the VirtIOBlkConf->config_wce flag. Drop the duplicate qdev property to set the host_features bit. The VirtIOBlkConf->config_wce flag will be used by virtio-blk-data-plane in a later patch. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 530c0bbd73e1b658c9266582072847de1fbdff10 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Nov 22 16:06:06 2012 +0100 iov: add qemu_iovec_concat_iov() The qemu_iovec_concat() function copies a subset of a QEMUIOVector. The new qemu_iovec_concat_iov() function does the same for a iov/cnt pair. It is easy to define qemu_iovec_concat() in terms of qemu_iovec_concat_iov(). The existing code is mostly unchanged, except for the assertion src->size >= soffset, which cannot be efficiently checked upfront on a iov/cnt pair. Instead we assert upon hitting the end of src with an unsatisfied soffset. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8962e44fe438a051aff9f43209363f599be33624 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 21 19:18:26 2012 +0100 test-iov: add iov_discard_front/back() testcases Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d02776350d9c76348988fc9e58a64a4f6b1a9f61 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 21 17:41:10 2012 +0100 iov: add iov_discard_front/back() to remove data The iov_discard_front/back() functions remove data from the front or back of the vector. This is useful when peeling off header/footer structs. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3e9ec521711ed033476098cfc7f23c992cc606a2 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:30:09 2012 +0100 dataplane: add Linux AIO request queue The IOQueue has a pool of iocb structs and a function to add new read/write requests. Multiple requests can be added before calling the submit function to actually tell the host kernel to begin I/O. This allows callers to batch requests and submit them in one go. The actual I/O is performed using Linux AIO. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 71973b046120a13df4eaa9143bed5ba8a67abc7f Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:23:00 2012 +0100 dataplane: add event loop Outside the safety of the global mutex we need to poll on file descriptors. I found epoll(2) is a convenient way to do that, although other options could replace this module in the future (such as an AioContext-based loop or glib's GMainLoop). One important feature of this small event loop implementation is that the loop can be terminated in a thread-safe way. This allows QEMU to stop the data plane thread cleanly. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 88807f89d945acad54c8365ff7b6ef0f0d0ddd56 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:15:50 2012 +0100 dataplane: add virtqueue vring code The virtio-blk-data-plane cannot access memory using the usual QEMU functions since it executes outside the global mutex and the memory APIs are this time are not thread-safe. This patch introduces a virtqueue module based on the kernel's vhost vring code. The trick is that we map guest memory ahead of time and access it cheaply outside the global mutex. Once the hardware emulation code can execute outside the global mutex it will be possible to drop this code. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 185ecf40e3589fc2717b0856ee1df05dd63a46dd Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Nov 20 10:30:08 2012 +0100 dataplane: add host memory mapping code The data plane thread needs to map guest physical addresses to host pointers. Normally this is done with cpu_physical_memory_map() but the function assumes the global mutex is held. The data plane thread does not touch the global mutex and therefore needs a thread-safe memory mapping mechanism. Hostmem registers a MemoryListener similar to how vhost collects and pushes memory region information into the kernel. There is a fine-grained lock on the regions list which is held during lookup and when installing a new regions list. When the physical memory map changes the MemoryListener callbacks are invoked. They build up a new list of memory regions which is finally installed when the list has been completed. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 583f6e7bbd24b31f7eecd5c21ba0a5a5a77f52f1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 15:04:15 2012 +0100 configure: add CONFIG_VIRTIO_BLK_DATA_PLANE The virtio-blk-data-plane feature only works with Linux AIO. Therefore add a ./configure option and necessary checks to implement this dependency. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4065742ac0f3c84abdd8d718b44a88f3ac56015a Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 14 11:43:23 2012 +0100 raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane The raw_get_aio_fd() function allows virtio-blk-data-plane to get the file descriptor of a raw image file with Linux AIO enabled. This interface is really a layering violation that can be resolved once the block layer is able to run outside the global mutex - at that point virtio-blk-data-plane will switch from custom Linux AIO code to using the block layer. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 34daffa04886444dafd4a6951167225e824003d0 Merge: 079944e... 0a2a59d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 08:01:54 2013 -0600 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging * qemu-kvm/uq/master: qemu-kvm/pci-assign: 64 bits bar emulation target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 079944e695589364d19de31f27761c6bdea1c207 Merge: a97ff30... 89d62be... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 08:01:36 2013 -0600 Merge remote-tracking branch 'mst/tags/for_anthony' into staging pci,virtio This optimizes MSIX handling in virtio-pci. Also included is pci express capability bugfix. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> * mst/tags/for_anthony: virtio-pci: don't poll masked vectors msix: expose access to masked/pending state msi: add API to get notified about pending bit poll pcie: Fix bug in pcie_ext_cap_set_next virtio: make bindings typesafe commit a97ff30e934c4d673122cf709e8e87f0effbe2f7 Merge: 5928023... 15faf94... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Jan 2 08:01:22 2013 -0600 Merge remote-tracking branch 'kraxel/seabios-a810e4e' into staging * kraxel/seabios-a810e4e: Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5928023cef87847a295035487397b9ec701fdd6b Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Nov 24 23:03:13 2012 +0100 pflash_cfi01: Suppress warning when Linux probes for AMD flash There are several ARM and MIPS boards which are manufactured with either Intel (pflash_cfi01.c) or AMD (pflash_cfi02.c) flash memory. The Linux kernel supports both and first probes for AMD flash which resulted in one or two warnings from the Intel flash emulation: pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000, wcycle 0x0 cmd 0x0 value 0xf000f0) pflash_write: Unimplemented flash cmd sequence (offset 0000000000000000, wcycle 0x0 cmd 0x0 value 0xf0) These warnings confuse users, so suppress them. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 0f0b93980572726e69e32ff13e2d7fb72b936157 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Tue Dec 11 00:15:55 2012 +0800 target-mips: Use EXCP_SC rather than a magic number From the discussion on the ML [1], the exception limit defined by magic number 0x100 is actually EXCP_SC defined in cpu.h. Replace the magic number with EXCP_SC. Remove "#if 1 .. #endif" as well. [1] http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg03080.html Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit c4aaba92e516ad061dff7ac2ae3c2b2b7058c404 Author: Jovanovic, Petar <petarj@xxxxxxxx> Date: Tue Dec 11 15:06:35 2012 +0000 target-mips: Make repl_ph to sign extend to target-long The immediate value is 9bits, should sign-extend to 16bits. The return value to register should sign-extend to target_long, as Richard says, removing an unnecessary cast works fun. Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit fe65a1fad6aa140769ffda31c34a109f7d2df101 Author: Dongxue Zhang <elta.era@xxxxxxxxx> Date: Tue Dec 11 22:28:28 2012 +0800 Fix my email address Fix my email address, last time it's wrong. Signed-off-by: Dongxue Zhang <elta.era@xxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 79eb8392db19a916f6a3277f7cd36fb22c2bdbaf Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sat Dec 22 13:38:19 2012 +0100 target-mips: Remove semicolon from macro definition Macro RESTORE_FLUSH_MODE is similar to RESTORE_ROUNDING_MODE but included a semicolon. The code which uses that macro also includes a semicolon, so the result was an empty statement. Remove the superfluous semicolon from the macro definition. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit b8abbbe8df5e04085f4b85fc4f7cf85efbcd492c Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Mon Dec 10 16:28:17 2012 +0100 target-mips: Fix for helpers for EXTR_* instructions The change removes some unnecessary and incorrect code for EXTR_S.H. Further, it corrects the mask for shift value in the EXTR_ instructions. It also extends the existing tests so they trigger the issues corrected with the change. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit eec8972a5bc744eda695a86a984d746c240dff90 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Thu Dec 6 20:30:35 2012 +0100 target-mips: Fix incorrect reads and writes to DSPControl register Upper 4 bits of ccond (bits 31..28 ) of DSPControl register are not used in the MIPS32 architecture. They are used in the MIPS64 architecture. For MIPS32 these bits must be written as zero, and return zero on read. The change fixes writes (WRDSP) and reads (RDDSP) to the register. It also fixes the tests that use these instructions, and makes them smaller and simpler. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit a795ef8dcb8cbadffc996c41ff38927a97645234 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Fri Dec 28 01:00:26 2012 -0500 Fix semaphores fallback code As reported in bug 1087114 the semaphores fallback code is broken which results in QEMU crashing and making QEMU unusable. This patch is from Paolo. This needs to be back ported to the 1.3 stable tree as well. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 753d99d38b5877440dde2705e30ca60e2ec62965 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Dec 28 14:19:35 2012 -0800 tcg-hppa: Fix typo in brcond2 Reported-by: Stuart Brady <sdb@xxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 76a347e1cd0c2d6959461c89dda15ef5c4140da6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Dec 28 14:17:02 2012 -0800 tcg-i386: Perform cmov detection at runtime for 32-bit. Existing compile-time detection is spotty at best. Convert it all to runtime detection instead. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit afcb92beac9e477e5ae5c36bf38830e225e2235f Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Dec 7 15:07:17 2012 -0600 tcg: Add TCGV_IS_UNUSED_* Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 927fa909d5d5cf8c07673cd16a6d3bdc81250bc0 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Fri Dec 28 01:38:11 2012 -0500 Disable semaphores fallback code for OpenBSD Disable the semaphores fallback code for OpenBSD as modern OpenBSD releases now have sem_timedwait(). Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 62054c06d4d1d0d54ef87c2d9154efec00ad170c Author: Alon Levy <alevy@xxxxxxxxxx> Date: Sun Dec 23 23:25:09 2012 +0200 usb/redirect.c: unbreak compilation due to include/char/char.h Broken since: commit 927d4878b0ff319ed87fed9363f314613b0a5ed9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:05 2012 +0100 softmmu: move remaining include files to include/ subdirectories Signed-off-by: Alon Levy <alevy@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4de63460ca1639bfb0e465ecdcf95551564bb3d6 Merge: a2685bc... 501a7ce... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Fri Dec 28 16:08:23 2012 +0000 Merge branch 'qom-cpu' of git://repo.or.cz/qemu/afaerber * 'qom-cpu' of git://repo.or.cz/qemu/afaerber: MAINTAINERS: Include X86CPU in CPU maintenance area cpu: Move kvm_run into CPUState cpu: Move kvm_state field into CPUState ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init() ppc4xx_devs: Return PowerPCCPU from ppc4xx_init() ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks ppc: Pass PowerPCCPU to [h]decr timer callbacks ppc: Pass PowerPCCPU to [h]decr callbacks ppc: Pass PowerPCCPU to ppc_set_irq() kvm: Pass CPUState to kvm_vcpu_ioctl() kvm: Pass CPUState to kvm_arch_* cpu: Move kvm_fd into CPUState qdev-properties.c: Separate core from the code used only by qemu-system-* qdev: Coding style fixes cpu: Introduce CPUListState struct target-alpha: Add support for -cpu ? target-alpha: Turn CPU definitions into subclasses target-alpha: Avoid leaking the alarm timer over reset alpha: Pass AlphaCPU array to Typhoon target-alpha: Let cpu_alpha_init() return AlphaCPU commit 89d62be9f4fb538db7f919a2be7df2544ffc02c5 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 18 14:02:46 2012 +0200 virtio-pci: don't poll masked vectors At the moment, when irqfd is in use but a vector is masked, qemu will poll it and handle vector masks in userspace. Since almost no one ever looks at the pending bits, it is better to defer this until pending bits are actually read. Implement this optimization using the new poll notifier. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 70f8ee395afda6d96b15cb9a5b311af7720dded0 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Dec 18 13:54:32 2012 +0200 msix: expose access to masked/pending state For use by poll handler. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit bbef882cc1938fa5a6e1b36a50d79ce5c0cefb81 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 16:10:02 2012 +0200 msi: add API to get notified about pending bit poll Update all users. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 812d2594d558f7c4f95c99c8fc58adc47ab68eb3 Author: Knut Omang <knut.omang@xxxxxxxxxx> Date: Tue Dec 18 22:36:29 2012 +0100 pcie: Fix bug in pcie_ext_cap_set_next Upper 16 bits of the PCIe Extended Capability Header was truncated during update, also breaking pcie_add_capability. Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 0a2a59d35cbabf63c91340a1c62038e3e60538c1 Author: Xudong Hao <xudong.hao@xxxxxxxxx> Date: Thu Dec 20 11:07:23 2012 +0800 qemu-kvm/pci-assign: 64 bits bar emulation Enable 64 bits bar emulation. Test pass with the current seabios which already support 64bit pci bars. Signed-off-by: Xudong Hao <xudong.hao@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> commit a2685bcc80f61aa612e0d8cfd91086857ae2942e Author: Gleb Natapov <gleb@xxxxxxxxxx> Date: Wed Dec 19 17:46:15 2012 +0200 MAINTAINERS: Take over kvm maintenance Replace Avi with myself as kvm maintainer. Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 74880fe27d2120ab3861dc857ecd025db1a67038 Author: Robert Schiele <rschiele@xxxxxxxxx> Date: Tue Dec 4 16:58:08 2012 +0100 configure: allow disabling pixman if not needed When we build neither any system emulation targets nor the tools there is actually no need for pixman library. In that case do not enforce presence of that library on the system. Reviewed-by: Andreas F=E4rber <afaerber@xxxxxxx> Signed-off-by: Robert Schiele <rschiele@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 2915efbfa8efadaa2806e827ba92b8dba4f7cd52 Author: Alex Horn <alex.horn@xxxxxxxxxxx> Date: Wed Dec 5 12:34:06 2012 +0000 tmp105: Create API for TMP105 temperature sensor. * Define enum for TMP105 registers * Move tmp105_set() from I2C to TMP105 header * Document units and range of temperature as preconditions Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Alex Horn <alex.horn@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit eac236ea7bfc1902126be70459e320591078df5c Author: LluÃs Vilanova <vilanova@xxxxxxxxxx> Date: Fri Dec 14 20:13:09 2012 +0100 build: Use separate makefile for "trace/" Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx> -- Changes in v2: * Do not depend on "qemu-timer-common.o". * Use "$(obj)" in rules to refer to the build sub-directory. * Remove dependencies against "$(GENERATED_HEADERS)". Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 6265e4ff327763b6362cba472e2b46f2dcf18762 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Fri Nov 23 12:12:01 2012 +0100 win32: Switch thread abstraction to us TLS variable internally We already depend on working __thread support for coroutines, so this complication here is no longer needed. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 57f26ae72983095d0258e391041dfb8864f769e5 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Thu Dec 20 16:43:48 2012 -0200 target-i386: CPUID: return highest basic leaf if eax > cpuid_xlevel This fixes a subtle bug. A bug that probably won't cause trouble for any existing OS, but a bug anyway: Intel SDM Volume 2, CPUID Instruction states: > Two types of information are returned: basic and extended function > information. If a value entered for CPUID.EAX is higher than the maximum > input value for basic or extended function for that processor then the > data for the highest basic information leaf is returned. For example, > using the Intel Core i7 processor, the following is true: > > CPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *) > CPUID.EAX = 0AH (* Returns Architectural Performance Monitoring leaf. *) > CPUID.EAX = 0BH (* Returns Extended Topology Enumeration leaf. *) > CPUID.EAX = 0CH (* INVALID: Returns the same information as CPUID.EAX = 0BH. *) > CPUID.EAX = 80000008H (* Returns linear/physical address size data. *) > CPUID.EAX = 8000000AH (* INVALID: Returns same information as CPUID.EAX = 0BH. *) AMD's CPUID Specification, on the other hand, is less specific: > The CPUID instruction supports two sets or ranges of functions, > standard and extended. > > â?¢ The smallest function number of the standard function range is > Fn0000_0000. The largest function num- ber of the standard function > range, for a particular implementation, is returned in CPUID > Fn0000_0000_EAX. > > â?¢ The smallest function number of the extended function range is > Fn8000_0000. The largest function num- ber of the extended function > range, for a particular implementation, is returned in CPUID > Fn8000_0000_EAX. > > Functions that are neither standard nor extended are undefined and > should not be relied upon. QEMU's behavior matched Intel's specification before, but this was changed by commit b3baa152aaef1905876670590275c2dd0bbb088c. This patch restores the behavior documented by Intel when cpuid_xlevel2 is 0. The existing behavior when cpuid_xlevel2 is set (falling back to level=cpuid_xlevel) is being kept, as I couldn't find any public documentation on the CPUID 0xC0000000 function range on Centaur CPUs. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 586502189edf9fd0f89a83de96717a2ea826fdb0 Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 21 12:26:38 2012 +0800 qemu-char: Inherit ptys and improve output from -serial pty Changes since V1: - Avoid crashing since qemu_opts_id() may return null on some systems according to Markus's suggestion. When controlling a qemu instance from another program, it's hard to know which serial port or monitor device is redirected to which pty. With more than one device using "pty" a lot of guesswork is involved. $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty char device redirected to /dev/pts/5 char device redirected to /dev/pts/6 char device redirected to /dev/pts/7 Although we can find out what everything else is connected to by the "info chardev" with "-monitor stdio" in the command line, It'd be very useful to be able to have qemu inherit pseudo-tty file descriptors so they could just be specified on the command line like: $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty char device compat_monitor0 redirected to /dev/pts/5 char device serial0 redirected to /dev/pts/6 char device serial1 redirected to /dev/pts/7 Referred link: https://bugs.launchpad.net/qemu/+bug/938552 Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 501a7ce7270955be151c442c27620fa7af2f3ce5 Merge: 62e0c09... 36f25d2... Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Dec 23 00:39:34 2012 +0100 Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu Adapt header include paths. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 36f25d2537c40c6c47f4abee5d31a24863d1adf7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Dec 20 00:04:09 2012 +0400 target-xtensa: fix search_pc for the last TB opcode Zero out tcg_ctx.gen_opc_instr_start for instructions representing the last guest opcode in the TB. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 3f124b687462ce3140d963a024705a89cdc8cee8 Author: Liming Wang <walimisdev@xxxxxxxxx> Date: Fri Dec 21 16:56:58 2012 +0800 net: add missing include file To fix building error: CC net/vde.o net/vde.c: In function â??vde_cleanupâ??: net/vde.c:65:5: error: implicit declaration of function â??qemu_set_fd_handlerâ?? [-Werror=implicit-function-declaration] net/vde.c:65:5: error: nested extern declaration of â??qemu_set_fd_handlerâ?? [-Werror=nested-externs] cc1: all warnings being treated as errors Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0c884d1659f02b4a0c704c2344f42e3fabb1f193 Author: é?³é??ä»» (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx> Date: Thu Dec 20 09:39:16 2012 +0800 translate-all.c: Use tb1->phys_hash_next directly in tb_remove When tb_remove was first commited at fd6ce8f6, there were three different calls pass different names to offsetof. In current codebase, the other two calls are replaced with tb_page_remove. There is no need to have a general tb_remove. Omit passing the third parameter and using tb1->phys_hash_next directly. Signed-off-by: Chen Wei-Ren <chenwj@xxxxxxxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b2136140f68ce05122f611eb9cde4f0365ab6a00 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Thu Dec 20 23:09:53 2012 +0100 net: Add missing include statement (fix compiler warnings for MinGW) These and some more compiler warnings were caused by a recent commit: net/tap-win32.c:724: warning: no previous prototype for â??tap_has_ufoâ?? net/tap-win32.c:729: warning: no previous prototype for â??tap_has_vnet_hdrâ?? ... Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4ad549e89e55fb48eb6feb783ee4a9ede1dea52e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 12:29:20 2012 +0100 xen: add missing include xen-all needs to access CharDeviceState's filename field, so it needs to include char/char.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ca273d58d8a77d5cc9d42440bcdf9d7cad2054bc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 20 12:29:19 2012 +0100 build: fix includes for VNC vnc-tls.h is included by vnc.h, and it includes gnutls/gnutls.h. Hence, GnuTLS header files are needed by all files that include vnc.h, most notably qmp.c. Move these flags to QEMU_CFLAGS for simplicity. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bb5801f551ee8591d576d87a9290af297998e322 Merge: 914606d... 9848a40... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Fri Dec 21 07:53:48 2012 -0600 Merge remote-tracking branch 'quintela/thread-20121220.next' into staging * quintela/thread-20121220.next: (79 commits) migration: merge QEMUFileBuffered into MigrationState migration: fix qemu_get_fd for BufferedFile ram: refactor ram_save_block() return value ram: account the amount of transferred ram better ram: optimize migration bitmap walking ram: Use memory_region_test_and_clear_dirty memory: introduce memory_region_test_and_clear_dirty ram: Add last_sent_block ram: rename last_block to last_seen_block migration: move migration notifier migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect migration: move migration_fd_put_ready() migration: add XFER_LIMIT_RATIO migration: move buffered_file.c code into migration.c savevm: New save live migration method: pending buffered_file: unfold buffered_append in buffered_put_buffer buffered_file: don't flush on put buffer buffered_file: Unfold the trick to restart generating migration data migration: just lock migrate_fd_put_ready migration: remove unfreeze logic ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 9848a40427cd76628d04d918fa4751c542527915 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Dec 19 09:55:50 2012 +0100 migration: merge QEMUFileBuffered into MigrationState Avoid splitting the state of outgoing migration, more or less arbitrarily, between two data structures. QEMUFileBuffered anyway is used only during migration. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e659586e63793a8a61efc4a658e2908ac8a2e935 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Nov 8 00:42:50 2012 +0100 migration: fix qemu_get_fd for BufferedFile Not really used, but nice to have it correct. :) Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b823ceaadfaad65f3a034ada394b33ca1bf1a914 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Dec 10 13:27:50 2012 +0100 ram: refactor ram_save_block() return value It could only return 0 if we only found dirty xbzrle pages that hadn't changed (i.e. they were written with the same content). We don't care about that case, it is the same than nothing dirty. So now the return of the function is how much have it written, nothing else. Adjust callers. And we also made ram_save_iterate() return the number of transferred bytes, not the number of transferred pages. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 3f7d7b098194ec893efa037491f6231687ff043a Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Thu Oct 18 13:56:35 2012 +0200 ram: account the amount of transferred ram better Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 4c8ae0f60e63478aea0a1741cca95474b68fb949 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Thu Oct 18 00:00:59 2012 +0200 ram: optimize migration bitmap walking Instead of testing each page individually, we search what is the next dirty page with a bitmap operation. We have to reorganize the code to move from a "for" loop, to a while(dirty) loop. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit ece7931817e03a4d946c15716fab5e4f781663c9 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:27:15 2012 +0200 ram: Use memory_region_test_and_clear_dirty This avoids having to do two walks over the dirty bitmap, once reading the dirty bits, and anthoer cleaning them. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 6c279db8ee99e64e498447c67c16e987150be96b Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:24:28 2012 +0200 memory: introduce memory_region_test_and_clear_dirty This function avoids having to do two calls, one to test the dirty bit, and other to reset it. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5f718a15d0db3775bbcf2755a35dd6b019bcff8b Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:10:55 2012 +0200 ram: Add last_sent_block This is the last block from where we have sent data. Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b23a9a5cad356cdc8e25d4be72e53096a27ea722 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 17 20:08:04 2012 +0200 ram: rename last_block to last_seen_block Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d3b26f5488e04c01667dd12c9bd7eed54dda258 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 20:04:41 2012 +0200 migration: move migration notifier At this point, it is waranteed that state is ACTIVE. Old position didn't assured hat. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 2e450865338738300e529457879d81332939f064 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 18:23:03 2012 +0200 migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0e288fa369c02df1731dc59ffbf158f5e5f2d80f Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 17:23:59 2012 +0200 migration: move migration_fd_put_ready() Put it near its use and un-export it. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 5b4e1eb769eee892b44d3f6b2369b05196442f59 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Dec 19 10:40:48 2012 +0100 migration: add XFER_LIMIT_RATIO The "magic" divisions by 10 are there because of the value of BUFFER_DELAY. Introduce a constant to explain them better. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d82d0e8b98cf0ea03a45f8542d835ebd3a84cd3 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 14:18:33 2012 +0200 migration: move buffered_file.c code into migration.c This only moves the code (also from buffered_file.h to migration.h). Fix whitespace until checkpatch is happy. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit e4ed1541ac9413eac494a03532e34beaf8a7d1c5 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Fri Sep 21 11:18:18 2012 +0200 savevm: New save live migration method: pending Code just now does (simplified for clarity) if (qemu_savevm_state_iterate(s->file) == 1) { vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); qemu_savevm_state_complete(s->file); } Problem here is that qemu_savevm_state_iterate() returns 1 when it knows that remaining memory to sent takes less than max downtime. But this means that we could end spending 2x max_downtime, one downtime in qemu_savevm_iterate, and the other in qemu_savevm_state_complete. Changed code to: pending_size = qemu_savevm_state_pending(s->file, max_size); DPRINTF("pending size %lu max %lu\n", pending_size, max_size); if (pending_size >= max_size) { ret = qemu_savevm_state_iterate(s->file); } else { vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); qemu_savevm_state_complete(s->file); } So what we do is: at current network speed, we calculate the maximum number of bytes we can sent: max_size. Then we ask every save_live section how much they have pending. If they are less than max_size, we move to complete phase, otherwise we do an iterate one. This makes things much simpler, because now individual sections don't have to caluclate the bandwidth (it was implossible to do right from there). Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f50b4986b261fc10065289d2a03deba24d824988 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 24 14:24:08 2012 +0200 buffered_file: unfold buffered_append in buffered_put_buffer It was the only user, and now buffered_put_buffer just do the append Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c518dd841deb85b3ccf77ff93e1142b27b06af32 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 24 14:00:13 2012 +0200 buffered_file: don't flush on put buffer We call buffered_put_buffer with iothread held, and buffered_flush() does synchronous writes. We only want to do the synchronous writes outside. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 78d1d231f889f7eae3835ddaec4373011792e46f Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Tue Jul 24 13:22:18 2012 +0200 buffered_file: Unfold the trick to restart generating migration data This was needed before due to the way that the callbacks worked. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e76274824defce54a124e5104be3880044c698e1 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 06:31:30 2012 +0200 migration: just lock migrate_fd_put_ready Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 188a428559f0cd0bde884d28b42e449abd744c2f Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 06:24:03 2012 +0200 migration: remove unfreeze logic Now that we have a thread, and blocking writes, we don't need it. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd217b8732b93d97c22fa70dc15a72d92a2b2380 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 06:15:02 2012 +0200 migration: make writes blocking Move all the writes to the migration_thread, and make writings blocking. Notice that are still using the iothread for everything that we do. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 766bd1769e70835e0cc25f3f057f101619494b59 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 05:45:29 2012 +0200 migration: move migration thread init code to migrate_fd_put_ready This way everything related with migration is run on the migration thread and no locking is needed. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit edfa1af52f4c69264c5a0c38da10eb372077fba3 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 02:13:23 2012 +0200 migration: make qemu_fopen_ops_buffered() return void We want the file assignment to happen before the thread is created to avoid locking, so we just do it before creating the thread. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit c09f4cb2b3243085a86aee3c7ed4f31c77e4db87 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Mon Jul 23 01:56:50 2012 +0200 buffered_file: Move from using a timer to use a thread We still protect everything except the wait with the iothread lock. But we moved from a timer to a thread. Steps one by one. We also need to detect when we have finished with a variable "complete". Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit b2a8658ef5dc57ea9e7a45091724a719dd4bdcd3 Author: Umesh Deshpande <udeshpan@xxxxxxxxxx> Date: Wed Aug 17 00:01:33 2011 -0700 protect the ramlist with a separate mutex Add the new mutex that protects shared state between ram_save_live and the iothread. If the iothread mutex has to be taken together with the ramlist mutex, the iothread shall always be _outside_. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit f798b07f517143df3a1e38bccc3f72ade2f080dc Author: Umesh Deshpande <udeshpan@xxxxxxxxxx> Date: Thu Aug 18 11:41:17 2011 -0700 add a version number to ram_list This will be used to detect if last_block might have become invalid across different calls to ram_save_live. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Umesh Deshpande <udeshpan@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx> commit abb26d63e7e4492d306c13b7e0e799d4c11a067c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 14 16:00:51 2012 +0100 exec: sort the memory from biggest to smallest Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit a3161038a1fd17a638a0c606f71e1f799f65f41b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 14 15:54:48 2012 +0100 exec: change RAM list to a TAILQ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 0d6d3c87a232cc27641dde3491d75c8021745d02 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 14 15:45:02 2012 +0100 exec: change ramlist from MRU order to a 1-item cache Most of the time, only 2 items will be active (from/to for a string operation, or code/data). But TCG guests likely won't have gigabytes of memory, so this actually goes down to 1 item. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 803ef03257a9ee375f08ca7a89e009ea12bc17a4 Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 14:08:05 2012 +0200 migration-fd: remove duplicate include Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 557ec5a001740d234e2b9604f0697a0d52ae90ca Author: Juan Quintela <quintela@xxxxxxxxxx> Date: Wed Oct 3 14:07:31 2012 +0200 migration: include qemu-file.h They don't use/know anything about buffered-file. Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 24ea1e4b4b79cef2bac6f8e0f0a212f42ef420a9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Nov 10 18:58:40 2012 +0100 migration: remove double call to migrate_fd_close The call in buffered_close is enough, because buffered_close is called already by migrate_fd_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit bde54c08b4854aceee3dee25121a2b835cb81166 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 20 12:48:19 2012 +0100 buffered_file: do not send more than s->bytes_xfer bytes per tick Sending more was possible if the buffer was large. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit 244eaa7514a944b36273eb8428f32da8e9124fcf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Dec 12 12:54:43 2012 +0100 migration: fix migration_bitmap leak Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx> commit d2a0ccc613ccc48c7240f99e1ce05e0acce6e2a1 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 17 13:01:07 2012 +0200 virtio: make bindings typesafe Move bindings from opaque to DeviceState. This gives us better type safety with no performance cost. Add macros to make future QOM work easier. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 15faf946f7a17a5fab0d05a2312d43249d81af3c Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Dec 20 08:19:16 2012 +0100 Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901 git shortlog: Kevin O'Connor (6): floppy: Minor - reduce handle_0e code size when CONFIG_FLOPPY is disabled. vga: Minor comment spelling fix. Don't recursively evaluate CFLAGS variables. Don't use gcc's -combine option. Add compile checking phase to build. acpi: Use prt_slot() macro to describe irq pins of first PCI device. Laszlo Ersek (1): maininit(): print machine UUID under seabios version message Paolo Bonzini (1): acpi: reintroduce LNKS Paolo's patch fixes the FreeBSD boot failure. Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 27dd7730582be85c7d4f680f5f71146629809c86 Merge: 914606d... ec5e016... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Wed Dec 19 17:15:39 2012 -0600 Merge remote-tracking branch 'bonzini/header-dirs' into staging * bonzini/header-dirs: (45 commits) janitor: move remaining public headers to include/ hw: move executable format header files to hw/ fpu: move public header file to include/fpu softmmu: move remaining include files to include/ subdirectories softmmu: move include files to include/sysemu/ misc: move include files to include/qemu/ qom: move include files to include/qom/ migration: move include files to include/migration/ monitor: move include files to include/monitor/ exec: move include files to include/exec/ block: move include files to include/block/ qapi: move include files to include/qobject/ janitor: add guards to headers qapi: make struct Visitor opaque qapi: remove qapi/qapi-types-core.h qapi: move inclusions of qemu-common.h from headers to .c files ui: move files to ui/ and include/ui/ qemu-ga: move qemu-ga files to qga/ net: reorganize headers net: move net.c to net/ ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 62e0c095450f6a7eb37914991f3f7966aa4da7a1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Dec 9 20:15:31 2012 +0100 MAINTAINERS: Include X86CPU in CPU maintenance area Document that the x86 CPU refactorings are going through the qom-cpu tree. This does not contradict the established practice that patches adding KVM features to the x86 CPU go through the KVM maintainers, it merely takes it out of target-i386 TCG's Odd Fixes status. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Cc: Marcello Tosatti <mtosatti@xxxxxxxxxx> commit f7575c96c6058763fe3bd8dd26f3d09473f2df36 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 06:18:14 2012 +0100 cpu: Move kvm_run into CPUState Pass CPUState / {X86,S390}CPU to helper functions. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a60f24b56b07f46453424263b276b0879c25c4e6 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 05:35:08 2012 +0100 cpu: Move kvm_state field into CPUState Adapt some functions to take CPUState / {PowerPC,S390}CPU argument. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a34a92b9ecd8d25bd1de9df601ed31ccd8ebcae7 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:43:18 2012 +0100 ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init() Cleans up after passing PowerPCCPU to timer callbacks. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 2f9859fb49cb3c6ec876bc0bf709f28afcdd2384 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:47:33 2012 +0100 ppc4xx_devs: Return PowerPCCPU from ppc4xx_init() Prepares for passing PowerPCCPU to ppc_booke_timers_init(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ee0c98e650da0ce1e4e17dc1e2bbb946cde2c45c Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:35:15 2012 +0100 ppc_booke: Pass PowerPCCPU to {decr,fit,wdt} timer callbacks Cleans up after passing PowerPCCPU to booke_update_irq(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 50c680f06ca81aebc91ac4a325f194b2d8396721 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:26:55 2012 +0100 ppc: Pass PowerPCCPU to [h]decr timer callbacks Cleans up after passing PowerPCCPU to [h]decr exception callbacks. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7e0a924734e7bfad7568bf57fec68bfecd5c2575 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 04:18:02 2012 +0100 ppc: Pass PowerPCCPU to [h]decr callbacks Cleans up after passing PowerPCCPU to ppc_set_irq(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 7058581a26f4299e0b7e05677c64c1b5a50d0e75 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sat Dec 1 03:55:58 2012 +0100 ppc: Pass PowerPCCPU to ppc_set_irq() Adapt static caller functions. This cleans up after passing PowerPCCPU to kvmppc_set_interrupt(). Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 1bc22652d62f862a5def54f939e87fdb7a5593ae Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 06:06:49 2012 +0100 kvm: Pass CPUState to kvm_vcpu_ioctl() Adapt helper functions to pass X86CPU / PowerPCCPU / S390CPU. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 20d695a9254c1b086a456d3b79a3c311236643ba Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 06:57:49 2012 +0100 kvm: Pass CPUState to kvm_arch_* Move kvm_vcpu_dirty field into CPUState to simplify things and change its type to bool while at it. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8737c51c0444f832c4e97d7eb7540eae457e08e4 Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 05:29:00 2012 +0100 cpu: Move kvm_fd into CPUState Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit a404b61244ff555ace0a1360fc22275fbeda503e Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:11 2012 -0200 qdev-properties.c: Separate core from the code used only by qemu-system-* This separates the qdev properties code in two parts: - qdev-properties.c, that contains most of the qdev properties code; - qdev-properties-system.c for code specific for qemu-system-*, containing: - Property types: drive, chr, netdev, vlan, that depend on code that won't be included on *-user - qemu_add_globals(), that depends on qemu-config.o. This change should help on two things: - Allowing DeviceState to be used by *-user without pulling dependencies that are specific for qemu-system-*; - Writing qdev unit tests without pulling too many dependencies. The copyright/license of qdev-properties.c isn't explicitly stated at the file, so add a simple copyright/license header pointing to the commit ID of the original file. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 04a2d61e494532260214736ebb0f975822771643 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Wed Dec 5 14:49:10 2012 -0200 qdev: Coding style fixes Add missing braces and break lines larger than 80 chars. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 92a3136174f60ee45b113296cb2c2a5225b00369 Author: Andreas Färber <afaerber@xxxxxxx> Date: Sun Dec 16 02:17:02 2012 +0100 cpu: Introduce CPUListState struct This generalizes {ARM,M68k,Alpha}CPUListState to avoid declaring it for each target. Place it in cpu-common.h to avoid circular dependencies. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> commit ec5e016c9a68588bd01be387416923c7dcafb951 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 13:09:17 2012 +0200 janitor: move remaining public headers to include/ Headers in the root directory are now used only from within that directory. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42dc882ff850cde22ae7d501d1dd452837fc4103 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 14 18:19:15 2012 +0200 hw: move executable format header files to hw/ Or delete a.out.h which is unused. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6b4c305cbd549e9d12a6b0192fdb8d6519a9664c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 13:12:00 2012 +0200 fpu: move public header file to include/fpu Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 927d4878b0ff319ed87fed9363f314613b0a5ed9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:05 2012 +0100 softmmu: move remaining include files to include/ subdirectories Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9c17d615a66ebd655871bf891ec0fe901ad8b332 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:04 2012 +0100 softmmu: move include files to include/sysemu/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1de7afc984b49af164e2619e6850b9732b173b34 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:20:00 2012 +0100 misc: move include files to include/qemu/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 14cccb618508a0aa70eb9ccf366703a019a45ff0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:50 2012 +0100 qom: move include files to include/qom/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit caf71f86a3de97394bcc5b06549012b7dc65fe60 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:50 2012 +0100 migration: move include files to include/migration/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 83c9089e73b81c69dc1ecdf859fa84d2c500fb5f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:49 2012 +0100 monitor: move include files to include/monitor/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 022c62cbbcf1ff40b23c92874f8670cddfec2414 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:49 2012 +0100 exec: move include files to include/exec/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 737e150e89c44c6b33691a627e24bac7fb58f349 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:44 2012 +0100 block: move include files to include/block/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7b1b5d191385ca52e96caae2a05c64f3a63855d9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:19:43 2012 +0100 qapi: move include files to include/qobject/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cb9c377f54a756b04ef92c1c2e0453613ee863cf Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 12:15:58 2012 +0100 janitor: add guards to headers Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7edd63f1b179c18f0f1a4664ddbabe4fe5b2be2f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 11:28:04 2012 +0100 qapi: make struct Visitor opaque Move its definition from qapi-visit-core.h to qapi-visit-impl.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4167c42c5eb79add9252547efe92df7e5c2d1abd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 11:51:59 2012 +0100 qapi: remove qapi/qapi-types-core.h The file is only including error.h and qerror.h. Prefer explicit inclusion of whatever files are needed. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 79ee7df8853c5d7085d87036420b6b388dda2595 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Dec 6 11:22:34 2012 +0100 qapi: move inclusions of qemu-common.h from headers to .c files Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 28ecbaeecb139a214f019207402a35d7b58aec0f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 28 12:06:30 2012 +0100 ui: move files to ui/ and include/ui/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2870dc3456c9c02debb63b0a99b3dcbbf74a1048 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:26:49 2012 +0200 qemu-ga: move qemu-ga files to qga/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1422e32db51ff2b1194fb24a6201c4310be5667d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 08:43:34 2012 +0200 net: reorganize headers Move public headers to include/net, and leave private headers in net/. Put the virtio headers in include/net/tap.h, removing the multiple copies that existed. Leave include/net/tap.h as the interface for NICs, and net/tap_int.h as the interface for OS-specific parts of the tap backend. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd9400b302ef582c3ae8a8d5288338ea5f0f4c9a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:27:28 2012 +0200 net: move net.c to net/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7fa22f2bf7a06d5345283a00a7c6d86b8a345228 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 09:36:33 2012 +0200 net: do not include net.h everywhere Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 090f7ac5ba433ef9de7004b8e8304d06bd9ffd7d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 09:36:16 2012 +0200 net: move Bluetooth stuff out of net.h Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f8fe796407d8b340def61a6b57991e47aee3cfc4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 08:49:51 2012 +0200 janitor: do not include qemu-char everywhere Touching char/char.h basically causes the whole of QEMU to be rebuilt. Avoid this, it is usually unnecessary. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 077805fa92b9089137c6b6b196d449ee05cc342f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 25 10:04:17 2012 +0200 janitor: do not rely on indirect inclusions of or from qemu-char.h Various header files rely on qemu-char.h including qemu-config.h or main-loop.h, but they really do not need qemu-char.h at all (particularly interesting is the case of the block layer!). Clean this up, and also add missing inclusions of qemu-char.h itself. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8e98e2e80b92e08e79e27a0c20a172906cfa12d2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:16:01 2012 +0200 build: kill libuser Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 11:12:21 2012 +0200 build: kill libdis, move disassemblers to disas/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c1c9367216c97ca93de79e90822045a425d7e76d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 14 18:28:23 2012 +0200 build: create ldscripts/ Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 525877c9992a07d424be4cfdd4ba13a69141a513 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 17 08:35:53 2012 +0200 build: move rules from Makefile to */Makefile.objs Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4e8cb28c4b536bf408c1ba01710e2a7644e144e5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 17 10:31:17 2012 +0200 build: add $(TARGET_DIR) to "GEN config-target.h" lines Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9d9199a003b7531257836d5abb0b30c250303885 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 17 10:21:52 2012 +0200 build: adjust setting of QEMU_INCLUDES Make it correct for nested directories, and move the static part from Makefile to configure. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7937e75b1aba66cf24c93e58c48cbb4d59d1c19c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 24 10:47:53 2012 +0200 vscclient: use per-target variables Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 494342b35b55b3b126821141e15c8a49df122ff1 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Oct 15 17:44:21 2012 +0200 target-alpha: Add support for -cpu ? Implement alphabetical listing of CPU subclasses. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit 0c28246fcd5ea9ccb22aa93ef2e0af14463fec58 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Oct 15 17:33:32 2012 +0200 target-alpha: Turn CPU definitions into subclasses Make TYPE_ALPHA_CPU abstract and add types <name>-alpha-cpu. Use type inheritence, and turn "2*" models into aliases. Move cpu_alpha_init() to cpu.c and split out CPU realization. Default to creating type "ev67-alpha-cpu" as before. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit c92458538f501eda585b4b774c50644aed391a8a Author: Andreas Färber <afaerber@xxxxxxx> Date: Wed Oct 31 02:41:11 2012 +0100 target-alpha: Avoid leaking the alarm timer over reset Move the timer from CPUAlphaState to AlphaCPU to avoid the pointer being zero'ed once we implement reset. Would cause a segfault in sys_helper.c:helper_set_alarm(). This also simplifies timer initialization in Typhoon. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit ad6011775a324d7c3e2a8bd824e03c5e576dda48 Author: Andreas Färber <afaerber@xxxxxxx> Date: Tue Oct 16 02:45:53 2012 +0200 alpha: Pass AlphaCPU array to Typhoon Also store it in TyphoonCchip. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit 5f5e335088925cedc5b912fd8bb4e1e933094d56 Author: Andreas Färber <afaerber@xxxxxxx> Date: Mon Oct 15 17:52:00 2012 +0200 target-alpha: Let cpu_alpha_init() return AlphaCPU Replace cpu_init() macro with inline function for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@xxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> commit 914606d26e654d4c01bd5186f4d05e3fd445e219 Merge: 5455a47... 779ab5e... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:43 2012 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: configure: Earlier pkg-config probe vmmouse_reset(): remove minimal code duplication linux-user/syscall.c: remove wrong forward decl of setgroups() fix build error on ARM due to wrong glibc check gitignore: Add virtfs-proxy-helper arm_gic: Add cpu nr to Raised IRQ message zynq_slcr: Compile time warning fixes. pflash_cfi0x: Send debug messages to stderr pflash_cfi01: qemu_log_mask "unimplemented" msg net, hub: fix the indent in the comments Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5455a474d92e345df83212fd1b2f59d4a5d46ca9 Merge: 510981a... 91bdd1c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:32 2012 -0600 Merge remote-tracking branch 'amit/master' into staging * amit/master: virtio-serial-bus: assert port is non-null in remove_port() virtio-serial-bus: send_control_msg() should not deal with cpkts virtio-serial: delete timer if active during exit virtio-serial: allocate post_load only at load-time virtio-serial: move active ports loading to separate function virtio-serial: use uint32_t to count ports Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 510981a097bf16ef4747c9a1dfe806edfc117177 Merge: c3a1ecd... 700f6b6... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:21 2012 -0600 Merge remote-tracking branch 'spice/spice.v66' into staging * spice/spice.v66: docs: add spice-port-fqdn.txt spice-qemu-char: register spicevmc ports during qemu_spice_init() spice-qemu-char: keep a list of spice chardev spice-qemu-char: add spiceport chardev spice-qemu-char: factor out CharDriverState creation spice-qemu-char: write to chardev whatever amount it can read qxl+vnc: register a vm state change handler for dummy spice_server qxl: save qemu_create_displaysurface_from result Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c3a1ecd0fc565c913efc59663e7ac34b9c3c2291 Merge: a8a826a... 249e7e0... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Tue Dec 18 15:41:04 2012 -0600 Merge remote-tracking branch 'sstabellini/xen-20121217' into staging * sstabellini/xen-20121217: cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_item Fix compile errors when enabling Xen debug logging. xen: fix trivial PCI passthrough MSI-X bug xen: implement support for secondary consoles in the console backend Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 779ab5e3ddb9ad903f9a0ec21e148ed7bfd2d255 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Sun Dec 16 11:29:45 2012 +0100 configure: Earlier pkg-config probe Probe pkg-config before it is used for the first time (libseccomp check). Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 5a6c7644b215060a43d94709307d86bc50e1b4b9 Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Thu Dec 13 15:01:49 2012 +0100 vmmouse_reset(): remove minimal code duplication Commit 069ab0eb added a vmmouse_disable() call to vmmouse_reset(). vmmouse_disable() resets the status already. Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c56dc774242f902e51e2343f4472e742ef2b7838 Author: John Spencer <maillist-qemu@xxxxxxxxxxx> Date: Mon Dec 10 07:59:46 2012 +0100 linux-user/syscall.c: remove wrong forward decl of setgroups() this declaration is wrong: the correct prototype on linux is: int setgroups(size_t size, const gid_t *list); since by default musl libc exposes this symbol in unistd.h additionally to grp.h, the wrong declaration causes a build error. the proper fix is to simply include the correct header. Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e12cdb1b4055530c61fe99683d256c42e9e62ac8 Author: John Spencer <maillist-qemu@xxxxxxxxxxx> Date: Mon Dec 10 07:59:44 2012 +0100 fix build error on ARM due to wrong glibc check the test for glibc < 2 "succeeds" wrongly for any non-glibc C library, and breaks the build on musl libc. we must first test if __GLIBC__ is defined at all, before using it unconditionally. Signed-off-by: John Spencer <maillist-qemu@xxxxxxxxxxx> Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 887eb29930a7b48e46d16916cb050d114016f143 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Thu Dec 6 20:03:26 2012 -0500 gitignore: Add virtfs-proxy-helper Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8c815fb30ed1940c66389be728b29d5ebdf05c0e Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:36 2012 +1000 arm_gic: Add cpu nr to Raised IRQ message Add the relevant CPU nr to this debug message to make IRQ debugging more informative. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8f6038009662b481fbd1e43cd69af80aa10a8223 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:35 2012 +1000 zynq_slcr: Compile time warning fixes. Few warnings when compiled with debug printfs enabled. Fixed all. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit ec9ea4890cd06de1648cbbfb99fcb63e01f4000f Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:34 2012 +1000 pflash_cfi0x: Send debug messages to stderr These debug info messages should go to stderr rather than stdout. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d96fc51cc6defcd80bdf932823dadd88be532a0b Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Tue Dec 4 16:04:33 2012 +1000 pflash_cfi01: qemu_log_mask "unimplemented" msg This printf is informing the user of unimplemented functionality. It should be re-directed to qemu_log(LOG_UNIMP, ...) accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit e103129b1b5746f8388b37d18317e61d6b139b69 Author: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 7 09:43:18 2012 +0800 net, hub: fix the indent in the comments Remove some redundant blanks in the comments of net_hub_id_for_client(). Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 91bdd1cf08f65b7a127c22d4d65ff9d16dcac870 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Tue Dec 18 13:08:33 2012 +0530 virtio-serial-bus: assert port is non-null in remove_port() remove_port() is called from qdev's unplug callback, and we're certain the port will be found in our list of ports. Adding an assert() documents this. This was flagged by Coverity, fix suggested by Markus. CC: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit 4e28976e563ad54f6adc5ae00b1fb8224f1a82ca Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Wed Dec 12 18:26:09 2012 +0530 virtio-serial-bus: send_control_msg() should not deal with cpkts Stuff the cpkt before calling send_control_msg(). This function should not be concerned about contents of the buffer it receives. A few code refactorings recently have made making this change easier than earlier. Coverity and clang have flagged this code several times in the past (cpkt->id not set before send_control_event() passed it on to send_control_msg()). This will finally eliminate the false-positive. CC: Markus Armbruster <armbru@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit 5f0cef1aa92b98610a99125d1d1d80e9339ac7c5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 27 09:51:55 2012 +0200 libcacard: simplify rules for recursive build Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6f991980a5e96f93a9f676959df2dcba665665ef Merge: a8a826a... 1dd3a74... Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Dec 17 18:17:08 2012 +0100 Merge commit '1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 700f6b6a921861a8946377a9531b6d1e8b09bb51 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:37 2012 +0100 docs: add spice-port-fqdn.txt Start a simple org.qemu.* registry of well known name. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit afd0b4091fef7a1290cf76c6da8c9a24a3553d58 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:36 2012 +0100 spice-qemu-char: register spicevmc ports during qemu_spice_init() Do the delayed registration of spicevmc ports after Spice server is initialized. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7a5448ce6ef140a20b1a090d50aeb4248d0a9ffd Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:35 2012 +0100 spice-qemu-char: keep a list of spice chardev Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 5a49d3e9a799b7e1bf87da7ae7f2a719e01da319 Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:34 2012 +0100 spice-qemu-char: add spiceport chardev Add a new spice chardev to allow arbitrary communication between the host and the Spice client via the spice server. Examples: This allows the Spice client to have a special port for the qemu monitor: ... -chardev spiceport,name=org.qemu.monitor,id=monitorport -mon chardev=monitorport v2: - remove support for chardev to chardev linking - conditionnaly compile with SPICE_SERVER_VERSION Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 71b423f4b970de2622803a67a2bf39b1d1f5a12c Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:33 2012 +0100 spice-qemu-char: factor out CharDriverState creation Make the CharDriverState creation code reusable by spicevmc port. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 07a54d704e62e2515db0b085d53d13a2f1b1b06a Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Date: Wed Dec 5 16:15:32 2012 +0100 spice-qemu-char: write to chardev whatever amount it can read The current code waits until the chardev can read MIN(len, VMC_MAX) But some chardev may never reach than amount, in fact some of them will only ever accept write of 1. Fix the min computation and remove the VMC_MAX constant. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 938b8a36b65e44c44ca29245437f8d7ac0f826e8 Author: Uri Lublin <uril@xxxxxxxxxx> Date: Wed Dec 12 18:30:47 2012 +0200 qxl+vnc: register a vm state change handler for dummy spice_server When qxl + vnc are used, a dummy spice_server is initialized. The spice_server has to be told when the VM runstate changes, which is what this patch does. Without it, from qxl_send_events(), the following error message is shown: qxl_send_events: spice-server bug: guest stopped, ignoring Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Uri Lublin <uril@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 2f464b5a32b414adb545acc6d94b5c35c7d258ba Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Mon Dec 10 07:41:07 2012 +0100 qxl: save qemu_create_displaysurface_from result Spotted by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=885644 Cc: qemu-stable@xxxxxxxxxx Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 249e7e0fff080df0eff54730f3b6459d92d61e5a Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Date: Mon Dec 17 11:44:02 2012 +0000 cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int The current code compare i (int) with req->count (uint32_t) in a for loop, risking an infinite loop if req->count is equal to UINT_MAX. Also i is only used in comparisons or multiplications with unsigned integers. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> commit a38648290ee277c7cb8a53eabdcdb08bb7a9f23f Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Date: Mon Dec 17 11:43:19 2012 +0000 cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_item Replace a lot of formulaic multiplications (containing casts, no less) with calls to a pair of functions. This encapsulates in a single place the operations which require care relating to integer overflow. Cc: Dongxiao Xu <dongxiao.xu@xxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit f1b8caf1d927f30f66054733a783651a24db4999 Author: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Date: Mon Dec 17 11:37:43 2012 +0000 Fix compile errors when enabling Xen debug logging. Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 044b99c6555f562254ae70dc39f32190eecbc1f2 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Dec 17 11:36:58 2012 +0000 xen: fix trivial PCI passthrough MSI-X bug We are currently passing entry->data as address parameter. Pass entry->addr instead. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Tested-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Xen-devel: http://marc.info/?l=xen-devel&m=135515462613715 commit 2c1d4d15f09cf95b8f832624e7aac2916f9d1865 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Dec 17 11:36:09 2012 +0000 xen: implement support for secondary consoles in the console backend This patch corresponds to commit 840184a106bc24e745beda5c77e392f6cecd2bc9 from git://xenbits.xensource.com/qemu-xen-unstable.git. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 1dd3a74d2ee2d873cde0b390b536e45420b3fe05 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 10 13:00:45 2012 +0200 kvm: do not flush after deleting gsi Deleting a GSI isn't necessary: it is enough to stop using it. Delay flush until an entry is used. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 2059946358999da80be22494af2d5c3174142902 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 23:11:16 2012 +0200 pci_bus.h: tweak include guards Now that header has been renamed, tweak include guards to match. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 952deab6cff5d6d81ff7a63955e958894c07177c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 15:04:09 2012 +0200 pci_bus: update comment Don't ask everyone to desist from including this header, simply recommend using accessors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 06aac7bd50cd934f416fe355633c045fee832905 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 15:00:45 2012 +0200 pci: rename pci_internals.h pci_bus.h There are lots of external users of pci_internals.h, apparently making it an internal interface only didn't work out. Let's stop pretending it's an internal header. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit d9fb58054825ef141e6d03f455654b2e3e767bce Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 14:39:01 2012 +0200 Revert "pci: prepare makefiles for pci code reorganization" This reverts commit 475d67c3bcd6ba9fef917b6e59d96ae69eb1a9b4. Now that all users have been updated, we don't need the makefile hack or the softlink anymore. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c759b24fae08c6c333df03e1db48e13b7f5eda30 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 23:05:42 2012 +0200 pci: fix path for local includes Include dependencies from pci core using the correct path. This is required now that it's in the separate directory. Need to check whether they can be minimized, for now, keep the code as is. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a2cb15b0ddfa05f81a42d7b65dd0c7c50e420c33 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 14:24:50 2012 +0200 pci: update all users to look in pci/ update all users so we can remove the makefile hack. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 315a1350c4a386065a73aad2ded1a11d77bf7771 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 13:32:14 2012 +0200 pci: move pci core code to hw/pci Move files and modify makefiles to pick them at the new location. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit a8a826a3c3b8c8a1c4def0e9e22b46e78e6163a0 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Tue Dec 4 20:16:07 2012 +0000 exec: refactor cpu_restore_state Refactor common code around calls to cpu_restore_state(). tb_find_pc() has now no external users, make it static. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5b6dd8683dc30e8e0970db3dd9176732dc819410 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Dec 2 16:04:43 2012 +0000 exec: move TB handling to translate-all.c Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5a3165263ae6782a7fe712a0a0c29c17468b9b68 Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Dec 2 21:28:09 2012 +0000 exec: extract TB watchpoint check Will be moved by the next patch. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 44209fc4edfd92464eb0413acfd434b687be945a Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sun Dec 2 17:25:06 2012 +0000 exec: fix coding style Fix coding style in areas to be moved by later patches. Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 6d4e18925a65306afabaad7b63a4588c18919e99 Merge: 659f807... a64ae61... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Dec 15 09:05:26 2012 +0000 Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf * 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits) pseries: Increase default NVRAM size target-ppc: Don't use hwaddr to represent hardware state PPC: e500: pci: Export slot2irq calculation PPC: E500plat: Make a lot of PCI slots available PPC: E500: Move PCI slot information into params PPC: E500: Generate dt pci irq map dynamically PPC: E500: PCI: Make IRQ calculation more generic PPC: E500: PCI: Make first slot qdev settable openpic: Accelerate pending irq search openpic: fix minor coding style issues MSI-X: Fix endianness PPC: e500: Declare pci bridge as bridge PPC: e500: Add MSI support openpic: add Shared MSI support openpic: make brr1 model specific openpic: convert to qdev openpic: remove irq_out openpic: rename openpic_t to OpenPICState openpic: convert simple reg operations to builtin bitops openpic: remove unused type variable ... commit 659f807c0a700317a7a0fae7a6e6ebfe68bfbbc4 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Dec 13 04:13:41 2012 +0400 target-xtensa: fix ITLB/DTLB page protection flags With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is only used for code access, DTLB is only for data. However TLB entries in both TLBs have attribute field controlling write and exec access. These bits need to be properly masked off depending on TLB type before being used as tlb_set_page prot argument. Otherwise the following happens: (1) ITLB entry for some PFN gets invalidated (2) DTLB entry for the same PFN gets updated, attributes allow code execution (3) code at the page with that PFN is executed (possible due to step 2), entry for the TB is written into the jump cache (4) QEMU TLB entry for the PFN gets replaced with an entry for some other PFN (5) code in the TB from step 3 is executed (possible due to jump cache) and it accesses data, for which there's no DTLB entry, causing DTLB miss exception (6) re-translation of the TB from step 5 is attempted, but there's no QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB miss exception at the TB start address (7) ITLB miss exception is handled by the guest, but execution is resumed from the beginning of the faulting TB (the point where ITLB miss occured), not from the point where DTLB miss occured, which is wrong. With that fix the above scenario causes ITLB miss exception (that used to be step 7) at step 3, right at the beginning of the TB. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4b4496dbccc5f286f0ef411f0ff702d67cb95145 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:25 2012 +0100 console: clip update rectangle Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit bc210eb163b162ff2e94e5c8f4307715731257f8 Author: Gerd Hoffmann <1087974@xxxxxxxxxxxxxxxxxx> Date: Fri Dec 14 07:54:24 2012 +0000 pixman: fix vnc tight png/jpeg support This patch adds an x argument to qemu_pixman_linebuf_fill so it can also be used to convert a partial scanline. Then fix tight + png/jpeg encoding by passing in the x+y offset, so the data is read from the correct screen location instead of the upper left corner. Cc: 1087974@xxxxxxxxxxxxxxxxxx Cc: qemu-stable@xxxxxxxxxx Reported-by: Tim Hardeneck <thardeck@xxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f27b2e1dfe79f993567652411d1ba16295b99719 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:23 2012 +0100 pixman: update internal copy to pixman-0.28.2 Some w64 fixes by Stefan Weil found their way into 0.28.2, so update the internal copy to that version to improve windows support. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit cb1d40d7ccfc18ba1fcb9e064402d930349ee047 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:22 2012 +0100 Revert "pixman: require 0.18.4 or newer" This reverts commit 288fa40736e6eb63132d01aa6dc21ee831b796ae. The only reason old pixman versions didn't work was the missing PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now. So we don't have to require a minimum pixman version. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fbddfc727bde692f009a269e8e628d8c152b537b Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Dec 14 08:54:21 2012 +0100 pixman: fix version check for PIXMAN_TYPE_BGRA Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f28558d3d37ad3bc4e35e8ac93f7bf81a0d5622c Author: Will Auld <will.auld.intel@xxxxxxxxx> Date: Mon Nov 26 21:32:18 2012 -0800 target-i386: Enabling IA32_TSC_ADJUST for QEMU KVM guest VMs CPUID.7.0.EBX[1]=1 indicates IA32_TSC_ADJUST MSR 0x3b is supported Basic design is to emulate the MSR by allowing reads and writes to the hypervisor vcpu specific locations to store the value of the emulated MSRs. In this way the IA32_TSC_ADJUST value will be included in all reads to the TSC MSR whether through rdmsr or rdtsc. As this is a new MSR that the guest may access and modify its value needs to be migrated along with the other MRSs. The changes here are specifically for recognizing when IA32_TSC_ADJUST is enabled in CPUID and code added for migrating its value. Signed-off-by: Will Auld <will.auld@xxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> commit a64ae610b978dfd8ccfb7f6c5d4cfe62d7542fbd Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Dec 3 16:42:16 2012 +0000 pseries: Increase default NVRAM size If no image file for NVRAM is specified, the pseries machine currently creates a 16K non-persistent NVRAM by default. This basically works, but is not large enough for current firmware and guest kernels to create all the NVRAM partitions they would like to. Increasing the default size to 64K addresses this and stops the guest generating error messages. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b162d02e9450201c656edce290f33994a6d2ad33 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Dec 3 16:42:14 2012 +0000 target-ppc: Don't use hwaddr to represent hardware state The hwaddr type is somewhat vaguely defined as being able to contain bus addresses on the widest possible bus in the system. For that reason it's discouraged for representing specific pieces of persistent hardware state, which should instead use an explicit width type that matches the bits available in real hardware. In particular, because of the possibility that the size of hwaddr might change if different buses are added to the target in future, it's not suitable for use in vm state descriptions for savevm and migration. This patch purges such unwise uses of hwaddr from the ppc target code, which turns out to be just one. The ppcemb_tlb_t struct, used on a number of embedded ppc models to represent a TLB entry contains a hwaddr for the real address field. This patch changes it to be a fixed uint64_t which is suitable enough for all machine types which use this structure. Other uses of hwaddr in CPUPPCState turn out not to be problematic: htab_base and htab_mask are just used for the convenience of the TCG code; the underlying machine state is the SDR1 register, which is stored with a suitable type already. Likewise the mpic_cpu_base field is only used internally and does not represent fundamental hardware state which needs to be saved. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9e2c12988bebca7b99c0cd064b23fb7ea6643c86 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 13 01:16:24 2012 +0100 PPC: e500: pci: Export slot2irq calculation We need the calculation method to get from a PCI slot ID to its respective interrupt line twice. Once in the internal map function and once when assembling the device tree. So let's extract the calculation to a separate function that can be called by both users. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3bb7e02a9725a24e5bf915b35f914f82f5b07a1f Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 14:58:30 2012 +0100 PPC: E500plat: Make a lot of PCI slots available The ppce500 machine doesn't have to stick to hardware limitations, as it's defined as being fully device tree based. Thus we can change the initial PCI slot ID to 0x1 which gives us a whopping 31 PCI devices we can support with this machine now! Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 492ec48dc2d99ca13b24d554e1970af7e2581e23 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 13:53:53 2012 +0100 PPC: E500: Move PCI slot information into params We have a params struct that allows us to expose differences between e500 machine models. Include PCI slot information there, so we can have different machines with different PCI slot topology. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 347dd79dccf41a679115213da673dfd06c4c8cc8 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 13:47:07 2012 +0100 PPC: E500: Generate dt pci irq map dynamically Today we're hardcoding the PCI interrupt map in the e500 machine file. Instead, let's write it dynamically so that different machine types can have different slot properties. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 05f57d9de8e99bf5f7ca762c6dc2f1e054c2074c Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 12:58:12 2012 +0100 PPC: E500: PCI: Make IRQ calculation more generic The IRQ line calculation is more or less hardcoded today. Instead, let's write it as an algorithmic function that theoretically allows an arbitrary number of PCI slots. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit eafb325fb11af21ed9df3f5a310fd26e70954318 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Dec 12 12:56:40 2012 +0100 PPC: E500: PCI: Make first slot qdev settable Today the first slot id in our e500 pci implementation is hardcoded to 0x11. Keep it there as default, but allow users to change the default to a different id. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 76aec1f8b6549d14576a3eb739c731df8f678ffb Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 13 12:48:14 2012 +0100 openpic: Accelerate pending irq search When we're done with one interrupt, we need to search for the next pending interrupt in the queue. This search has grown quite big now that we have more than 256 possible irq lines. So let's memorize how many interrupts we have pending in our bitmaps, so that we can always bail out in the usual case - the one where we're all done. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dbe30e13e87a71e85e88ae3ffd3460173cbc8193 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 13 00:44:22 2012 +0100 openpic: fix minor coding style issues This patch removes all remaining occurences of spaces before function parameter indicating parenthesis. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 6 04:11:33 2012 +0100 MSI-X: Fix endianness The MSI-X vector tables are usually stored in little endian in memory, so let's mark the accessors as such. This fixes MSI-X on e500 for me. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 997505065dc92e533debf5cb23012ba4e673d387 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 14:27:26 2012 +0100 PPC: e500: Declare pci bridge as bridge The new PCI host bridge device needs to identify itself as PCI host bridge. Declare it as such. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a911b7a92064d17b862ae85fe8e5ec91b7ba1aa9 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 14:26:37 2012 +0100 PPC: e500: Add MSI support Now that our interrupt controller supports MSIs, let's expose that feature to the guest through the device tree! Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 732aa6ec2639ace8bcb0b27b9c0d71103bd1d153 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 14:18:00 2012 +0100 openpic: add Shared MSI support The OpenPIC allows MSI access through shared MSI registers. Implement them for the MPC8544 MPIC, so we can support MSIs. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dbbbfd6058dda61f57d1f72133aa54eb27330411 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 13:51:50 2012 +0100 openpic: make brr1 model specific Now that we can properly distinguish between openpic model differences, let's move brr1 out of the raven code path. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d0b7263134dfd4d487698b639f2069951f3fdb26 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 05:17:14 2012 +0100 openpic: convert to qdev This patch converts the OpenPIC device to qdev. Along the way it renames the "openpic" target to "raven" and the "mpic" target to "fsl_mpic_20", to better reflect the actual models they implement. This way we have a generic OpenPIC device now that can handle different flavors of the OpenPIC specification. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5bac0701113f4de4fee053a3939b0f569a04b88c Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 02:18:58 2012 +0100 openpic: remove irq_out The current openpic emulation contains half-ready code for bypass mode. Remove it, so that when someone wants to finish it they can start from a clean state. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 6d544ee8ac2097c87fc97b53d6a1310d9daa0562 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:59:20 2012 +0100 openpic: rename openpic_t to OpenPICState Rename the openpic_t struct to OpenPICState, so it adheres better to the current coding style rules. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1945dbc15f0f1ffdc9a10526448e9eba7c599d98 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:49:52 2012 +0100 openpic: convert simple reg operations to builtin bitops The openpic code has its own bitmap code to access bits inside of a bitmap. However, that is overkill when we simply want to check for a bit inside of a uint32_t. So instead, let's use normal bit masks and C builtin shifts and ands. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e1d10851522d7262a266f95d54c48eb2b1d8eb9b Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:25:21 2012 +0100 openpic: remove unused type variable The openpic source irqs are carrying around a type indicator that is never accessed by anything. Remove it. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 35732cb41e8f8608bb0fd6ae023daee56d439bf1 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 01:04:48 2012 +0100 openpic: unify memory api subregions The only difference between the "openpic" and "mpic" memory api subregion descriptors is the endianness. Unify them as openpic accessors with explicit endianness markers in their names. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 825463b38414c9afb657caee1ce20eff2d521317 Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 00:58:54 2012 +0100 openpic: combine openpic and mpic reset functions The openpic and mpic reset handlers are almost identical. Combine them and extract the differences into state variables. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c38c0b8ad0551e470984f2ae7e8e54aae304ed4b Author: Alexander Graf <agraf@xxxxxxx> Date: Sat Dec 8 00:43:42 2012 +0100 openpic: merge mpic and openpic timer handling The openpic and mpic timer handling code is basically the same. Merge them. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5861a33898bbddfd1a80c2e202cb9352e3b1ba62 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 23:51:09 2012 +0100 openpic: combine mpic and openpic irq raise functions The IRQ raise mechanisms of the OpenPIC and MPIC controllers is identical, just that the MPIC one can also raise critical interrupts. Combine those two and check for critical raise capability during runtime. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 780d16b77f992db81e90b7dd7474a9397ce393b9 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 17:15:15 2012 +0100 openpic: Convert subregions to memory api The "openpic" controller is currently using one big region and does subregion dispatching manually. Move this to the memory api. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a285f1ca703a434fa8edf584f94a1dc29067ab29 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 16:45:40 2012 +0100 openpic: combine mpic and openpic src handlers The MPIC source irq handler suddenly became identical to the standard OpenPIC source irq handler. Combine them into the same function. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b9b2aaa3c6926cf8af21fe75457ca6c6e0dc1f5d Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 16:31:55 2012 +0100 openpic: update to proper memory api The openpic code was still using the old mmio memory api. Convert it to be a generic memory api user and clean up some code that becomes redundant that way. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cdbb912a6f8b5f325df3a6fd42cb2843032050c9 Author: Alexander Graf <agraf@xxxxxxx> Date: Fri Dec 7 16:10:34 2012 +0100 mpic: Unify numbering scheme MPIC interrupt numbers in Linux (device tree) and in QEMU are different, because QEMU takes the sparseness of the IRQ number space into account. Remove that cleverness and instead assume a flat number space. This makes the code easier to understand, because we are actually aligned with Linux on the view of our worlds. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 38898d7ed803cee5105246150725487add78cbd7 Author: Alexander Graf <agraf@xxxxxxx> Date: Thu Dec 6 15:59:27 2012 +0100 openpic: Remove unused code The openpic code had a few WIP bits left that nobody reanimated within the last few years. Remove that code. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> commit 8b1853e7d8c2bf8c6a9f023ab98ba0e8a38bd086 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Dec 3 16:42:13 2012 +0000 pseries: Don't allow TCE (iommu) tables to be registered with duplicate LIOBNs The PAPR specification requires that every bus or device mediated by the IOMMU have a unique Logical IO Bus Number (LIOBN). This patch adds a check to enforce this, which will help catch errors in configuration earlier. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3eddc1be1ccb26387f8f960f8a3d8c417064a91f Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Wed Oct 10 04:28:28 2012 +0000 Adding BAR0 for e500 PCI controller PCI Root complex have TYPE-1 configuration header while PCI endpoint have type-0 configuration header. The type-1 configuration header have a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci address space to CCSR address space. This can used for 2 purposes: 1) for MSI interrupt generation 2) Allow CCSR registers access when configured as PCI endpoint, which I am not sure is a use case with QEMU-KVM guest. What I observed is that when guest read the size of BAR0 of host controller configuration header (TYPE1 header) then it always reads it as 0. When looking into the QEMU hw/ppce500_pci.c, I do not find the PCI controller device registering BAR0. I do not find any other controller also doing so may they do not use BAR0. There are two issues when BAR0 is not there (which I can think of): 1) There should be BAR0 emulated for PCI Root complex (TYPE1 header) and when reading the size of BAR0, it should give size as per real h/w. 2) Do we need this BAR0 inbound address translation? When BAR0 is of non-zero size then it will be configured for PCI address space to local address(CCSR) space translation on inbound access. The primary use case is for MSI interrupt generation. The device is configured with an address offsets in PCI address space, which will be translated to MSI interrupt generation MPIC registers. Currently I do not understand the MSI interrupt generation mechanism in QEMU and also IIRC we do not use QEMU MSI interrupt mechanism on e500 guest machines. But this BAR0 will be used when using MSI on e500. I can see one more issue, There are ATMUs emulated in hw/ppce500_pci.c, but i do not see these being used for address translation. So far that works because pci address space and local address space are 1:1 mapped. BAR0 inbound translation + ATMU translation will complete the address translation of inbound traffic. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> [agraf: fix double variable assignment w/o read] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit dffb1dc29fb364aaafc41b34100a06517d7f065e Author: Bharat Bhushan <r65777@xxxxxxxxxxxxx> Date: Wed Oct 10 04:28:27 2012 +0000 e500: Adding CCSR memory region All devices are also placed under CCSR memory region. The CCSR memory region is exported to pci device. The MSI interrupt generation is the main reason to export the CCSR region to PCI device. This put the requirement to move mpic under CCSR region, but logically all devices should be under CCSR. So this patch places all emulated devices under ccsr region. Signed-off-by: Bharat Bhushan <bharat.bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4fd50339c0b55fa6387fa3c28f755c306997064c Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:58 2012 +0000 pseries: Update SLOF for NVRAM support Now that we have implemented PAPR compatible NVRAM interfaces in qemu, this updates the SLOF firmware to actually initialize and use the NVRAM as a PAPR guest firmware is expected to do. This SLOF update also includes an ugly but useful workaround for a bug in the SLES11 installer which caused it to fail under KVM. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 639e8102ae71ce2e46ebeffc6080767e573c0c56 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:57 2012 +0000 pseries: Implement PAPR NVRAM The PAPR specification requires a certain amount of NVRAM, accessed via RTAS, which we don't currently implement in qemu. This patch addresses this deficiency, implementing the NVRAM as a VIO device, with some glue to instantiate it automatically based on a machine option. The machine option specifies a drive id, which is used to back the NVRAM, making it persistent. If nothing is specified, the driver instead simply allocates space for the NVRAM, which will not be persistent Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 22a2611c9cef4a8c8ad96fe17b3511a6cc5fb3a1 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:55 2012 +0000 pseries: Split xics irq configuration from state information Currently the XICS irq controller code has a per-irq state structure which amongst other things includes whether the interrupt is level or message triggered - this is configured by the platform code, and is not directly visible to the guest. This leads to a slightly awkward construct at reset time where we need to reset everything in the state structure _except_ the lsi/msi flag, which needs to retain the information given at platform init time. More importantly this flag will make matching the qemu state to the KVM state for the upcoming in-kernel XICS implementation more awkward. This patch, therefore, removes this flag from the per-irq state structure, instead adding a parallel array giving the lsi/msi configuration per irq. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 500efa2319d1f1074b1d61e5ceb7a0fd61d0831d Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:54 2012 +0000 pseries: Add tracepoints to the XICS interrupt controller This patch adds tracing / debugging calls to the XICS interrupt controller implementation used on the pseries machine. Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d36b66f7a420737dcc24de15b35a465ff6b1798d Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:53 2012 +0000 pseries: Allow RTAS tokens without a qemu handler Kernel-based RTAS calls will not have a qemu handler, but will still be registered in qemu in order to be assigned a token number and appear in the device-tree. Let's test for the name being NULL rather than the handler when deciding to skip an entry while building the device-tree Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 4aac82c34675fcbd3722dfc3a2d04c839215ec6b Author: Michael Ellerman <michael@xxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:52 2012 +0000 pseries: Return the token when we register an RTAS call The kernel will soon be able to service some RTAS calls. However the choice of tokens will still be up to userspace. To support this have spapr_rtas_register() return the token that is allocated for an RTAS call, that allows the calling code to tell the kernel what the token value is. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bf3bc4c4e992fb9914e2f1f7e8a569394d298b57 Author: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:50 2012 +0000 pseries: Use #define for XICS base irq number Currently the lowest "real" irq number for the XICS irq controller (as opposed to numbers reserved for IPIs and other special purposes) is hard coded as 16 in two places - in xics_system_init() and in spapr.c. As well as being generally bad practice, we're going to need to change this number soon to fit in with the in-kernel XICS implementation. This patch adds a #define for this number to avoid future breakage. Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx> Signed-off-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 044f4c8b0ee90290b6cbbc616c4be3c8aeffcaab Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 12 16:46:49 2012 +0000 pseries: Fix incorrect initialization of interrupt controller Currently in the reset code for the XICS interrupt controller, we initialize the pending_priority field to 0 (most favored, by XICS convention). This is incorrect, since there is no pending interrupt, it should be set to least favored - 0xff. At the moment our XICS implementation doesn't get hurt by this edge case, but it does confuse the upcoming kernel XICS implementation. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e376a788ae130454ad5e797f60cb70d0308babb6 Merge: df93300... 226c3c2... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 14:32:28 2012 -0600 Merge remote-tracking branch 'kwolf/for-anthony' into staging * kwolf/for-anthony: (43 commits) qcow2: Factor out handle_dependencies() qcow2: Execute run_dependent_requests() without lock qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2 qcow2: Allocate l2meta only for cluster allocations qcow2: Drop l2meta.cluster_offset qcow2: Allocate l2meta dynamically qcow2: Introduce Qcow2COWRegion qcow2: Round QCowL2Meta.offset down to cluster boundary atapi: reset cdrom tray statuses on ide_reset qemu-iotests: Test concurrent cluster allocations qcow2: Move BLKDBG_EVENT out of the lock qemu-io: Add AIO debugging commands blkdebug: Implement suspend/resume of AIO requests blkdebug: Factor out remove_rule() blkdebug: Allow usage without config file create new function: qemu_opt_set_number use qemu_opts_create_nofail introduce qemu_opts_create_nofail function qemu-option: qemu_opt_set_bool(): fix code duplication qemu-option: qemu_opts_validate(): fix duplicated code ... Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit df9330070e671134544f872dc5c027443878b764 Merge: aa1246a... 871edc5... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 11:41:57 2012 -0600 Merge remote-tracking branch 'pmaydell/arm-devs.next' into staging * pmaydell/arm-devs.next: hw/ds1338.c: Fix handling of DAY (wday) register. hw/ds1338.c: Implement support for the control register. hw/ds1338.c: Ensure state is properly initialized. hw/ds1338.c: Fix handling of HOURS register. hw/ds1338.c: Add definitions for various flags in the RTC registers. hw/ds1338.c: Correct bug in conversion to BCD. exynos4210/mct: Avoid infinite loop on non incremental timers hw/arm_gic: fix target CPUs affected by set enable/pending ops xilinx_zynq: Add one variable to avoid overwriting QSPI bus hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs hw/arm_gic: Fix comparison with priority mask register hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit aa1246aee2914424f101a7e462bd1393ececef95 Merge: 5a58598... ff15629... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 11:41:25 2012 -0600 Merge remote-tracking branch 'kraxel/seabios-e8a76b0' into staging * kraxel/seabios-e8a76b0: seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 5a58598090d1349d2bd3e9015e6999dcf87ec5b5 Merge: 45e6cee... d281084... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Thu Dec 13 11:40:23 2012 -0600 qMerge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20121210.0' into staging vfio-pci: fix kvm disabled path * awilliam/tags/vfio-pci-for-qemu-20121210.0: vfio-pci: Don't use kvm_irqchip_in_kernel Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 226c3c26b9800b7c6a8d3100e1faad6d2b97b0f5 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:49 2012 +0100 qcow2: Factor out handle_dependencies() Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 4e95314e2bb7baa64f2a9026df5e2649081b7060 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:48 2012 +0100 qcow2: Execute run_dependent_requests() without lock There's no reason for run_dependent_requests() to hold s->lock, and a later patch will require that in fact the lock is not held. Also, before this patch, run_dependent_requests() not only does what its name suggests, but also removes the l2meta from the list of in-flight requests. When changing this, it becomes an one-liner, so just inline it completely. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 280d373579558f73a8b70e329d9a6206933d3809 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:47 2012 +0100 qcow2: Enable dirty flag in qcow2_alloc_cluster_link_l2 This is closer to where the dirty flag is really needed, and it avoids having checks for special cases related to cluster allocation directly in the writev loop. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit f50f88b9fea09fef12cc293126cf45dcf0ef600b Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:46 2012 +0100 qcow2: Allocate l2meta only for cluster allocations Even for writes to already allocated clusters, an l2meta is allocated, though it stays effectively unused. After this patch, only allocating requests still have one. Each l2meta now describes an in-flight request that writes to clusters that are not yet hooked up in the L2 table. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 060bee8943c27d4d53f65570fafaa2559fcd87c3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:45 2012 +0100 qcow2: Drop l2meta.cluster_offset There's no real reason to have an l2meta for normal requests that don't allocate anything. Before we can get rid of it, we must return the host cluster offset in a different way. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cf5c1a231ee99ac21fe8258faf50bb1f65884343 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:44 2012 +0100 qcow2: Allocate l2meta dynamically As soon as delayed COW is introduced, the l2meta struct is needed even after completion of the request, so it can't live on the stack. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 593fb83cacf3818a5623f31a6c04c24d87519ad0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:43 2012 +0100 qcow2: Introduce Qcow2COWRegion This makes it easier to address the areas for which a COW must be performed. As a nice side effect, the COW code in qcow2_alloc_cluster_link_l2 becomes really trivial. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 1d3afd649bc77aa14bc2741e2da6475822d41c5f Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Fri Dec 7 18:08:42 2012 +0100 qcow2: Round QCowL2Meta.offset down to cluster boundary The offset within the cluster is already present as n_start and this is what the code uses. QCowL2Meta.offset is only needed at a cluster granularity. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 871edc5fdba884929102b89d28ff363c94f0822d Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:28 2012 +0000 hw/ds1338.c: Fix handling of DAY (wday) register. Per the datasheet, the DAY (wday) register is user defined. Implement this. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 996e91f04b9cc55cf246052856abe9189a5a0f28 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:28 2012 +0000 hw/ds1338.c: Implement support for the control register. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ed3d37d287300b7bcdb4605b921e5ec593afd214 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:28 2012 +0000 hw/ds1338.c: Ensure state is properly initialized. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 59dda8e05b015471d456177141a7c2eeda3dab14 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:27 2012 +0000 hw/ds1338.c: Fix handling of HOURS register. Per the datasheet, the mapping between 12 and 24 hours modes is: 0 <-> 12 PM 1-12 <-> 1-12 AM 13-23 <-> 1-11 PM Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 95c9361598e66de42facdac64e614e3de85186f5 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:27 2012 +0000 hw/ds1338.c: Add definitions for various flags in the RTC registers. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 580f5c000809108f51a77ae74709100d32be6ea5 Author: Antoine Mathys <barsamin@xxxxxxxxx> Date: Thu Dec 13 14:05:27 2012 +0000 hw/ds1338.c: Correct bug in conversion to BCD. Signed-off-by: Antoine Mathys <barsamin@xxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit a75bf146503a94fb900e0dfa0529bd5d1be9fec5 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Thu Dec 13 15:54:43 2012 +0530 virtio-serial: delete timer if active during exit The post_load timer was being freed, but not deleted. This could cause problems when the timer is armed, but the device is hot-unplugged before the callback is executed. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit bdb917bf8ab187b662c612ee6fb87479c0b82490 Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Fri Nov 30 00:54:44 2012 +0530 virtio-serial: allocate post_load only at load-time This saves us a few bytes in the VirtIOSerial struct. Not a big savings, but since the entire structure is used only during a short while after migration, it's helpful to keep the struct cleaner and smaller. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit 2e575a86abc36764ef34030f423ef118914a01cc Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Thu Nov 29 17:02:14 2012 +0530 virtio-serial: move active ports loading to separate function The virtio_serial_load() function became too big, split the code that gets the port info from the source into a separate function. Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit c3587ca1a25862628e06cc019f91e7b2dcef40bf Author: Amit Shah <amit.shah@xxxxxxxxxx> Date: Thu Nov 29 15:44:44 2012 +0530 virtio-serial: use uint32_t to count ports Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c Author: Pavel Hrdina <phrdina@xxxxxxxxxx> Date: Tue Dec 11 08:55:48 2012 +0100 atapi: reset cdrom tray statuses on ide_reset Tray statuses should be also reseted. Some guests may lock the tray and after reset before any kernel is loaded the tray should be unlocked. Also if you reset the real computer the tray is closed. We should do the same in qemu. Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ca818cfbfd77e02ffac338866568ac07f6f5fd7d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 15:11:55 2012 +0200 MAINTAINERS: add hw/pci/ to list of PCI files Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 29002d9e104913998265cfff95bb49f4b4a966e2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Dec 12 13:07:29 2012 +0200 pci: prepare makefiles for pci code reorganization To make it easier to move code around without breaking build at intermedite steps, tweak makefiles to look in pci/ and hw/ for include files, automatically. This will be reverted at the end of the reorganization. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit c84a2b1aa5ccdddad03d25f58be5c94eba0d9db4 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Dec 10 22:52:11 2012 +0200 get_maintainer.pl: update from linix 3.8 Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 89e6d68ef3c45b2c4e3199c3397b5525b752698d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Mon Nov 12 09:13:04 2012 +0200 tap: reset vnet header size on open For tap, we currently assume the vnet header size is 10 (the default value) but that might not be the case if tap is persistent and has been used by qemu previously. To fix, set vnet header size correctly on open. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 6f918e40e6b7f4e3dcf89c3e3f1001e965a683a1 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Mon Oct 29 22:11:31 2012 -0400 Fixup q35/ich9 Licenses Cleanup the q35/ich9 license headers. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> commit 45e6cee42b98d10e2e14885ab656541a9ffd5187 Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Dec 4 11:38:39 2012 +1100 migration: Fix madvise breakage if host and guest have different page sizes madvise(DONTNEED) will throw away the contents of the whole page at the given address, even if the given length is less than the page size. One can argue about whether that's the correct behaviour, but that's what it's done for a long time in Linux at least. That means that the madvise() in ram_load(), on a setup where TARGET_PAGE_SIZE is smaller than the host page size, can throw away data in guest pages adjacent to the one it's actually processing right now, leading to guest memory corruption on an incoming migration. This patch therefore, disables the madvise() if the host page size is larger than TARGET_PAGE_SIZE. This means we don't get the benefits of that madvise() in this case, but a more complete fix is more difficult to accomplish. This at least fixes the guest memory corruption. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7ec81e56edc2b2007ce0ae3982aa5c18af9546ab Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Dec 4 11:38:38 2012 +1100 Fix off-by-1 error in RAM migration code The code for migrating (or savevm-ing) memory pages starts off by creating a dirty bitmap and filling it with 1s. Except, actually, because bit addresses are 0-based it fills every bit except bit 0 with 1s and puts an extra 1 beyond the end of the bitmap, potentially corrupting unrelated memory. Oops. This patch fixes it. Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 91d4093dce58e343e2336324794daa93517b86c2 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:33:00 2012 +0100 qemu-iotests: Test concurrent cluster allocations This adds some first tests for qcow2's dependency handling when two parallel write requests access the same cluster. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 67a7a0ebe5ef0f337d5f7e7e618b08c562a55da0 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:59 2012 +0100 qcow2: Move BLKDBG_EVENT out of the lock We want to use these events to suspend requests for testing concurrent AIO requests. Suspending requests while they are holding the CoMutex is rather boring for this purpose. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 41c695c749b84d40e53e64faadedc0392aaea07e Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:58 2012 +0100 qemu-io: Add AIO debugging commands This makes the blkdebug suspend/resume functionality available in qemu-io. Use it like this: $ ./qemu-io blkdebug::/tmp/test.qcow2 qemu-io> break write_aio req_a qemu-io> aio_write 0 4k qemu-io> blkdebug: Suspended request 'req_a' qemu-io> resume req_a blkdebug: Resuming request 'req_a' qemu-io> wrote 4096/4096 bytes at offset 0 4 KiB, 1 ops; 0:00:30.71 (133.359788 bytes/sec and 0.0326 ops/sec) Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3c90c65d7adab49a41952ee14e1d65f81355e408 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:57 2012 +0100 blkdebug: Implement suspend/resume of AIO requests This allows more systematic AIO testing. The patch adds three new operations to blkdebug: * Setting a "breakpoint" on a blkdebug event. The next request that triggers this breakpoint is suspended and is tagged with a name. The breakpoint is removed after a request has triggered it. * A suspended request (identified by it's tag) can be resumed * It's possible to check whether a suspended request with a given tag exists. This can be used for waiting for an event. Ideally, we would instead tag requests right when they are created and set breakpoints for individual requests. However, at this point the block layer doesn't allow this easily, and breakpoints that trigger for any request already allow a lot of useful testing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9e35542b0fc3871caac15ccd57548b99df2c94b7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:56 2012 +0100 blkdebug: Factor out remove_rule() The cleanup work to remove a rule depends on the type of the rule. It's easy for the existing rules as there is no data that must be cleaned up and is specific to a type yet, but the next patch will change this. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 312a2ba0eb8ab19646517aeaa785475d3fbcfd51 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Thu Dec 6 14:32:55 2012 +0100 blkdebug: Allow usage without config file As soon as new rules can be set during runtime, as introduced by the next patch, blkdebug makes sense even without a config file. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit b83c18e225cf82a21535561270b6dfd86b1c9031 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:23 2012 +0800 create new function: qemu_opt_set_number Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit e478b448d7c36046462733ffaeaea0961575790a Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:22 2012 +0800 use qemu_opts_create_nofail We will use qemu_opts_create_nofail function, it can make code more readable. Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit dd39244978627e41a66b98d20eceddb1d7d25def Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:21 2012 +0800 introduce qemu_opts_create_nofail function While id is NULL, qemu_opts_create can not fail, so ignore errors is fine. Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ad718d01ba0af531d10b0a8685cf5047edfd1891 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:20 2012 +0800 qemu-option: qemu_opt_set_bool(): fix code duplication It will set opt->str in qemu_opt_set_bool, without opt->str, there will be some potential bugs. These are uses of opt->str, and what happens when it isn't set: * qemu_opt_get(): returns NULL, which means "not set". Bug can bite when value isn't the default value. * qemu_opt_parse(): passes NULL to parse_option_bool(), which treats it like "on". Wrong if the value is actually false. Bug can bite when qemu_opts_validate() runs after qemu_opt_set_bool(). * qemu_opt_del(): passes NULL to g_free(), which is just fine. * qemu_opt_foreach(): passes NULL to the callback, which is unlikely to be prepared for it. * qemu_opts_print(): prints NULL, which crashes on some systems. * qemu_opts_to_qdict(): passes NULL to qstring_from_str(), which crashes. It also makes qemu_opt_set_bool more readable by using find_desc_by_name and opts_accepts_any. It is based on Luiz's patch and uses Markus's comments. Discussions can be found at: http://lists.nongnu.org/archive/html/qemu-devel/2012-07/msg02716.html Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit db97ceba1e17db59188e91b66e61bf84a6a71081 Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:19 2012 +0800 qemu-option: qemu_opts_validate(): fix duplicated code Use opts_accepts_any() and find_desc_by_name(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c474ced8fe6684265fbb6a3183eb0cbea561409f Author: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Date: Thu Dec 6 14:47:18 2012 +0800 qemu-option: opt_set(): split it up into more functions The new functions are opts_accepts_any() and find_desc_by_name(), which are also going to be used by qemu_opts_validate() (see next commit). This also makes opt_set() slightly more readable. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Dong Xu Wang <wdongxu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 97331270e50f5858c82a0c6d146da81f5b776535 Author: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Date: Mon Dec 3 12:55:57 2012 +0000 exynos4210/mct: Avoid infinite loop on non incremental timers Check for a 0 "distance" value to avoid infinite loop when the expired FCR timer was not programed with auto-increment. With this change the behavior is coherent with the same type of code in the exynos4210_gfrc_restart() function in the same file. Linux seems to mostly use this timer with auto-increment which explain why it is not a problem most of the time. However other OS might have a problem with this if they don't use the auto-increment feature. Signed-off-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx> Reviewed-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit f47b48fb678581d6ee369cfe26b3513100b7d53e Author: Daniel Sangorrin <dsl@xxxxxxx> Date: Tue Dec 11 11:30:38 2012 +0000 hw/arm_gic: fix target CPUs affected by set enable/pending ops Fix a bug on the ARM GIC model where interrupts are not set pending on the correct target CPUs when they are triggered by writes to the Interrupt Set Enable or Set Pending registers. Signed-off-by: Daniel Sangorrin <dsl@xxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit 79f5d67e9db35d53b478699393590392f7be03ac Author: walimis <walimisdev@xxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 xilinx_zynq: Add one variable to avoid overwriting QSPI bus commit 7b482bcf xilinx_zynq: added QSPI controller Adds one QSPI controller, which has two spi buses, one is for spi0, and another is for spi1. But when initializing the spi1 bus, "dev" has been overwrited by the ssi_create_slave_no_init() function, so that qdev_get_child_bus() returns NULL and the last two m25p80 flashes won't be attached to the spi1 bus, but to main-system-bus. Here we add one variable to avoid overwriting. Signed-off-by: Liming Wang <walimisdev@xxxxxxxxx> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> commit ee3f095680e4f578f4f1371a90acc20375b48966 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 hw/arm_gic_common: Correct GICC_PMR reset value for newer GICs The GIC architecture specification for v1 and v2 GICs (as found on the Cortex-A9 and newer) states that the GICC_PMR reset value is zero; this differs from the 0xf0 reset value used on 11MPCore. The NVIC is different again in not having a CPU interface; since we share the GIC code we must force the priority mask field to allow through all interrupts. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> commit cad065f18e1ca7694385f42f560da637d4e651b6 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 hw/arm_gic: Fix comparison with priority mask register The GIC spec states that only interrupts with higher priority than the value in the GICC_PMR priority mask register are passed through to the processor. We were incorrectly allowing through interrupts with a priority equal to the specified value: correct the comparison operation to match the spec. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> commit bf471f7950e9dc9416747b2774eb712f63afe5a7 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Tue Dec 11 11:30:37 2012 +0000 hw/arm_boot, exynos4210, highbank: Fix secondary boot GIC init Fix the code in the secondary CPU boot stubs so that it correctly initialises the GIC rather than relying on bugs or implementation dependent aspects of the QEMU GIC implementation: * set the GIC_PMR.Priority field to all-ones, so that all interrupts are passed through. The default of all-zeroes means all interrupts are masked, and QEMU only booted because of a bug in the priority masking in our GIC implementation. * add a barrier after GIC setup and before WFI to ensure that GIC config is complete before we go into a possible low power state. This isn't needed with the software GIC model but could be required when using KVM and executing this code on the real hardware CPU. Note that of the three secondary stub implementations, only the common generic one needs to support both v6 and v7 DSB encodings; highbank and exynos4210 will always be v7 CPUs. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Reviewed-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> commit fbcad04d6bfdff937536eb23088a01a280a1a3af Author: Fabien Chouteau <chouteau@xxxxxxxxxxx> Date: Mon Dec 10 12:56:22 2012 +0100 Fix error code checking for SetFilePointer() call An error has occurred if the return value is invalid_set_file_pointer and getlasterror doesn't return no_error. Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx> Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 473c7f0255920bcaf37411990a3725898772817f Author: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Date: Fri Nov 30 09:55:46 2012 +0100 rbd: Fix race between aio completition and aio cancel This one fixes a race which qemu had also in iscsi block driver between cancellation and io completition. qemu_rbd_aio_cancel was not synchronously waiting for the end of the command. To archieve this it introduces a new status flag which uses -EINPROGRESS. Signed-off-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 791bfa35ee00ca10b13bedfb048ffda385b151c7 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Dec 4 16:35:12 2012 +0100 qemu-io: Implement write -c for compressed clusters This makes it easier to create images with both compressed and uncompressed clusters for testing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 23e956bfe6af6f71046772478ed08d4e5c9c62d4 Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 14 17:53:16 2012 -0500 tests: Add tests for fdsets Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d92ada2202a0730e396304908ff7b870168387d2 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:09 2012 -0200 block: bdrv_img_create(): drop unused error handling code Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit cf8f2426c55245f437a91f2fdabbed4ea24e7786 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:08 2012 -0200 qmp: qmp_drive_mirror(): pass Error object to bdrv_img_create() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 43e17041156ddecac8a7500648e71287ba270c0a Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:07 2012 -0200 qmp: qmp_transaction(): pass Error object to bdrv_img_create() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit a930091189cedcc0023dd38f705e2a46e530f4a4 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:06 2012 -0200 qemu-img: img_create(): drop unneeded goto and ret variable Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9b37525a7dbc4f5eef0023fc92716259a3d94612 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:05 2012 -0200 qemu-img: img_create(): pass Error object to bdrv_img_create() Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 71c79813d83b5b45ba934cf995436063da458f66 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Nov 30 10:52:04 2012 -0200 block: bdrv_img_create(): add Error ** argument This commit adds an Error ** argument to bdrv_img_create() and set it appropriately on error. Callers of bdrv_img_create() pass NULL for the new argument and still rely on bdrv_img_create()'s return value. Next commits will change callers to use the Error object instead. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 3c42ea66888f149d72d600bab63624b2d849e4bf Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Nov 22 21:02:55 2012 +0100 block: simplify default_drive Markus Armbruster pointed out that there is only one caller to default_drive with IF_DEFAULT as a type. Lets get rid of the block_default_type parameter and adopt the caller to do the right thing (asking the machine struct). Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 2d0d2837dcf786da415cf4165d37f4ddd684ff57 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Nov 20 15:30:34 2012 +0100 Support default block interfaces per QEMUMachine There are QEMUMachines that have neither IF_IDE nor IF_SCSI as a default/standard interface to their block devices / drives. Therefore, this patch introduces a new field default_block_type per QEMUMachine struct. The prior use_scsi field becomes thereby obsolete and is replaced through .default_block_type = IF_SCSI. This patch also changes the default for s390x to IF_VIRTIO and removes an early hack that converts IF_IDE drives. Other parties have already claimed interest (e.g. IF_SD for exynos) To create a sane default, for machines that dont specify a default_block_type, this patch makes IF_IDE = 0 and IF_NONE = 1. I checked all users of IF_NONE (blockdev.c and ww/device-hotplug.c) as well as IF_IDE and it seems that it is ok to change the defines - in other words, I found no obvious (to me) assumption in the code regarding IF_NONE==0. IF_NONE is only set if there is an explicit if=none. Without if=* the interface becomes IF_DEFAULT. I would suggest to have some additional care, e.g. by letting this patch sit some days in the block tree. Based on an initial patch from Einar Lueck <elelueck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> CC: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> CC: Markus Armbruster <armbru@xxxxxxxxxx> CC: Kevin Wolf <kwolf@xxxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Acked-by: Igor Mitsyanko <i.mitsyanko@xxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c208e8c2d88eea2bbafc2850d8856525637e495d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Nov 2 16:14:20 2012 +0100 raw-posix: inline paio_ioctl into hdev_aio_ioctl clang now warns about an unused function: CC block/raw-posix.o block/raw-posix.c:707:26: warning: unused function paio_ioctl [-Wunused-function] static BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd, ^ 1 warning generated. because the only use of paio_ioctl() is inside a #if defined(__linux__) guard and it is static now. Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 258d2edbcd4bb5d267c96163333820332e1c14fa Author: Charles Arnold <carnold@xxxxxxxx> Date: Tue Oct 30 20:59:32 2012 -0600 block: vpc support for ~2 TB disks The VHD specification allows for up to a 2 TB disk size. The current implementation in qemu emulates EIDE and ATA-2 hardware which only allows for up to 127 GB. This disk size limitation can be overridden by allowing up to 255 heads instead of the normal 4 bit limitation of 16. Doing so allows disk images to be created of up to nearly 2 TB. This change does not violate the VHD format specification nor does it change how smaller disks (ie, <=127GB) are defined. [Charles Arnold also writes: "In analyzing a 160 GB VHD fixed disk image created on Windows 2008 R2, it appears that MS is also ignoring the CHS values in the footer geometry field in whatever driver they use for accessing the image. The CHS values are set at 65535,16,255 which obviously doesn't represent an image size of 160 GB." -- Stefan] Signed-off-by: Charles Arnold <carnold@xxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 1fe1fa510aa3d4eb1fb4246d4951ef48e4c949c2 Author: Charles Arnold <carnold@xxxxxxxx> Date: Fri Nov 2 09:54:24 2012 -0600 block: vpc initialize the uuid footer field Initialize the uuid field in the footer with a generated uuid. Signed-off-by: Charles Arnold <carnold@xxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d567e62f98d5789ff4d273b924a0474931c71e8b Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 15 13:12:14 2012 +1100 virtio-blk: Remove duplicate property definition For the virtio-blk device (via virtio-pci) the property "config-wce" is defined in two places. First, it's defined from the DEFINE_VIRTIO_BLK_FEATURES macro, second it's defined directly in virtio-pci, just two lines above the call to that macro. The direct definition in virtio-pci.c is broken, since it operates on the 'config_wce' field of VirtIOBlkConf, which is never used anywhere else. Therefore, this patch removes both the extra property definition and the redundant field it works on. Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: Anthony Liguori <aliguori@xxxxxxxxxx> Cc: Paul 'Rusty' Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit f500a6d3c2b9ef0bb06d0080d91d8ed3c1d68f58 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Nov 12 17:35:27 2012 +0100 block: Avoid second open for format probing This fixes problems that are caused by the additional open/close cycle of the existing format probing, for example related to qemu-nbd without -t option or file descriptor passing. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 7b272452398135e4f8e48341239705d03c82dae3 Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Mon Nov 12 17:05:39 2012 +0100 block: Factor out bdrv_open_flags Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit c57b6656c3168bccca7f78b3f740e9149893b3da Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Nov 13 16:35:13 2012 +0100 aio: Get rid of qemu_aio_flush() There are no remaining users, and new users should probably be using bdrv_drain_all() in the first place. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit d318aea9325c99b15c87a7c14865386c2fde0d2c Author: Kevin Wolf <kwolf@xxxxxxxxxx> Date: Tue Nov 13 16:35:08 2012 +0100 block: Improve bdrv_aio_co_cancel_em Instead of waiting for all requests to complete, wait just for the specific request that should be cancelled. Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 8a805c222caa0e20bf11d2267f726d0bb5917d94 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Dec 4 16:12:19 2012 +0100 tests: avoid qemu_aio_flush() in test-thread-pool.c We need to eliminate calls to qemu_aio_flush() since the function is being removed. Most callers will use bdrv_drain_all() instead but test-thread-pool.c is lower level. Since the test uses the global AioContext we can loop on qemu_aio_wait() to wait for aio and bh activity to complete. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit 9fe3781f09f94f3ce76e52899bcdeb0d5164dbb1 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Dec 4 16:12:18 2012 +0100 tests: use aio_poll() instead of aio_flush() in test-aio.c There has been confusion between various aio wait and flush functions. It's time to get rid of qemu_aio_flush() but in the aio test cases we really do want this low-level functionality. Therefore declare a local wait_for_aio() helper for the test cases. Drop the aio_flush() test case. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx> commit ff1562908d1da12362aa9e3f3bfc7ba0da8114a4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 11 08:24:30 2012 +0100 seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059 This patch updates seabios to latest git master. Changes: (1) q35 patches merged. (2) some acpi cleanups. (3) fixes irq 8 conflict. (3) makes this a candidate for the stable branch Cc: qemu-stable@xxxxxxxxxx Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit d281084d3e51f03999d12a506491a0c6f31b40e8 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Dec 10 11:30:03 2012 -0700 vfio-pci: Don't use kvm_irqchip_in_kernel kvm_irqchip_in_kernel() has an architecture specific meaning, so we shouldn't be using it to determine whether to enabled KVM INTx bypass. kvm_irqfds_enabled() seems most appropriate. Also use this to protect our other call to kvm_check_extension() as that explodes when KVM isn't enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: qemu-stable@xxxxxxxxxx commit 1c97e303d4ea80a2691334b0febe87a50660f99d Merge: 7c12fd9... b34d12d... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:35:15 2012 -0600 Merge remote-tracking branch 'afaerber/qom-cpu' into staging * afaerber/qom-cpu: target-i386: Postpone cpuid_level update to realize time target-i386: Use define for cpuid vendor string size target-i386: Separate feature string parsing from CPU model lookup target-i386/cpu.c: Coding style fixes qdev: qdev_create(): use error_report() instead of hw_error() sysemu.h: Include qemu-types.h instead of qemu-common.h Create qemu-types.h for struct typedefs qlist.h: Do not include qemu-common.h qga/channel-posix.c: Include headers it needs qapi/qmp-registry.c: Include headers it needs ui/vnc-palette.c: Include headers it needs user: Rename qemu-types.h to qemu-user-types.h user: Move *-user/qemu-types.h to main directory Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 7c12fd9b29c6ca2119396f143d84706f2fba6222 Merge: 8385b17... 654598c... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:34:29 2012 -0600 Merge remote-tracking branch 'stefanha/trivial-patches' into staging * stefanha/trivial-patches: pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path qemu-options: Fix space at EOL Fix spelling in comments and documentation Clean up pci_drive_hot_add()'s use of BlockInterfaceType arm: a9mpcore: remove un-used ptimer_iomem field target-sparc: Remove t0, t1 from CPUSPARCState target-m68k: Remove t1 from CPUM68KState target-alpha: Remove t0, t1 from CPUAlphaState s390x: Spelling fixes (endianess -> endianness, occured -> occurred) Fix comments (adress -> address, layed -> laid, wierd -> weird) Fix spelling (prefered -> preferred) configure: Remove stray debug output sd: Send debug printfery to stderr not stdout Conflicts: configure Resolve spelling conflict in configure. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 8385b173a0ca4c2345434104e6cc2a7259adc4b9 Merge: 16ef55c... 3e43749... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:33:11 2012 -0600 Merge remote-tracking branch 'kraxel/acpi.1' into staging * kraxel/acpi.1: acpi: drop debug port q35: update lpc pci config space according to configured devices apci: switch piix4 pci hotplug to memory api acpi: remove acpi_gpe_blk apci: switch piix4 gpe to memory api acpi: fix piix4 smbus mapping acpi: switch smbus to memory api acpi: cleanup ich9 memory region apci: switch ich9 smi to memory api apci: switch ich9 gpe to memory api acpi: cleanup vt82c686 memory region acpi: cleanup piix4 memory region apci: switch evt to memory api apci: switch cnt to memory api apci: switch timer to memory api apci: switch vt82c686 to memory api apci: switch ich9 to memory api apci: switch piix4 to memory api Conflicts: hw/lpc_ich9.c Resolved merge conflict due to apm_init adding an argument. Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 16ef55ca85ac8c8fcac46547108bd1c8b44943a2 Merge: c62adbe... 9fd2ecd... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:32:15 2012 -0600 Merge remote-tracking branch 'aneesh/for-upstream' into staging * aneesh/for-upstream: virtfs-proxy-helper: use setresuid and setresgid Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit c62adbee15deae473aa02a37193ddd6b054b0c9f Merge: e49d021... 427e3aa... Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 10 08:31:19 2012 -0600 Merge remote-tracking branch 'kraxel/usb.74' into staging * kraxel/usb.74: usb-tablet: Allow connecting to ehci ehci: Lower timer freq when the periodic schedule is idle usb: Allow overriding of usb_desc at the device level usb: Don't allow USB_RET_ASYNC for interrupt packets usb: Call wakeup when data becomes available for all devices with int eps add pc-1.4 Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit e49d021e574c3ee8e443bcc84d1fb7dfb4c87c42 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Dec 7 15:39:13 2012 +0000 configure: Default to 'cc', not 'gcc' Default to 'cc' as our compiler, rather than 'gcc'. We used to have to insist on gcc when we still kept the CPU env in a fixed global register, but this is no longer necessary and we will now compile OK on clang as well as gcc. Using 'cc' should generally result in us using the most standard and maintained system compiler for the platform. (For instance on newer MacOS X 'gcc' exists but is an elderly compiler provided mostly for legacy reasons, and 'cc' (which is clang) is definitely the better choice.) On Linux there will generally be no user-visible change since cc will be gcc. This changeover necessitates a slight reworking of how we set the 'cc' variable, because GNU cross toolchains generally provide a '${cross_prefix}gcc' but not a '${cross_prefix}cc'. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 24c35a504e8b09e697d0268bbefb2a329b901611 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Fri Oct 12 03:55:51 2012 +0000 linux-user: Merge pread/pwrite into pread64/pwrite64 The Linux syscalls underlying pread() and pwrite() take a 64 bit offset on all architectures, even if some of them name the syscall "pread/pwrite" rather than "pread64/pwrite64" for historical reasons. So move the four QEMU target architectures (arm, i386, sparc, unicore32) which were defining TARGET_NR_pread/pwrite to define TARGET_NR_pread64/pwrite64 instead, and drop the TARGET_NR_pread/pwrite implementation code completely. (Based on examination of the kernel sources for the four architectures this patch affects.) Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit f877d09e63bd94424dab049da75bc1cd601a7609 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:27 2012 +0400 target-xtensa: use movcond where possible Use movcond for all sorts of conditional moves, ABS, CLAMPS, MIN/MAX opcodes. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 5dacd229ebb46c236cb1dd0c65a4e4f2cfb55dfb Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:26 2012 +0400 target-xtensa: add s32c1i unit tests Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit efdfac94f48f8589a0d60b650c7bed989a341eaa Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:25 2012 +0400 target-xtensa: add SR accessibility unit tests Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b7909d81f7658f64bba0faed83e7c2fd6a52fcba Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:24 2012 +0400 target-xtensa: implement MISC SR The Miscellaneous Special Registers Option provides zero to four scratch registers within the processor readable and writable by RSR, WSR, and XSR. These registers are privileged. They may be useful for some application-specific exception and interrupt processing tasks in the kernel. The MISC registers are undefined after reset. See ISA, 4.7.3 for details. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 53593e90d13264dc88b3281ddf75ceaa641df05a Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:23 2012 +0400 target-xtensa: better control rsr/wsr/xsr access to SRs There are read-only (DEBUGCAUSE, PRID) and write-only (INTCLEAR) SRs, and INTERRUPT/INTSET SR allows rsr/wsr, but not xsr. Raise illeagal opcode exception on illegal access to these SRs. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fe0bd475aa31e60674f7f53b85dc293108026202 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:22 2012 +0400 target-xtensa: restrict available SRs by enabled options Beginning with the RA-2004.1 release, SR access instructions (rsr, wsr, xsr) are associated with their corresponding SR and raise illegal opcode exception in case the register is not configured for the core. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4e41d2f5830a76d3fe92b3d3b18cc9f2ee927770 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:21 2012 +0400 target-xtensa: implement CACHEATTR SR In XEA1, the Options for Memory Protection and Translation and the corresponding TLB management instructions are not available. Instead, functionality similar to the Region Protection Option is available through the cache attribute register. See ISA, A.2.14 for details. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit fcc803d119a4c01a9b0ee5bda35fda1eeabffa33 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Dec 5 07:15:20 2012 +0400 target-xtensa: implement ATOMCTL SR ATOMCTL SR controls s32c1i opcode behavior depending on targeted memory type. See ISA, 4.3.12.4 for details. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 536b558f5896ebbd635b57fa393e82faaa32ad52 Merge: 511c68d... 19e6c50... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Dec 8 17:50:57 2012 +0000 Merge branch 'master' of git.qemu-project.org:/pub/git/qemu * 'master' of git.qemu-project.org:/pub/git/qemu: target-mips: Fix incorrect shift for SHILO and SHILOV target-mips: Fix incorrect code and test for INSV xilinx_uartlite: Accept input after rx FIFO pop xilinx_uartlite: suppress "cannot receive message" xilinx_axienet: Implement R_IS behaviour commit 511c68d3af626cb0a39034cb77e7ac64d3a26c0c Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 16:32:58 2012 -0200 finally kill cpudef config section support The external CPU models were removed on QEMU 1.2, and the support for the "cpudef" config sections was documented as deprecated, but the actual removal of the config section was pending. Now that QEMU 1.3 was released, we can finally kill the support for cpudef config sections, and support only the built-in CPU models from target-i386/cpu.c. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 4cdd2e665ec4bd10c20c26432ee9ffe4db7bcc1c Merge: 4753631... 5822993... Author: Blue Swirl <blauwirbel@xxxxxxxxx> Date: Sat Dec 8 14:28:13 2012 +0000 Merge branch 'memory-ioport' of git://github.com/afaerber/qemu-cpu * 'memory-ioport' of git://github.com/afaerber/qemu-cpu: hw/dma.c: Replace register_ioport_* hw/pc.c: Replace register_ioport_* serial: Replace register_ioport_* hw/cirrus_vga.c: Replace register_ioport_* hw/apm.c: Replace register_ioport_* isa: Add isa_address_space_io() commit 475363176c80feedb8feb5e335ba64de68c7b055 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Wed Oct 31 09:30:47 2012 +0000 HACKING: List areas where we may rely on impdef C behaviour Add a section to HACKING saying which version of the C spec we use and describing the bits of implementation defined C compiler behaviour which C code in QEMU is allowed to rely on. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 288fa40736e6eb63132d01aa6dc21ee831b796ae Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Nov 27 13:19:40 2012 +0100 pixman: require 0.18.4 or newer When older versions are found the internal pixman version is prefered. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 94788f54e9deeaa2c82891a7d216fdd6e0e58749 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:07 2012 +0400 TCG: Remove unused global gen_opc_ arrays. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit ab1103def476d985c08362df97ff9cb9c112adfc Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:06 2012 +0400 TCG: Use gen_opc_instr_start from context instead of global variable. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c9c99c22d5f8e9cfa83260fbe236a57e7383d673 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:05 2012 +0400 TCG: Use gen_opc_icount from context instead of global variable. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 25983cad31969e3003eef77bc03a6700f46899d2 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:04 2012 +0400 TCG: Use gen_opc_pc from context instead of global variable. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit c3a43607d927e6a0ecce0b61e8297c1cfe604c14 Author: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Date: Wed Nov 21 11:43:03 2012 +0400 tcg/tcg.h: Duplicate global TCG gen_opc_ arrays into TCGContext. Signed-off-by: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 2aa1cb514cdce31ca68902d464cd03d31a76e998 Author: Brad Smith <brad@xxxxxxxxxxxx> Date: Mon Nov 19 04:22:12 2012 -0500 curses: Remove OpenBSD workaround I removed the same sort of workaround for OpenBSD within the configure script with commit 4dcc3f5876fa638d5c35bd47be3b717ea74cc2e7 but didn't bother to grep further to come across this same chunk of code in the curses code itself. So the following diff removes the same workaround chunk within the curses code. Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit 0be4835b4932f38167b611c2b311ebaaec98a8eb Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 09:20:46 2012 +1100 exec: Advise huge pages for the TCG code gen buffer After allocating 32MB or more contiguous memory, huge pages would seem to be ideal. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Blue Swirl <blauwirbel@xxxxxxxxx> commit b34d12d153e6e5c5e5e00eac510b054a94409deb Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Oct 22 17:03:00 2012 +0200 target-i386: Postpone cpuid_level update to realize time Delay capping cpuid_level to 7 to realize time so property setters for cpuid_7_0_ebx_features and "level" could be used in any order/time between x86_cpu_initfn() and x86_cpu_realize(). Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 654598c944aa31cdbea435bd468055af9c918d16 Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Fri Nov 23 19:12:18 2012 +0100 pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path Harmless, because we the error inevitably leads to another, fatal one in pc_system_flash_init(): PC system firmware (pflash) not available. Fix it anyway. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 3528a3cba1f59de520fad7b1c843759e8655ea2c Author: Michal Privoznik <mprivozn@xxxxxxxxxx> Date: Fri Nov 23 09:52:39 2012 +0100 qemu-options: Fix space at EOL There's no need to add a space at the end of line. Moreover, it can make problems in some projects that store the help output into a file (and run couple of tests based on that) and have space at EOL forbidden. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 993d46ce7e54f3d035d344ed1b145b13f9ac54b9 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 23 07:26:04 2012 +0100 Fix spelling in comments and documentation These spelling bugs were found by codespell: supressing -> suppressing transfered -> transferred Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 4dbd84e26f53d3283baa463f390f9623e8913e8f Author: Markus Armbruster <armbru@xxxxxxxxxx> Date: Thu Nov 22 15:16:36 2012 +0100 Clean up pci_drive_hot_add()'s use of BlockInterfaceType pci_drive_hot_add() parameter type has the wrong type: int instead of BlockInterfaceType. It's actually redundant, so we can just drop it. Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 036f0f8356936dba36b952c16f477b3f04f54e37 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Mon Nov 19 15:13:49 2012 +1000 arm: a9mpcore: remove un-used ptimer_iomem field I'm guessing this is a hangover from a previous coreification of the mptimer sub-module. This field is completely unused - removed. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit dee17bf9e5d29bd08592c6fc47541aad70444bbc Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 08:36:37 2012 +1100 target-sparc: Remove t0, t1 from CPUSPARCState These fields are no longer used. Cc: Blue Swirl <blauwirbel@xxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit d694516440ca31bbcc7ad73f5e99b45fbeb2a6e6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 08:36:36 2012 +1100 target-m68k: Remove t1 from CPUM68KState This field is no longer used. Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx> Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit c47d08ceff8ac76ff857016c80a8864fcf45a7d6 Author: Richard Henderson <rth@xxxxxxxxxxx> Date: Fri Nov 2 08:36:35 2012 +1100 target-alpha: Remove t0, t1 from CPUAlphaState These fields are no longer (or were never?) used. Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 8367a14fd3c1ecd5551c91cd3f951ffc61ad7c12 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 2 08:35:54 2012 +0100 s390x: Spelling fixes (endianess -> endianness, occured -> occurred) Replace also "write into" by "write to". Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit a93cf9dfba171aa94e3c4002d58abef2a3732bfb Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 2 08:29:53 2012 +0100 Fix comments (adress -> address, layed -> laid, wierd -> weird) Remove also a duplicated 'the'. Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit eac29d87c883fcbb54913ae20ed2bdccb4bcf7a3 Author: Stefan Weil <sw@xxxxxxxxxxx> Date: Fri Nov 2 08:14:12 2012 +0100 Fix spelling (prefered -> preferred) Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit bb5b5c20b7f68c79e036cd3ec5e9e6362c112670 Author: Peter Maydell <peter.maydell@xxxxxxxxxx> Date: Sat Oct 20 20:37:04 2012 +0100 configure: Remove stray debug output Rather than printing a message saying we're silently falling back to gthread coroutines when running on MacOS, actually do it silently. Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 038d3d44598232f5aad40d1c84c215f38a21576c Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Thu Nov 15 16:32:53 2012 +1000 sd: Send debug printfery to stderr not stdout Some debug printfs for SD are coming up in stdout. Redirected them to stderr instead. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> commit 9df694eeb8447ae5a302b4d40df9a8b91dfc61da Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Mon Oct 22 17:03:10 2012 +0200 target-i386: Use define for cpuid vendor string size Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 8f961357d06a0beeb7d3efbde1d754d82ff6a300 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 17:34:39 2012 -0200 target-i386: Separate feature string parsing from CPU model lookup Instead of parsing the whole cpu_model string inside cpu_x86_find_by_name(), first split it into the CPU model name and the full feature string, then parse the feature string into pieces. When using CPU model classes, those two pieces of information will be used at different moments (CPU model name will be used to find CPU class, feature string will be used after CPU object was created), so making the split in two steps will make it easier to refactor the code later. This should also help on the CPU properties work, that will just need to replace the cpu_x86_parse_featurestr() logic (and can keep the CPU model lookup code as-is). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 9f3fb5657b2133a408ccf40b4ab57dec9b4ce771 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 17:34:38 2012 -0200 target-i386/cpu.c: Coding style fixes - Use spaces instead of tabs on cpu_x86_cpuid(). - Use braces on 'if' statement cpu_x86_find_by_name(). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 23e3fbec3355e67dbf26e98bbe33ef354097df8e Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Dec 4 11:19:34 2012 -0200 qdev: qdev_create(): use error_report() instead of hw_error() hw_error() is specific for fatal hardware emulation errors, not for internal errors related to the qdev object/class abstraction or object initialization. Replace it with an error_report() call, followed by abort(). This will also help reduce dependencies of the qdev code (as hw_error() is from cpus.o, and depends on the CPU list from exec.o). Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit bcf7930105c26d09ae83cbd8b982d01bb421f215 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:44:08 2012 -0200 sysemu.h: Include qemu-types.h instead of qemu-common.h It just needs the Monitor and DeviceState typedefs, so it doesn't need all of qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 394e1bb79591c2fbfc873e5ccc38e92a3ba992cf Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:41:52 2012 -0200 Create qemu-types.h for struct typedefs Instead of keeping all those struct typedefs in qemu-common.h, move it to a header that can be safely included by other headers, containing only the struct typedefs and not pulling in other dependencies. Also, move some of the qdev-core.h typedefs to the new file, too, so other headers don't need to include qdev-core.h only because of DeviceState and other typedefs. This will help us remove qemu-common.h dependencies from some headers later. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit cad32159663c5910098e10d64f4b5b10648b0095 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:55:19 2012 -0200 qlist.h: Do not include qemu-common.h I don't know why it was including it, as I don't see any code that depends on anything from qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 4d4922c339abf67e47c79068d343ed41a020b8e2 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:37:20 2012 -0200 qga/channel-posix.c: Include headers it needs Include: - <errno.h> for errno - <unistd.h> & <fcntl.h> for fcntl() - <stdlib.h> for exit() - "osdep.h" for qemu_open() Some of those headers were probably being included by accident because some other headers were including qemu-common.h, but those headers should eventually stop including qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ccff63cac4f0d391187c9ee9aa2cab754df80c41 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:35:44 2012 -0200 qapi/qmp-registry.c: Include headers it needs Include: - <glib.h> for g_malloc0() - <string.h> for strcmp() Some of those headers were probably being included by accident because some other headers were including qemu-common.h, but those headers should eventually stop including qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 90f0cfa410544727ac4e9c130f9e5032e1fb9b71 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 21:19:18 2012 -0200 ui/vnc-palette.c: Include headers it needs Include: - <glib.h> for g_malloc0() - <string.h> for memset() Some of those headers were probably being included by accident because some other headers were including qemu-common.h, but those headers should eventually stop including qemu-common.h. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ee9baa00f2623f1f627913f62d60f2888286319a Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 22:54:34 2012 -0200 user: Rename qemu-types.h to qemu-user-types.h The header file is specific for *-user, but I plan to introduce a more generic qemu-types.h file, so I'm renaming it. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 89e0e9c71e608f3679f30e88d988903536c6f7f3 Author: Eduardo Habkost <ehabkost@xxxxxxxxxx> Date: Tue Oct 23 20:42:56 2012 -0200 user: Move *-user/qemu-types.h to main directory The bsd-user/qemu-types.h and linux-user/qemu-types.h files are almost the same, but linux-user has the additional definitions of tswapal(). This moves the linux-user file to the main directory, so the same file can be used by linux-user and bsd-user. Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 19e6c50d2d843220efbdd3b2db21d83c122c364a Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Wed Dec 5 00:29:10 2012 +0100 target-mips: Fix incorrect shift for SHILO and SHILOV helper_shilo has not been shifting an accumulator value correctly for negative values in 'shift' field. Minor optimization for shift=0 case. This change also adds tests that will trigger issue and check for regressions. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 34f5606ee101f82a247d09d05644ad2a63c8e342 Author: Petar Jovanovic <petarj@xxxxxxxx> Date: Mon Nov 26 16:13:21 2012 +0100 target-mips: Fix incorrect code and test for INSV Content of register rs should be shifted for pos before applying a mask. This change contains both fix for the instruction and to the existing test. Signed-off-by: Petar Jovanovic <petarj@xxxxxxxx> Reviewed-by: Eric Johnson <ericj@xxxxxxxx> Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> commit 9fd2ecdc8cb2dc1a8a7c57b6c9c60bc9947b6a73 Author: Paolo Bonzini <pbonini@xxxxxxxxxx> Date: Thu Oct 11 14:20:23 2012 +0200 virtfs-proxy-helper: use setresuid and setresgid The setfsuid and setfsgid system calls are obscure and they complicate the error checking (that glibc's warn_unused_result "feature" forces us to do). Switch to the standard setresuid and setresgid functions. Signed-off-by: Paolo Bonzini <pbonini@xxxxxxxxxx Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 80625b97b52836b944a6438e8e3e9d992e6a00b6 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Dec 5 16:53:44 2012 +1000 xilinx_uartlite: Accept input after rx FIFO pop The device return false from the can receive function when the FIFO is full. This mean the device should check for buffered input whenever a byte is popped from the FIFO. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 859cc10d23e619153670fc58683373fa24d25b68 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Dec 5 16:53:43 2012 +1000 xilinx_uartlite: suppress "cannot receive message" This message is not an error condition, its just informing the user that the device is corking the uart traffic to not drop characters. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit d4d230da08918183929c7d6cb54824b391536904 Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Date: Wed Dec 5 16:53:42 2012 +1000 xilinx_axienet: Implement R_IS behaviour The interrupt status register R_IS is the standard clear-on-write behaviour. This was unimplemented and defaulting to updating the register to the written value. Implemented clear-on-write. Reported-by: Jason Wu <huanyu@xxxxxxxxxx> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> commit 582299336879504353e60c7937fbc70fea93f3da Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:09 2012 +0100 hw/dma.c: Replace register_ioport_* Replace all register_ioport_*() with the new Memory API functions. This permits to use the new Memory stuff like listeners. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 258711c6448c44b60b0fecef1d3b09c71e23e304 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:08 2012 +0100 hw/pc.c: Replace register_ioport_* Replace all register_ioport_*() with portio_*() or a MemoryRegion. This permits to use the new Memory stuff like listeners. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 568fd159e4ca82d213706acd2cf4c94f27537096 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:07 2012 +0100 serial: Replace register_ioport_* Replace all register_ioport_*() with a MemoryRegion. This permits to use the new Memory stuff like listeners. For more flexibility, the IO address space is passed as an argument. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto serial split] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit c75e6d8e354c44e76045cb0de20cda1a4ce4d575 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:06 2012 +0100 hw/cirrus_vga.c: Replace register_ioport_* Replace all register_ioport_*() with the new Memory API. This permits to use the new Memory stuff like listeners. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 42d8a3cf960659069bd2b2d9c443dafd7585607f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:03 2012 +0100 hw/apm.c: Replace register_ioport_* Replace all register_ioport_*() with a MemoryRegion. This permits to use the new Memory stuff like listeners. Moreover, the PCI device is added as an argument for apm_init(), so we can register IO inside the PCI IO address space. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> [AF: Rebased onto hwaddr and q35] Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit ac10027327e27c9b360452e01af3ef2147f5a26f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 19 12:50:02 2012 +0100 isa: Add isa_address_space_io() This function permits to retrieve ISA IO address space. It will be usefull when we need to pass IO address space as argument. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Avi Kivity <avi@xxxxxxxxxx> Signed-off-by: Andreas Färber <afaerber@xxxxxxx> commit 427e3aa151c749225364d0c30640e2e3c1756d9d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:18 2012 +0100 usb-tablet: Allow connecting to ehci Our ehci code has is capable of significantly lowering the wakeup rate for the hcd emulation while the device is idle. It is possible to add similar code ot the uhci emulation, but that simply is not there atm, and there is no reason why a (virtual) usb-tablet can not be a USB-2 device. Making usb-hid devices connect to the emulated ehci controller instead of the emulated uhci controller on vms which have both lowers the cpuload for a fully idle vm from 20% to 2-3% (on my laptop). An alternative implementation to using a property to select the tablet type, would be simply making it a new device type, ie usb-tablet2, but the downside of that is that this will require libvirt changes to be available through libvirt at all, and then management tools changes to become the default for new vms, where as using a property will automatically get any pc-1.3 type vms the lower cpuload. [ kraxel: adapt compat property for post-1.3 merge ] Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> tablet compat fixup Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8082624099bce56a3139e6b9f72016c00fd10227 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:17 2012 +0100 ehci: Lower timer freq when the periodic schedule is idle Lower the timer freq if no iso schedule packets complete for 64 frames in a row. We can safely do this, without adding latency, because: 1) If there is isoc traffic this will never trigger 2) For async handled interrupt packets (only usb-host), the completion handler will immediately schedule the frame_timer from a bh 3) All devices using NAK to signal no data for interrupt endpoints now use wakeup, which will immediately schedule the frame_timer from a bh The advantage of this is that when we only have interrupt packets in the periodic schedule, async_stepdown can do its work and significantly lower the frequency at which the frame_timer runs. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 386ab487ebc25d780ddfc4a9aea0b21c4a9aaa94 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:16 2012 +0100 usb: Allow overriding of usb_desc at the device level This allows devices to present a different set of descriptors based on device properties. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit be41efde3ca0372dbf7543e09ff473b4eec25057 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:15 2012 +0100 usb: Don't allow USB_RET_ASYNC for interrupt packets It is tempting to use USB_RET_ASYNC for interrupt packets, rather then the current NAK + polling approach, but this causes issues for migration, as an async completed packet will not getting written back to guest memory until the next poll time, and if a migration happens in between it will get lost! Make an exception for host devices, because: 1) host-linux actually uses async completion for interrupt endpoints 2) host devices don't migrate anyways Ideally we would convert host-linux.c to handle (input) interrupt endpoints in a buffered manner like it does for isoc endpoints, keeping multiple urbs submitted to ensure the devices timing requirements are met, as well as making its interrupt ep handling the same as other usb-devices. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 8beba9304391189666df1b62b23a5101b3831317 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Nov 17 12:47:14 2012 +0100 usb: Call wakeup when data becomes available for all devices with int eps This is necessary for proper interaction with the xhci controller, and it will allow other hcds to lower there frame timer while waiting for interrupt data. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f1ae2e3883c4ee3a9f91f484690abe42f5063d64 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Dec 4 14:39:16 2012 +0100 add pc-1.4 Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3e43749882c558875f70ac5deda39cdc9797e245 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Nov 27 08:24:42 2012 +0100 acpi: drop debug port I'm pretty sure this isn't needed any more. I think this predates the switch to seabios, and the seabios DSDT table has a DBUG() aml macro which writes stuff to the seabios debug port (0x402). Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 3f5bc9e8af8c9ee617b143e42ad4bd2feb379a19 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 15:02:18 2012 +0100 q35: update lpc pci config space according to configured devices Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c177684c753a0b1337acebb7dbc6f3f3a9700321 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 16:03:19 2012 +0100 apci: switch piix4 pci hotplug to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit c84649ca66a32aadba20a8202062b02247270ee5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 15:37:05 2012 +0100 acpi: remove acpi_gpe_blk With gpe being switched to memory api this is no longer needed. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b65b93f24cb84923d2d7d43cf87d40bc88b6bdcd Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 15:35:13 2012 +0100 apci: switch piix4 gpe to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 24fe083de67e0f736c54da4abda05f23ec37c51d Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 14:58:04 2012 +0100 acpi: fix piix4 smbus mapping Make write to the smbus base register and enable bit actually work. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 798512e5522685163c8d5fc5093aea19ae9cce06 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 14:57:01 2012 +0100 acpi: switch smbus to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 4a522de0905c88160b6f93eb5d35883382a0c333 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 14:01:20 2012 +0100 acpi: cleanup ich9 memory region Nothing left to do, everything handled by subregions, we can zap the reaw/write handlers now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 10cc69b0de8e1756e6fbda4592c9d0ba3bce58fc Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:51:35 2012 +0100 apci: switch ich9 smi to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 76a7daf97458c55b8d8e6d4eadc5c46b16c705ce Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:43:17 2012 +0100 apci: switch ich9 gpe to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a0f95659da77c8818ebd146bb1546ad152d0833e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 09:00:25 2012 +0100 acpi: cleanup vt82c686 memory region Nothing left to do, everything handled by subregions, we can zap the reaw/write handlers now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ca5d64b4b4fbb01e403f89ec9b399aaa69104b1e Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:27:04 2012 +0100 acpi: cleanup piix4 memory region Nothing left to do, everything handled by subregions, we can zap the reaw/write handlers now. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit b5a7c024d2606e84e0bbe4a0e87d252dfda41479 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:25:10 2012 +0100 apci: switch evt to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 13:17:57 2012 +0100 apci: switch cnt to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 77d58b1e47c8d1c661f98f12b47ab519d3561488 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 12:12:30 2012 +0100 apci: switch timer to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit a29028214c1d5d3571b27e6745f14534e6d8a662 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri Nov 23 08:29:27 2012 +0100 apci: switch vt82c686 to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit cacaab8bdd74608361a488aac600d609dafd53e5 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 12:08:22 2012 +0100 apci: switch ich9 to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit af11110bb83166473064389faa27e8c6703b2008 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Thu Nov 22 11:34:44 2012 +0100 apci: switch piix4 to memory api Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 16c6c80ac3a772b42a87b77dfdf0fdac7c607b0e Author: Anthony Liguori <aliguori@xxxxxxxxxx> Date: Mon Dec 3 14:08:40 2012 -0600 Open up 1.4 development branch Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx> commit 52a71bff6085398fbb8602718af228cd6339c02d Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat Apr 14 22:48:36 2012 +0200 prep: Use pc87312 device instead of collection of random ISA devices We can't however replace the built-in IDE controller, as the one in pc87312 is only single-channel and can use only IRQ 14. Therefore the pc87312's IDE function gets disabled via the config property. PReP emulation also gains a parallel port emulation this way. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: Use TYPE_PC87312 constant, add to ppc64-softmmu and to MAINTAINERS] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit 1ae41f447d1467172b0f8290ca1b83726ea9942a Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx> Date: Sat Apr 14 22:48:35 2012 +0200 prep: Add pc87312 Super I/O emulation This provides floppy and IDE controllers as well as serial and parallel ports. However, dynamic configuration of devices is not yet supported. Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx> [AF: QOM'ify, split out header, create CharDriverState if absent] Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> commit acbb090b2400f627a801074c4e3e006c7501bb26 Author: Andreas Färber <andreas.faerber@xxxxxx> Date: Wed Aug 15 14:15:41 2012 +0200 prep: Include devices for ppc64 as well Allows running qemu-system-ppc64 -M prep for consistency. Reported-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx> Acked-by: Hervé Poussineau <hpoussineau@xxxxxxxxxxx> dot: height (35813 >= 32768) is too large. ---------------------------------------- 20847: tolerable ALL FAIL flight 20847 qemu-upstream-unstable real-bisect [real] http://www.chiark.greenend.org.uk/~xensrcts/logs/20847/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail baseline untested jobs: test-amd64-i386-qemuu-rhel6hvm-intel fail ------------------------------------------------------------ sg-report-flight on woking.cam.xci-test.com logs: /home/xc_osstest/logs images: /home/xc_osstest/images Logs, config files, etc. are available at http://www.chiark.greenend.org.uk/~xensrcts/logs Test harness code can be found at http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |