[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: P |