summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-06-26Update VERSION for 1.5.1 releasev1.5.1Anthony Liguori1-1/+1
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-06-18wdt_i6300esb: fix vmstate versioningMichael Roth1-3/+16
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@bytemark.co.uk> Suggested-by: Peter Maydell <peter.maydell@linaro.org> Cc: qemu-stable@nongnu.org Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit c1990468d5a13c8f1d9111fcca0a78a6adad062b) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18virtio-rng: Fix crash with non-default backendCole Robinson3-3/+3
'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@nongnu.org Signed-off-by: Cole Robinson <crobinso@redhat.com> Acked-by: Amit Shah <amit.shah@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Michael Roth <mdroth@linux.vnet.ibm.com> Message-id: bf4505014a0a941dbd3c62068f3cf2c496b69e6a.1370023944.git.crobinso@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 5b456438f5bb395ed6b1eec95e18ce7a7a884a0a) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18iscsi: reorganize iscsi_readcapacity_syncPaolo Bonzini1-48/+46
Avoid the goto, and use the same retry logic for the 10- and 16- byte versions. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 1288844e7c4ede59509bf697a4cca0f2215a1ce3) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18iscsi: simplify freeing of tasksPaolo Bonzini1-25/+10
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@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit f0d2a4d4d63dd2f0f3ecb2d591b979b0e7f24a22) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18vhost-scsi: fix k->set_guest_notifiers() NULL dereferenceStefan Hajnoczi1-1/+1
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@linux-iscsi.org> Cc: Asias He <asias@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 0e22a2d18998fd183c8181663981eb681ca977e9) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18scsi-disk: scsi-block device for scsi pass-through should not be removablePavel Hrdina1-3/+11
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@nongnu.org Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 18e673b8f350e1d789b8a50d209eb4a4252ebbda) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18scsi-generic: check the return value of bdrv_aio_ioctl in execute_commandPavel Hrdina1-0/+3
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@nongnu.org Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit d836f8d35dc418e24c3b11e2ea67d361b867b650) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18scsi-generic: fix sign extension of READ CAPACITY(10) dataPaolo Bonzini1-2/+3
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@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 53254e569f8e07501f3e0098bd57d2b780e52faa) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18scsi: reset cdrom tray statuses on scsi_disk_resetPavel Hrdina1-0/+3
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@nongnu.org Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 7721c7f7c272fd2ed9d58500b7e99c33ab8a1af1) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18nbd: strip braces from literal IPv6 address in URIJán Tomko1-1/+10
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@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 23307908790cd8fad91220863d7712c571ddc977) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-18qemu-socket: allow hostnames starting with a digitJán Tomko1-9/+4
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@redhat.com> Cc: qemu-stable@nongnu.org [Use strspn, not strcspn. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 391b7b9701ba3318e890ec0cba97a3c654bfa667) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17vmdk: byteswap VMDK4Header.desc_offset fieldStefan Hajnoczi1-2/+5
Remember to byteswap VMDK4Header.desc_offset on big-endian machines. Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 5a394b9e96eb3c39676353bdf8a230180ae8d6f4) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17target-i386: cpu: Fix potential buffer overrun in get_register_name_32()Igor Mammedov1-1/+1
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@redhat.com> Reviewed-by: liguang <lig.fnst@cn.fujitsu.com> Reviewed by: Jesse Larrew <jlarrew@linux.vnet.ibm.com> Signed-off-by: Andreas Färber <afaerber@suse.de> (cherry picked from commit 31ccdde298d98b08526dc23059071c9086dec6c2) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17pc: Fix crash when attempting to hotplug CPU with negative IDIgor Mammedov1-0/+5
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@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de> (cherry picked from commit 8de433cb0820dc1f387a2d580d255744aacd60cc) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17smbios: Check R in -smbios type=0, release=R parses okayMarkus Armbruster1-1/+4
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@redhat.com> Message-id: 1370610036-10577-7-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 6e5c4540d18d1e9a5253104df161a7e0d408ca95) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17smbios: Fix -smbios type=0, release=... for big endian hostsMarkus Armbruster1-2/+2
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@redhat.com> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@redhat.com> Message-id: 1370610036-10577-6-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 527cd96f15348f4454d5bb71f69aaeb95461c90e) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17smbios: Clean up smbios_add_field() parametersMarkus Armbruster3-14/+16
Having size precede the associated pointer is odd. Swap them, and fix up the types. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@redhat.com> Message-id: 1370610036-10577-5-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit ebc85e3f724d17530e74df665d1a30fb9b0041b5) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17smbios: Convert to error_report()Markus Armbruster2-13/+12
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@redhat.com> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@redhat.com> Message-id: 1370610036-10577-4-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 5bb95e41868b461f37159efb48908828ebd7ab36) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17log.h: Supply missing includesMarkus Armbruster1-0/+3
<stdio.h> has always been missing. Rest missed in commit eeacee4. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@redhat.com> Message-id: 1370610036-10577-3-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit f3eededb2fbc73c73daf08f791f0407b8541f4f4) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17error-report.h: Supply missing includeMarkus Armbruster1-0/+1
Missed in commit e5924d8. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Laszlo "ever the optimist" Ersek <lersek@redhat.com> Message-id: 1370610036-10577-2-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit b293796fd71009ecffe4343713a4e4e568c33fb0) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17tcg-ppc64: rotr_i32 rotates wrong amountAnton Blanchard1-1/+1
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@nongnu.org Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Richard Henderson <rth@twiddle.net> (cherry picked from commit d1bdd3af49f227dd4a4b03b90cb020c55cbed440) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17tcg-ppc64: Fix add2_i64Anton Blanchard1-7/+7
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@nongnu.org Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Richard Henderson <rth@twiddle.net> (cherry picked from commit 84247357104044b8c4ec4a634e84769f432cbe52) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17tcg-ppc64: bswap64 rotates output 32 bitsAnton Blanchard1-2/+0
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@nongnu.org Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Richard Henderson <rth@twiddle.net> (cherry picked from commit 82e0f9170ac9307de4fc15bfb4d12d5534550322) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17tcg-ppc64: Fix RLDCL opcodeAnton Blanchard1-5/+6
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@nongnu.org Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Richard Henderson <rth@twiddle.net> (cherry picked from commit 8a94cfb05ea9a8991c832236b4174d354025a7b7) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17ivshmem: add missing error exit(2)Stefan Hajnoczi1-0/+1
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@cs.ualberta.ca> Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> (cherry picked from commit baefb8bf8e4a708c601bbab898a6039cd9cd12e3) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17Makefile: Install qemu-img and qemu-nbd man pages only if builtAndreas Färber1-1/+4
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@nongnu.org Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> (cherry picked from commit 8a3e8f7fd8144343f6c83e810b988c1e8a99d50a) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-17tap: fix NULL dereference when passing invalid parameters to tapJason Wang1-6/+12
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@redhat.com> Cc: Stefan Hajnoczi <shajnocz@redhat.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit c87826a878be05208c3906eb9d5e1f37cff5e98e) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-14create qemu_openpty_raw() helper function and move it to a separate fileMichael Tokarev5-95/+146
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@tls.msk.ru> Tested-by: Andreas Färber <andreas.faerber@web.de> (cherry picked from commit 4efeabbbe8441cc327052304976c7b9b86309d72) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-13blockdev: reset werror/rerror on drive_delStefan Hajnoczi2-0/+6
Paolo Bonzini <pbonzini@redhat.com> 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@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 293c51a6ee369228633a8428ab689f14c045ff98) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-12q35: set fw_nameMichael S. Tsirkin1-0/+1
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@nongnu.org Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Amos Kong <akong@redhat.com> (cherry picked from commit 68c0e134a090666246b467deaf9046e573b089f2) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-12target-i386: Fix aflag logic for CODE64 and the 0x67 prefixRichard Henderson1-15/+15
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@redhat.com> Reported-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1369855851-21400-1-git-send-email-rth@twiddle.net Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit dec3fc9657e0682637de4d5a29d947284d01985c) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-12qemu-char: don't issue CHR_EVENT_OPEN in a BHMichael Roth7-24/+26
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@profihost.ag> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Message-id: 1370636393-21044-1-git-send-email-mdroth@linux.vnet.ibm.com Cc: qemu-stable@nongnu.org Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11xilinx_axidma: Do not set DMA .notify to NULL after notifyWendy Liang1-1/+2
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@xilinx.com> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> (cherry picked from commit 4f293bd6e53739e089f33b458f70a9c4ac136b92) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11virtio-ccw: Fix unsetting of indicators.Cornelia Huck1-4/+4
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@nongnu.org Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> (cherry picked from commit d1db1fa8dfcea9c62643f624f2a07d2fd375ce45) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11s390x/css: Fix concurrent sense.Cornelia Huck1-1/+1
Fix an off-by-one error when indicating availablity of concurrent sense data. Cc: qemu-stable@nongnu.org Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> (cherry picked from commit 8312976e73fce9689ab831c1da565ec413680cff) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11ui/gtk.c: Fix *BSD build of Gtk+ UIBrad Smith1-0/+1
Fix the build of the Gtk+ UI on *BSD systems. Signed-off-by: Brad Smith <brad@comstyle.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-id: 20130521161324.GA29977@rox.home.comstyle.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 17bf9735dd5a46d829cfb175703c6a2c254a9aa2) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11vmxnet3: fix NICState cleanupStefan Hajnoczi1-1/+1
Use qemu_del_nic() instead of qemu_del_net_client() to correctly free the entire NICState. Cc: qemu-stable@nongnu.org Reported-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit 3ffee3cd5fb29de2115bdcbde0a02f47ce69a24c) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11Fix usage of USB_DEV_FLAG_IS_HOST flag.Michael Marineau1-1/+1
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@marineau.org> Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit 756335292f2b46775992c314cc70b54480a46d26) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11host-libusb: Correct test for USB packet stateEd Maste1-1/+1
USB_RET_ASYNC is -6, so inflight was always false. Signed-off-by: Ed Maste <emaste@freebsd.org> Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit 45ec267160307ce2ca7494d942589ba222b29479) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11qdev: fix get_fw_dev_path to support to add nothing to fw_dev_pathAmos Kong2-1/+15
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@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-id: 1369814202-10346-1-git-send-email-akong@redhat.com -- 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@us.ibm.com> (cherry picked from commit bbfa18fca4e44ff9c23d36b50d8a998af9c9e9fc) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11do not check pointers after dereferencing themPaolo Bonzini2-5/+5
Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-stable@nongnu.org Cc: qemu-trivial@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> (cherry picked from commit a4cc73d629d43c8a4d171d043ff229a959df3ca6) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)Stefano Stabellini3-9/+12
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@eu.citrix.com> CC: qemu-stable@nongnu.org (cherry picked from commit 9f24a8030a70ea4954b5b8c48f606012f086f65f) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11Remove OSS support for OpenBSDBrad Smith2-7/+2
Remove the OSS support for OpenBSD. The OSS API has not been usable for quite some time. Signed-off-by: Brad Smith <brad@comstyle.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com> (cherry picked from commit 4f6ab397b60615d2da77bff4f32666be9ac2e949) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addressesLuiz Capitulino1-4/+6
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@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit fbc2ed9518efcdcdcbf0adb9539c17a65addd20a) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11update seabios to release 1.7.2.2Gerd Hoffmann2-0/+0
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@redhat.com> (cherry picked from commit 6683d7bc2759e9da8b5c4907a9de85d500933ffb) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11Revert "roms: switch oldnoconfig to olddefconfig"Gerd Hoffmann1-1/+1
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@redhat.com> (cherry picked from commit 19cd090e17b293b49eec59346df94a668f5d2438) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11ide: Set BSY bit during FLUSHAndreas Färber1-0/+1
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@huawei.com> Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> (cherry picked from commit f68ec8379e88502b4841a110c070e9b118d3151c) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11chardev: fix "info chardev" outputGerd Hoffmann1-0/+3
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@redhat.com> (cherry picked from commit 60d95386abf1f5f37ded6a812d12ac458df2491b) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-06-11xen_machine_pv: do not create a dummy CPU in machine->initStefano Stabellini1-16/+0
This fixes a regression introduced by: commit 62fc403f11523169eb4264de31279745f48e3ecc Author: Igor Mammedov <imammedo@redhat.com> 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@eu.citrix.com> Reviewed-by: Andreas Färber <afaerber@suse.de> CC: imammedo@redhat.com CC: qemu-stable@nongnu.org (cherry picked from commit 58ee9b0ae05d81c74d6869a25ce4263fc22ed809) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>