aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-09Add -f FMT / --format FMT arg to qemu-nbdDaniel P. Berrange
Currently the qemu-nbd program will auto-detect the format of any disk it is given. This behaviour is known to be insecure. For example, if qemu-nbd initially exposes a 'raw' file to an unprivileged app, and that app runs 'qemu-img create -f qcow2 -o backing_file=/etc/shadow /dev/nbd0' then the next time the app is started, the qemu-nbd will now detect it as a 'qcow2' file and expose /etc/shadow to the unprivileged app. The only way to avoid this is to explicitly tell qemu-nbd what disk format to use on the command line, completely disabling auto-detection. This patch adds a '-f' / '--format' arg for this purpose, mirroring what is already available via qemu-img and qemu commands. qemu-nbd --format raw -p 9000 evil.img will now always use raw, regardless of what format 'evil.img' looks like it contains Signed-off-by: Daniel P. Berrange <berrange@redhat.com> [Use errx, not err. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> *fixed conflict due to bdrv_open() not supporting "options" param in v1.4.1 Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-09target-mips: Fix accumulator selection for MIPS16 and microMIPSRichard Sandiford
Add accumulator arguments to gen_HILO and gen_muldiv, rather than extracting the accumulator directly from ctx->opcode. The extraction was only right for the standard encoding: MIPS16 doesn't have access to the DSP registers, while microMIPS encodes the accumulator register in a different field (bits 14 and 15). Passing the accumulator register is probably an over-generalisation for division and 64-bit multiplication, which never access anything other than HI and LO, and which always pass 0 as the new argument. Separating them felt a bit fussy though. Signed-off-by: Richard Sandiford <rdsandiford@googlemail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 26135ead80fa1fd13e95c162dacfd06f2ba82981) Conflicts: target-mips/translate.c Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-06Allow clock_gettime() monotonic clock to be utilized on more OS'sBrad Smith
Allow the clock_gettime() code using monotonic clock to be utilized on more POSIX compliannt OS's. This started as a fix for OpenBSD which was listed in one function as part of the previous hard coded list of OS's for the functions to support but not in the other. Signed-off-by: Brad Smith <brad@comstyle.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 20130405003748.GH884@rox.home.comstyle.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit d05ef160453e98546a4197496dc8a3cb2defac53) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-05target-i386: Check for host features before filter_features_for_kvm()Eduardo Habkost
commit 5ec01c2e96910e1588d1a0de8609b9dda7618c7f broke "-cpu ..,enforce", as it has moved kvm_check_features_against_host() after the filter_features_for_kvm() call. filter_features_for_kvm() removes all features not supported by the host, so this effectively made kvm_check_features_against_host() impossible to fail. This patch changes the call so we check for host feature support before filtering the feature bits. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-id: 1364935692-24004-1-git-send-email-ehabkost@redhat.com Cc: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit a509d632c877f7b5fa07368879b8ae5919a6d345) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-05help: add docs for missing 'queues' option of tapJason Wang
Cc: Markus Armbruster <armbru@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Jason Wang <jasowang@redhat.com> Message-id: 1361545072-30426-1-git-send-email-jasowang@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit ec3960148f95dd90e94511a6a64838bc3f474bcc) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04compiler: fix warning with GCC 4.8.0Paolo Bonzini
GCC 4.8.0 introduces a new warning: block/qcow2-snapshot.c: In function 'qcow2_write_snapshots’: block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253' locally defined but not used [-Werror=unused-local-typedefs] QEMU_BUILD_BUG_ON(offsetof(QCowHeader, snapshots_offset) != ^ cc1: all warnings being treated as errors (Caret diagnostics aren't perfect yet with macros... :)) Work around it with __attribute__((unused)). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1364391272-1128-1-git-send-email-pbonzini@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 99835e00849369bab726a4dc4ceed1f6f9ed967c) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04block: complete all IOs before resizing a devicePeter Lieven
this patch ensures that all pending IOs are completed before a device is resized. this is especially important if a device is shrinked as it the bdrv_check_request() result is invalidated. Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 92b7a08d64e5e3129fa885f9d180e5bddcb76b42) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04Revert "block: complete all IOs before .bdrv_truncate"Peter Lieven
brdv_truncate() is also called from readv/writev commands on self- growing file based storage. this will result in requests waiting for theirselves to complete. This reverts commit 9a665b2b8640e464f0a778216fc2dca8d02acf33. Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 5c916681ae2383f0425bb8a3680ade9d055f5dfe) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04qxl: better vga init in enter_vga_modeGerd Hoffmann
Ask the vga core to update the display. Will trigger dpy_gfx_resize if needed. More complete than just calling dpy_gfx_resize. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit c099e7aa0295678859d58e9e60b7619f6ae3bac8) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04doc: Fix texinfo @table markup in qemu-options.hxMarkus Armbruster
End tables before headings, start new ones afterwards. Fixes incorrect indentation of headings "File system options" and "Virtual File system pass-through options" in manual page and qemu-doc. Normalize markup some to increase chances it survives future edits. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1360781383-28635-5-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit c70a01e449536c616c85ab820c6fbad7d7e9cf39) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04acpi: initialize s4_val used in s4 shutdownBruce Rogers
While investigating why a 32 bit Windows 2003 guest wasn't able to successfully perform a shutdown /h, it was discovered that commit afafe4bbe0cf7d3318e1ac7b40925561f86a6bd4 inadvertently dropped the initialization of the s4_val used to handle s4 shutdown. Initialize the value as before. Signed-off-by: Bruce Rogers <brogers@suse.com> Message-id: 1364928100-487-1-git-send-email-brogers@suse.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 560e63965232e37d1916a447125cf91c18a96930) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04target-mips: fix rndrashift_short_acc and code for EXTR_ instructionsPetar Jovanovic
Fix for rndrashift_short_acc to set correct value to higher 64 bits. This change also corrects conditions when bit 23 of the DSPControl register is set. The existing test files have been extended with several examples that trigger the issues. One bug/example in the test file for EXTR_RS_W has been found and reported by Klaus Peichl. Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 8b758d0568a986d58c254b3c209691c82e0f82a1) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04target-mips: fix DSP overflow macro and affected routinesPetar Jovanovic
The previous implementation incorrectly used same macro to detect overflow for addition and subtraction. This patch makes distinction between these two, and creates separate macros. The affected routines are changed accordingly. This change also includes additions to the existing tests for SUBQ_S_PH and SUBQ_S_W that would trigger the fixed issue, and it removes dead code from the test file. The last test case in subq_s_w.c is a bug found/reported/ isolated by Klaus Peichl from Dolby. Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 20c334a797bf46a4ee59a6e42be6d5e7c3cda585) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04target-mips: fix for sign-issue in MULQ_W helperPetar Jovanovic
Correct sign-propagation before multiplication in MULQ_W helper. The change also fixes previously incorrect expected values in the tests for MULQ_RS.W and MULQ_S.W. Signed-off-by: Petar Jovanovic <petarj@mips.com> Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit a345481baa2b2fb3d54f8c9ddb58dfcaf75786df) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04target-mips: fix for incorrect multiplication with MULQ_S.PHPetar Jovanovic
The change corrects sign-related issue with MULQ_S.PH. It also includes extension to the already existing test which will trigger the issue. Signed-off-by: Petar Jovanovic <petarj@mips.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 9c19eb1e205b29018f6f61c5f43db6abbe7dc0e5) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04usb-tablet: Don't claim wakeup capability for USB-2 versionHans de Goede
Our ehci code does not implement wakeup support, so claiming support for it with usb-tablet in USB-2 mode causes all tablet events to get lost. http://bugzilla.redhat.com/show_bug.cgi?id=929068 Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit aa1c9e971e80d25b92908dce3dec7c38b49480ea) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptorsStefan Hajnoczi
When we receive a file descriptor over a UNIX domain socket the O_NONBLOCK flag is preserved. Clear the O_NONBLOCK flag and rely on QEMU file descriptor users like migration, SPICE, VNC, block layer, and others to set non-blocking only when necessary. This change ensures we don't accidentally expose O_NONBLOCK in the QMP API. QMP clients should not need to get the non-blocking state "correct". A recent real-world example was when libvirt passed a non-blocking TCP socket for migration where we expected a blocking socket. The source QEMU produced a corrupted migration stream since its code did not cope with non-blocking sockets. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit e374f7f816171f9783c1d9d00a041f26379f1ac6) Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04qemu-socket: set passed fd non-blocking in socket_connect()Stefan Hajnoczi
socket_connect() sets non-blocking on TCP or UNIX domain sockets if a callback function is passed. Do the same for file descriptor passing, otherwise we could unexpectedly be using a blocking file descriptor. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 35fb94fa292173a3e1df0768433e06912a2a88e4) Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04net: ensure "socket" backend uses non-blocking fdsStefan Hajnoczi
There are several code paths in net_init_socket() depending on how the socket is created: file descriptor passing, UDP multicast, TCP, or UDP. Some of these support both listen and connect. Not all code paths set the socket to non-blocking. This patch addresses the file descriptor passing and UDP cases which were missing socket_set_nonblock(fd) calls. I considered moving socket_set_nonblock(fd) to a central location but it turns out the code paths are different enough to require non-blocking at different places. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit f05b707279dc7c29ab10d9d13dbf413df6ec22f1) Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-04oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()Stefan Hajnoczi
The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets. Rename to qemu_set_nonblock() just like qemu_set_cloexec(). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 399f1c8f8af1f6f8b18ef4e37169c6301264e467) Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Conflicts: block/sheepdog.c socket_set_block()/socket_set_nonblock() calls in different locations include/qemu/sockets.h socket_set_nodelay() does not exist in v1.4.0, messes up diff context qemu-char.c glib G_IO_IN events are not used in v1.4.0, messes up diff context savevm.c qemu_fopen_socket() only has read mode in v1.4.0, qemu_set_block() not necessary. slirp/misc.c unportable setsockopt() calls in v1.4.0 mess up diff context slirp/tcp_subr.c file was reformatted, diff context is messed up ui/vnc.c old dcl->idle instead of vd->dcl.idle messes up diff context Added: migration-tcp.c, migration-unix.c qemu_fopen_socket() write mode does not exist yet, qemu_set_block() call is needed here. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02update seabios to 1.7.2.1Gerd Hoffmann
Alex Williamson (3): seabios q35: Enable all PIRQn IRQs at startup seabios q35: Add new PCI slot to irq routing function seabios: Add a dummy PCI slot to irq mapping function Avik Sil (1): USB-EHCI: Fix null pointer assignment Kevin O'Connor (4): Update tools/acpi_extract.py to handle iasl 20130117 release. Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". build: Don't require $(OUT) to be a sub-directory of the main directory. Verify CC is valid during build tests. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02linux-user/syscall.c: Don't warn about unimplemented get_robust_listPeter Maydell
The nature of the kernel ABI for the get_robust_list and set_robust_list syscalls means we cannot implement them in QEMU. Make get_robust_list silently return ENOSYS rather than using the default "print message and then fail ENOSYS" code path, in the same way we already do for set_robust_list, and add a comment documenting why we do this. This silences warnings which were being produced for emulating even trivial programs like 'ls' in x86-64-on-x86-64. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org> (cherry picked from commit e9a970a8316f9f86a6c800a9a90175bd593f862c) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02linux-user: make bogus negative iovec lengths fail EINVALPeter Maydell
If the guest passes us a bogus negative length for an iovec, fail EINVAL rather than proceeding blindly forward. This fixes some of the error cases tests for readv and writev in the LTP. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org> (cherry picked from commit dfae8e00f8ddeedcda24bd28f71d4fd2a9f988b8) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02linux-user: fix futex strace of FUTEX_CLOCK_REALTIMEJohn Rigby
Handle same as existing FUTEX_PRIVATE_FLAG. Signed-off-by: John Rigby <john.rigby@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org> (cherry picked from commit bfb669f39f2ecd854992924ced20b00163509043) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futexJohn Rigby
Upstream libc has recently changed to start using FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this is causing do_futex to return -TARGET_ENOSYS. Pass bitset in val3 to sys_futex which will be ignored by kernel for the FUTEX_WAIT case. Signed-off-by: John Rigby <john.rigby@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org> (cherry picked from commit cce246e0a21577bb2372ab3a7d6789371e087de9) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qcow2: flush refcount cache correctly in qcow2_write_snapshots()Stefan Hajnoczi
Since qcow2 metadata is cached we need to flush the caches, not just the underlying file. Use bdrv_flush(bs) instead of bdrv_flush(bs->file). Also add the error return path when bdrv_flush() fails and move the flush after checking for qcow2_alloc_clusters() failure so that the qcow2_alloc_clusters() error return value takes precedence. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit f6977f15561973d4a67b6aa46da88aa678c505dd) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qcow2: flush refcount cache correctly in alloc_refcount_block()Stefan Hajnoczi
update_refcount() affects the refcount cache, it does not write to disk. Therefore bdrv_flush(bs->file) does nothing. We need to flush the refcount cache in order to write out the refcount updates! While we're here also add error returns when qcow2_cache_flush() fails. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 9991923b262dc35f6dd8393ab4853edd7fc3724f) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02page_cache: fix memory leakPeter Lieven
XBZRLE encoded migration introduced a MRU page cache meachnism. Unfortunately, cached items where never freed in case of a collision in the page cache on cache_insert(). This lead to out of memory conditions during XBZRLE migration if the page cache was small and there where a lot of collisions in the cache. Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Juan Quintela <quintela@redhat.com> (cherry picked from commit 32a1c08b60a8ac0e63b54a5793a26b5e32b36618) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02Fix page_cache leak in cache_resizeOrit Wasserman
Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Juan Quintela <quintela@redhat.com> (cherry picked from commit 0db65d624e0211a43c011579d6607a50d8f06082) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02virtio-blk: fix unplug + virsh rebootChristian Borntraeger
virtio-blk registers a vmstate change handler. Unfortunately this handler is not unregistered on unplug, leading to some random crashes if the system is restarted, e.g. via virsh reboot. Lets unregister the vmstate change handler if the device is removed. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 69b302b2044a9a0f6d157d25b39a91ff7124c61f) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02ide/macio: Fix macio DMA initialisation.Mark Cave-Ayland
Commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 accidentally introduced a bug in the initialisation of the second macio DMA device which could cause some DMA operations to segfault QEMU. CC: Andreas Färber <afaerber@suse.de> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 02d583c7232d65920634f7553700eb348f84e472) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02target-ppc: Fix CPU_POWERPC_MPC8547EAndreas Färber
It was defined to ..._MPC8545E_v21 rather than ..._MPC8547E_v21. Due to both resolving to CPU_POWERPC_e500v2_v21 this did not show. Fixing this nontheless helps with QOM'ifying CPU aliases. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit 0136d715ad985fccb8fed4bb5081d5bd20bfe88c) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02pseries: Add cleanup hook for PAPR virtual LAN deviceDavid Gibson
Currently the spapr-vlan device does not supply a cleanup call for its NetClientInfo structure. With current qemu versions, that leads to a SEGV on exit, when net_cleanup() attempts to call the cleanup handlers on all net clients. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit 156dfaded87d718a9ea798083e1c3e5ea7526713) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02configure: Require at least spice-protocol-0.12.3Michal Privoznik
As of 5a49d3e9 we assume SPICE_PORT_EVENT_BREAK to be defined. However, it is defined not in 0.12.2 what we require now, but in 0.12.3. Therefore in order to prevent build failure we must adjust our minimal requirements. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 358689fe299c306f1d81bea57a5067d0abb56699) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qemu-bridge-helper: force usage of a very high MAC address for the bridgePaolo Bonzini
Linux uses the lowest enslaved MAC address as the MAC address of the bridge. Set MAC address to a high value so that it does not affect the MAC address of the bridge. Changing the MAC address of the bridge could cause a few seconds of network downtime. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1363971468-21154-1-git-send-email-pbonzini@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 226ecabfbd410c7b2041385ea4b6f083a09ce8a2) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02virtio-ccw: Queue sanity check for notify hypercall.Cornelia Huck
Verify that the virtio-ccw notify hypercall passed a reasonable value for queue. Cc: qemu-stable@nongnu.org Reported-by: Alexander Graf <agraf@suse.de> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> (cherry picked from commit b57ed9bf075e33cdd2f9eb545ff555301dd57221) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02tcg: Fix occasional TCG broken problem when ldst optimization enabledYeongkyoon Lee
is_tcg_gen_code() checks the upper limit of TCG generated code range wrong, so that TCG could get broken occasionally only when CONFIG_QEMU_LDST_OPTIMIZATION enabled. The reason is code_gen_buffer_max_size does not cover the upper range up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size should be modified to code_gen_buffer_size. CC: qemu-stable@nongnu.org Signed-off-by: Yeongkyoon Lee <yeongkyoon.lee@samsung.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 52ae646d4a3ebdcdcc973492c6a56f2c49b6578f) Conflicts: translate-all.c *modified to use non-tcg-ctx version of code_gen_* variables Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qga/main.c: Don't use g_key_file_get/set_int64Peter Crosthwaite
These functions don't exist until glib version 2.26. QEMU is currently only mandating glib 2.12. This patch replaces the functions with g_key_file_get/set_integer. Unbreaks the build on Ubuntu 10.04 and RHEL 5.6. Regression was introduced by 39097daf15c42243742667607d2cad2c9dc4f764 Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: 1363323879-682-1-git-send-email-peter.crosthwaite@xilinx.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 4f306496183d81aed4b43762cf3bfd6e054de767) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qemu-ga: use key-value store to avoid recycling fd handles after restartMichael Roth
Hosts hold on to handles provided by guest-file-open for periods that can span beyond the life of the qemu-ga process that issued them. Since these are issued starting from 0 on every restart, we run the risk of issuing duplicate handles after restarts/reboots. As a result, users with a stale copy of these handles may end up reading/writing corrupted data due to their existing handles effectively being re-assigned to an unexpected file or offset. We unfortunately do not issue handles as strings, but as integers, so a solution such as using UUIDs can't be implemented without introducing a new interface. As a workaround, we fix this by implementing a persistent key-value store that will be used to track the value of the last handle that was issued across restarts/reboots to avoid issuing duplicates. The store is automatically written to the same directory we currently set via --statedir to track fsfreeze state, and so should be applicable for stable releases where this flag is supported. A follow-up can use this same store for handling fsfreeze state, but that change is cosmetic and left out for now. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Cc: qemu-stable@nongnu.org * fixed guest_file_handle_add() return value from uint64_t to int64_t (cherry picked from commit 39097daf15c42243742667607d2cad2c9dc4f764) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qcow2: make is_allocated return true for zero clustersPaolo Bonzini
Otherwise, live migration of the top layer will miss zero clusters and let the backing file show through. This also matches what is done in qed. QCOW2_CLUSTER_ZERO clusters are invalid in v2 image files. Check this directly in qcow2_get_cluster_offset instead of replicating the test everywhere. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 381b487d54ba18c73df9db8452028a330058c505) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02pseries: Add compatible property to root of device treeDavid Gibson
Currently, for the pseries machine the device tree supplied by qemu to SLOF and from there to the guest does not include a 'compatible property' at the root level. Usually that works fine, since in this case the compatible property doesn't really give any information not already found in the 'device_type' or 'model' properties. However, the lack of 'compatible' confuses the bootloader install in the SLES11 SP2 and SLES11 SP3 installers. This patch therefore adds a token 'compatible' property to work around that. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Cc: qemu-stable@nongnu.org Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit d63919c93e6fb0587632adafba82c21e55ea4396) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02Allow virtio-net features for legacy s390 virtio busChristian Borntraeger
Enable all virtio-net features for the legacy s390 virtio bus. This also fixes kernel BUG at /usr/src/packages/BUILD/kernel-default-3.0.58/linux-3.0/drivers/s390/kvm/kvm_virtio.c:121! Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Cc: qemu-stable@nongnu.org Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit 35569cea79fd3f5ccb5b23ca024c7d3aa4d24e75) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02rtc-test: Fix test failures with recent glibCole Robinson
As of glib 2.35.4, glib changed its logic for ordering test cases: https://bugzilla.gnome.org/show_bug.cgi?id=694487 This was causing failures in rtc-test. Group the reordered test cases into their own suite, which maintains the original ordering. CC: qemu-stable@nongnu.org Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit eeb29fb9aa733f97d85857c210d6580a92a1b532) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02scsi-disk: do not complete canceled UNMAP requestsPaolo Bonzini
Canceled requests should never be completed, and doing that could cause accesses to a NULL hba_private field. Cc: qemu-stable@nongnu.org Reported-by: Stefan Priebe <s.priebe@profihost.ag> Tested-by: Stefan Priebe <s.priebe@profihost.ag> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit d0242eadc5bba4f3abe34bc5d536bbfb81aa9891) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02scsi: do not call scsi_read_data/scsi_write_data for a canceled requestPaolo Bonzini
Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 6f6710aa99ac53b59ff0f14380830cb9ab6bdc14) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02iscsi: look for pkg-config file tooPaolo Bonzini
Due to library conflicts, Fedora will have to put libiscsi in /usr/lib/iscsi. Simplify configuration by using a pkg-config file. The Fedora package will distribute one, and the patch to add it has been sent to upstream libiscsi as well. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 3c33ea9640758bb625e110a77673e5abfd184e54) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02scsi-disk: handle io_canceled uniformly and correctlyPaolo Bonzini
Always check it immediately after calling bdrv_acct_done, and always do a "goto done" in case the "done" label has to free some memory---as is the case for scsi_unmap_complete in the previous patch. This patch could fix problems that happen when a request is split into multiple parts, and one of them is canceled. Then the next part is fired, but the HBA's cancellation callbacks have fired already. Whether this happens or not, depends on how the block/ driver implements AIO cancellation. It it does a simple bdrv_drain_all() or similar, then it will not have a problem. If it only cancels the given AIOCB, this scenario could happen. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 0c92e0e6b64c9061f7365a2712b9055ea35b52f9) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qemu-ga: make guest-sync-delimited available during fsfreezeMichael Roth
We currently maintain a whitelist of commands that are safe during fsfreeze. During fsfreeze, we disable all commands that aren't part of that whitelist. guest-sync-delimited meets the criteria for being whitelisted, and is also required for qemu-ga clients that rely on guest-sync-delimited for re-syncing the channel after a timeout. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Cc: qemu-stable@nongnu.org Reviewed-by: Eric Blake <eblake@redhat.com> (cherry picked from commit c5dcb6ae23a3ed7a01bae1cd75ce02abea31db5e) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02qmp: netdev_add is like -netdev, not -net, fix documentationMarkus Armbruster
Cc: qemu-stable@nongnu.org Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit af347aa5a521555f5342e67993eb717d4f542ba8) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-04-02vga: fix byteswapping.Gerd Hoffmann
In case host and guest endianness differ the vga code first creates a shared surface (using qemu_create_displaysurface_from), then goes patch the surface format to indicate that the bytes must be swapped. The switch to pixman broke that hack as the format patching isn't propagated into the pixman image, so ui code using the pixman image directly (such as vnc) uses the wrong format. Fix that by adding a byteswap parameter to qemu_create_displaysurface_from, so we'll use the correct format when creating the surface (and the pixman image) and don't have to patch the format afterwards. [ v2: unbreak xen build ] Cc: qemu-stable@nongnu.org Cc: mark.cave-ayland@ilande.co.uk Cc: agraf@suse.de Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1361349432-23884-1-git-send-email-kraxel@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit b1424e0381a7f1c9969079eca4458d5f20bf1859) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>